|
灵感来源https://www.right.com.cn/forum/thread-221632-1-1.html
理论上通用所有支持脚本的设备包含且不限于openwrt,ddwrt,tomato,群辉,梅林等,只需修改对应的<transmission/watch>目录
理论上支持所有.torrent(非磁链)下载站
开启transmission后修改下面三项设置
配置文件路径/media/<U盘>/transmission/config/settings.json
- "trash-original-torrent-files": true,
- "watch-dir": "/mnt/transmission/watch",
- watch-dir-enabled": true
复制代码
复制代码保存为rss.sh文件,然后在Crontab里面设置定时
RSS_LINKS项内每行一个订阅链接
已下载的种子记录在/media/<U盘>/rss/downloaded_files.txt内
删除/mnt/transmission/watch内的种子文件不会影响重复下载检测
- #!/bin/sh
- # 下载RSS内容到本地文件
- RSS_FOLDER="/media/AiDisk_a1/rss"
- mkdir -p "$RSS_FOLDER"
- RSS_LINKS="
- https://mikanime.tv/RSS/Search?searchstr=ANI+%E7%BE%8E%E5%A5%BD+%E7%A5%9D%E7%A6%8F+3
- https://mikanime.tv/RSS/Search?searchstr=ANI+%E9%BB%91%E6%89%A7%E4%BA%8B+%E5%AF%84%E5%AE%BF
- # 添加更多的 RSS 链接
- "
- # 下载多个 RSS 文件
- for RSS_LINK in $RSS_LINKS; do
- # 从链接中提取文件名并手动添加 .xml 后缀
- FILENAME=$(basename "$RSS_LINK" | sed 's/?searchstr=/_/') # 替换特殊字符
- wget -q "$RSS_LINK" -O "${RSS_FOLDER}/${FILENAME}.xml"
- done
- # 切换到指定目录
- cd /media/AiDisk_a1/transmission/watch || exit
- # 已下载的.torrent文件记录文件
- DOWNLOADED_FILE="${RSS_FOLDER}/downloaded_files.txt"
- touch "$DOWNLOADED_FILE"
- # 处理每个 RSS 文件
- for RSS_FILE in "$RSS_FOLDER"/*.xml; do
- # 如果没有找到 XML 文件,则跳过
- [ -e "$RSS_FILE" ] || continue
- # 提取.torrent链接并下载对应的文件
- grep -o 'url="[^"]*\.torrent"' "$RSS_FILE" | cut -d'"' -f2 | while read -r TORRENT_URL; do
- # 提取.torrent文件名
- FILENAME=$(basename "$TORRENT_URL" .torrent).torrent
- # 检查是否已下载过该.torrent文件
- if grep -q "${FILENAME%%.torrent}" "$DOWNLOADED_FILE"; then
- echo "已经下载过 $FILENAME,跳过..."
- continue
- fi
- # 下载.torrent文件到指定目录
- wget -q "$TORRENT_URL" -P /media/AiDisk_a1/transmission/watch
- # 记录已下载的.torrent文件
- echo "${FILENAME%%.torrent}" >> "$DOWNLOADED_FILE"
- echo "已下载 $FILENAME"
- done
- done
- # 删除下载的RSS文件
- rm "${RSS_FOLDER}"/*.xml
复制代码
|
|