1.云服务器
我选择的是Ubuntu22。
1.1 安装SSH服务并启用
Ⅰ:打开终端安装所需要的SSH服务
sudo apt update # 更新系统软件包索引
sudo apt install openssh-server # 安装SSH服务
Ⅱ:开启SSH服务以及查看SSH服务
sudo systemctl status ssh # 查看SSH服务是否被启动
sudo systemctl start ssh # 开启SSH服务
sudo systemctl stop ssh # 关闭SSH服务
sudo systemctl restart ssh # 重启SSH服务
安装合理上网软件
参考文章:https://ry.huaji.store/2020/08/Linux-magic-network/
密钥过期需要参考这个:https://daeuniverse.pages.dev/
2.docker搭建服务
ASS搭建参考博客:https://catcat.blog/docker-ani-rss.html
docker命令:https://blog.youkuaiyun.com/Python_0011/article/details/140313812
Docker-compose命令大全及配置文件详解:https://pythondjango.cn/python/tools/3-docker-compose/
docker-compose.yaml
services:
ani-rss:
container_name: ani-rss
volumes:
- /root/docker/ani-rss/config:/config
- /root/docker/ani-rss/downloads:/download # 下载的存储路径 需要和ani-rss保持一致
ports:
- 7789:7789
environment:
- PORT=7789
- CONFIG=/config
- TZ=Asia/Shanghai
restart: always
image: wushuo894/ani-rss
qbittorrent:
image: nevinee/qbittorrent
container_name: qbittorrent-mikan
restart: always
tty: true
network_mode: bridge
hostname: qbitorrent
stop_grace_period: 10m
volumes:
- /root/docker/ani-rss/downloads:/download # 下载的存储路径 需要和ani-rss保持一致
tmpfs:
- /tmp
environment:
- QB_USERNAME=admin
- QB_PASSWORD=admin
- WEBUI_PORT=15768 #qb 的 web 端口
- BT_PORT=34567 # BT端口
- PUID=0
- PGID=0
ports:
- 15768:15768 # qb web 端口映射
- 34567:34567
- 34567:34567/udp
3.遇到的问题
3.1 重启docker,网页端无法访问
需要打开ip转发
参考博客:https://www.freesion.com/article/4855501464/#Docker_1
即使这样开启,有时候网页端某明奇妙突然就挂了,只能再开启一次。
检查转发状态
sysctl net.ipv4.ip_forward
打开并修改
vim /etc/sysctl.conf
使配置生效
sysctl -p
4.自动上传夸克网盘并删除文件
脚本如下
#!/bin/bash
set -euo pipefail
# ====== 可配参数 ======
SRC_DIR="/root/docker/ani-rss/downloads" # 本地待上传目录
DST_FOLDER="/动漫" # 夸克网盘目标文件夹
LOCK_FILE="/tmp/auto_upload_mp4.lock" # 防并发锁文件
RETRY=3 # 上传失败重试次数
STABLE_WAIT=5 # 文件大小检测间隔秒数
# =====================
ts(){ date +"%F %T"; }
# 防并发锁
if [ -e "$LOCK_FILE" ] && kill -0 "$(cat "$LOCK_FILE")" 2>/dev/null; then
echo "$(ts) [INFO] 已有任务在运行,跳过本次执行。"
exit 0
fi
echo $$ > "$LOCK_FILE"
trap 'rm -f "$LOCK_FILE"' EXIT
echo "$(ts) ===== 开始扫描目录: $SRC_DIR ====="
# 扫描所有 mp4 文件
shopt -s nullglob
mp4_files=("$SRC_DIR"/*.mp4)
if [ ${#mp4_files[@]} -eq 0 ]; then
echo "$(ts) [INFO] 未发现待上传的 MP4 文件。"
exit 0
fi
for file in "${mp4_files[@]}"; do
filename="$(basename "$file")"
# 跳过临时下载文件(.part、.tmp)
if [[ "$filename" == *.part || "$filename" == *.tmp ]]; then
echo "$(ts) [SKIP] 跳过临时文件: $filename"
continue
fi
# 检查文件是否稳定(大小不再变化)
size1=$(stat -c%s "$file" 2>/dev/null || echo 0)
sleep "$STABLE_WAIT"
size2=$(stat -c%s "$file" 2>/dev/null || echo 0)
if [ "$size1" -ne "$size2" ]; then
echo "$(ts) [SKIP] 文件仍在写入中,跳过: $filename"
continue
fi
echo "$(ts) [INFO] 开始上传: $filename"
success=false
for ((i=1; i<=RETRY; i++)); do
if quarkpan upload "$file" --folder "$DST_FOLDER"; then
echo "$(ts) [SUCCESS] 上传成功: $filename"
success=true
break
else
echo "$(ts) [WARN] 第 $i 次上传失败,5 秒后重试..."
sleep 5
fi
done
if [ "$success" = true ]; then
echo "$(ts) [CLEANUP] 删除本地文件: $filename"
rm -f "$file"
else
echo "$(ts) [FAIL] 文件上传失败: $filename,保留文件以便下次重试。"
fi
done
echo "$(ts) ===== 本轮任务完成 ====="
再设置个定时任务就可以了
3095

被折叠的 条评论
为什么被折叠?



