GitHub: appotry/PTtool
純 Shell / Python ハードリンクツール。Linux、BSD、macOS、Synology、QNAP など、標準 POSIX シェル対応の OS で動作します。
このプロジェクトは opencode で完全にリファクタリングされ、AI Agent 駆動の開発・テストサイクル(要件→設計→コーディング→Docker テスト→ナレッジベース管理)を実現しています。詳細は AGENTS.md と docs/ を参照してください。
| スクリプト | 用途 |
|---|---|
mklink.sh |
一括ハードリンク:>1MB はハードリンク、<1MB はコピー |
dirlink.sh |
冪等ハードリンク(サブディレクトリ単位、islinked.lk マーカー) |
link.sh |
dirlink.sh のバッチラッパー |
autolink.sh |
qBittorrent ダウンロード完了フック |
rename_episodes.py |
SXXEXX オフセット調整 |
スクリプトの出力言語は環境変数 SCRIPT_LANG で制御します(デフォルトはシステムの LANG に従う):
# 英語出力
SCRIPT_LANG=en_US ./dirlink.sh /src /dst
# 中国語出力(デフォルト)
./dirlink.sh /src /dstPT ユーザーがファイルをハードリンクし、スペースを節約しながらシードを維持するためのツールです。 1MB 未満のファイルは直接コピー(Emby/tmm などが nfo ファイルを書き換えられるようにするため)。 1MB 以上のファイルはハードリンク(リネーム可能だが内容は読み取り専用)。
注意: SRC と DST は同じファイルシステム上にある必要があります(ハードリンクはパーティションを越えられません)。
# 一括リンク
mklink.sh /share/Download/src /share/Download/dst
# 冪等リンク(サブディレクトリ単位)
dirlink.sh /share/Download/src /share/Download/dst
# qBittorrent 完了フック(設定 → ダウンロード → 外部プログラム)
/path/to/autolink.sh "%N" "%D" "%L"git clone https://github.com/appotry/PTtool.git
chmod +x *.shcd tests
make test # フルテストスイート(15 項目)
make test-nas # NAS 互換性テスト(8 項目)データは貴重です。慎重に操作してください。これらのスクリプト(autolink.sh を除く)は mkdir と cp のみを使用し、rm は使用しません。最悪の場合、ファイルシステムを乱雑にする可能性があります。システムディレクトリを宛先に設定しないでください。自己責任で使用してください。