写前废话
最近重新研究了一下离线下载,之前搭建过aria2的离线下载,用起来效果不错,可以实现aria2+rclone自动下载资源并上传到onedrive。最近又看到qbittorrent服务器版的,于是就有了这篇文章,下面将会详细记录踩过的坑和实现自动上传功能并自动删除种子及文件的过程
安装qBittorrent-nox
这里说一句,我下的是ubuntu[arm]版的,直接下的是可执行性程序,qbittorrent-nox4.5.1,点击下载
其他版本可以在下面链接下载对应的
https://github.com/userdocs/qbittorrent-nox-static/releases
可以直接在shell终端对应的目录下输入下列命令下载,也可以下载下来上传到服务器
wget "https://pan.imold.wang/aliyun/software/qbit/4.5.1/aarch64-qbittorrent-nox"
赋予qbit权限
chmod a+x aarch64-qbittorrent-nox
保留qbit后台
这里使用screen程序保持qbit后台活动
安装Screen
安装screen使qbittorrent保留后台
ubuntu输入命令
apt-get install screen
Screen创建会话
创建一个名为qbit的会话
screen -S qbit
创建了会话后回车,在这个会话中进入到下载qbit可执行程序的目录,输入下列命令启动qbittorrent
./aarch64-qbittorrent-nox

退出Screen会话窗口
按组合键:Ctrl+a+d, 即可退出screen窗口, 此时,程序仍在后台执行;
查看Screen会话
screen -ls
进入screen某个会话
输入:screen -r 程序进程ID/或者会话名, 返回程序执行进程;
例如,screen -r qbit
进入会话后可以按ctrl+c+k结束会话和窗口
窗口操作
Ctrl+a+w: 展示当前会话中的所有窗口;
Ctrl+a+c: 创建新窗口;
Ctrl+a+n: 切换至下一个窗口;
Ctrl+a+p: 切换至上一个窗口;
Ctrl+a+num: 切换至编号为num的窗口;
Ctrl+a+k: 杀死当前窗口;
Ctrl+a+k:关闭当前窗口,程序后台活动
删除某个会话
screen -S 进程号或者会话名 -X quit
qbit在后台运行后,就可以使用qbit的web ui了,默认端口8080,记得防火墙打开8080端口
默认地址为【http://你的ip:8080】,打开界面如下

修改语言
改成中文方式:左上角设置——>WEB UI——>Language改成中文简体后滑倒下面保存刷新即可

安装配置Rclone
关于rclone挂载的看我另一篇文章,点击直达
自动上传脚本
制作脚本
新建一个qb_auto.sh脚本,按照下面的修改成自己配置,可以下载我的脚本修改
#!/bin/bash
torrent_name=$1
content_dir=$2
root_dir=$3
save_dir=$4
files_num=$5
torrent_size=$6
file_hash=$7
qb_version="4.5.1" # 改成你的qbit版本
qb_username="admin" # qbit用户名
qb_password="adminadmin" # qbit密码
qb_web_url="http://localhost:8080" # qbit webui地址
leeching_mode="true" # 吸血模式,true下载完成后自动删除本地种子和文件
log_dir="/root/qbauto" # 日志输出目录
rclone_dest="onedrive" # rclone配置的储存名
rclone_parallel="32" # qbit上传线程,默认4
auto_del_flag="rclone" # 添加标签或者分类来标识已上传的种子 v4.0.4+版本添加标签“rclone”,低版本通过添加分类“rclone”标识
# 改上面的那些参数即可
if [ ! -d ${log_dir} ]
then
mkdir -p ${log_dir}
fi
version=$(echo $qb_version | grep -P -o "([0-9]\.){2}[0-9]" | sed s/\\.//g)
function qb_login(){
if [ ${version} -gt 404 ]
then
qb_v="1"
cookie=$(curl -i --header "Referer: ${qb_web_url}" --data "username=${qb_username}&password=${qb_password}" "${qb_web_url}/api/v2/auth/login" | grep -P -o 'SID=\S{32}')
if [ -n ${cookie} ]
then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 登录成功!cookie:${cookie}" >> ${log_dir}/autodel.log
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 登录失败!" >> ${log_dir}/autodel.log
fi
elif [[ ${version} -le 404 && ${version} -ge 320 ]]
then
qb_v="2"
cookie=$(curl -i --header "Referer: ${qb_web_url}" --data "username=${qb_username}&password=${qb_password}" "${qb_web_url}/login" | grep -P -o 'SID=\S{32}')
if [ -n ${cookie} ]
then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 登录成功!cookie:${cookie}" >> ${log_dir}/autodel.log
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 登录失败" >> ${log_dir}/autodel.log
fi
elif [[ ${version} -ge 310 && ${version} -lt 320 ]]
then
qb_v="3"
echo "陈年老版本,请及时升级"
exit
else
qb_v="0"
exit
fi
}
function qb_del(){
if [ ${leeching_mode} == "true" ]
then
if [ ${qb_v} == "1" ]
then
curl -X POST -d "hashes=${file_hash}&deleteFiles=true" "${qb_web_url}/api/v2/torrents/delete" --cookie ${cookie}
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 删除成功!种子名称:${torrent_name}" >> ${log_dir}/qb.log
elif [ ${qb_v} == "2" ]
then
curl -X POST -d "hashes=${file_hash}&deleteFiles=true" "${qb_web_url}/api/v2/torrents/delete" --cookie ${cookie}
else
curl -X POST -d "hashes=${file_hash}&deleteFiles=true" "${qb_web_url}/api/v2/torrents/delete" --cookie ${cookie}
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 删除成功!种子文件:${torrent_name}" >> ${log_dir}/qb.log
echo "qb_v=${qb_v}" >> ${log_dir}/qb.log
fi
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 不自动删除已上传种子" >> ${log_dir}/qb.log
fi
}
function rclone_copy(){
if [ ${type} == "file" ]
then
rclone_copy_cmd=$(rclone -v copy --transfers ${rclone_parallel} --log-file ${log_dir}/qbauto_copy.log "${content_dir}" ${rclone_dest}:/qbit/)
elif [ ${type} == "dir" ]
then
rclone_copy_cmd=$(rclone -v copy --transfers ${rclone_parallel} --log-file ${log_dir}/qbauto_copy.log "${content_dir}"/ ${rclone_dest}:/qbit/"${torrent_name}")
fi
}
function qb_add_auto_del_tags(){
if [ ${qb_v} == "1" ]
then
curl -X POST -d "hashes=${file_hash}&tags=${auto_del_flag}" "${qb_web_url}/api/v2/torrents/addTags" --cookie "${cookie}"
elif [ ${qb_v} == "2" ]
then
curl -X POST -d "hashes=${file_hash}&category=${auto_del_flag}" "${qb_web_url}/command/setCategory" --cookie ${cookie}
else
echo "qb_v=${qb_v}" >> ${log_dir}/qb.log
fi
}
if [ -f "${content_dir}" ]
then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 类型:文件" >> ${log_dir}/qb.log
type="file"
rclone_copy
qb_login
qb_add_auto_del_tags
qb_del
# rm -rf ${content_dir}
elif [ -d "${content_dir}" ]
then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 类型:目录" >> ${log_dir}/qb.log
type="dir"
rclone_copy
qb_login
qb_add_auto_del_tags
qb_del
# rm -rf ${content_dir}
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 未知类型,取消上传" >> ${log_dir}/qb.log
fi
echo "种子名称:${torrent_name}" >> ${log_dir}/qb.log
echo "内容路径:${content_dir}" >> ${log_dir}/qb.log
echo "根目录:${root_dir}" >> ${log_dir}/qb.log
echo "保存路径:${save_dir}" >> ${log_dir}/qb.log
echo "文件数:${files_num}" >> ${log_dir}/qb.log
echo "文件大小:${torrent_size}Bytes" >> ${log_dir}/qb.log
echo "HASH:${file_hash}" >> ${log_dir}/qb.log
echo "Cookie:${cookie}" >> ${log_dir}/qb.log
echo -e "-------------------------------------------------------------\n" >> ${log_dir}/qb.log
默认上传到你挂在储存的/share/qbit目录下,例如我用的onedrive,文件下载完成后会自动下载到onedrive /share/qbit目录下,需要修改路径的修改脚本里的rclone_copy函数的下面两处内容,如下:

将脚本上传到你的服务器/root目录下,其他目录也可以,自己记住
赋予脚本执行权限
给脚本执行权限命令,下面命令中/root换成你脚本放置的位置
chmod a+x /root/qb_auto.sh
可以到脚本目录下执行一次脚本,日志log默认输出目录/root/qbauto
./qb_auto.sh
配置qbit自动上传
来到qbit设置,下载选项,找到torrent完成时运行外部程序,勾选,填入下面的命令,/root/qb_auto.sh是我脚本的地址,改成你自己的,最后保存即可
bash /root/qb_auto.sh "%N" "%F" "%R" "%D" "%C" "%Z" "%I"

到此已经实现了自动上传的功能,可以下个磁力试试啦
qbit官方的web ui没有适配移动端,下面介绍一下如何给qbit换个web ui主题
qbit更换主题
这里推荐两款主题
一个vuetorrent,github地址,博客网盘直接点击下载
建议qb-web吧,vuetorrent每次换个设备就要重新设置语言很麻烦
下载到服务器上,解压,进入public目录的父目录
然后复制路径,来到上面qbit设置,WEB UI这里,找到使用备用Web UI这里,勾选,然后文件路径改成刚刚复制的

改好的qb-web效果如下

ok,总算码完了,本章就到此结束了,希望给你带来帮助。
Comments 90 条评论
Помощь оказывают врачи с практикой в наркологии, психиатрии и восстановительной терапии.
Исследовать вопрос подробнее – [url=https://vyvod-iz-zapoya-v-stacionare-v-moskve14.ru/]москва вывод из запоя на дому[/url]
Принимаем заявки круглосуточно, уточняем состояние и подбираем безопасный формат помощи.
Выяснить больше – [url=https://vyvod-iz-zapoya-v-stacionare-v-moskve14-1.ru/]www.domen.ru[/url]
Заявку можно оставить в любое время, специалист быстро сориентирует по дальнейшим действиям.
Подробнее можно узнать тут – https://vyvod-iz-zapoya-v-lyubercah14.ru/
Специалисты регулярно помогают при интоксикации, запоях, абстиненции и сложных состояниях зависимости.
Подробнее тут – [url=https://vyvod-iz-zapoya-v-stacionare-v-moskve14-2.ru/]vyvod-iz-zapoya-v-klinike-moskva[/url]
Принимаем заявки круглосуточно, уточняем состояние и подбираем безопасный формат помощи.
Получить дополнительную информацию – [url=https://kapelnica-ot-zapoya-v-moskve14-1.ru/]капельница от запоя анонимно на дому[/url]
Перед тем как принять решение о вызове специалиста, важно адекватно оценить состояние зависимого. Наши врачи рекомендуют немедленно обратиться за помощью при появлении следующих признаков:
Изучить вопрос глубже – [url=https://kapelnica-ot-zapoya-v-moskve14-4.ru/]kapelnica-ot-pohmelya-na-dom-moskva[/url]
Вызвать врача-нарколога нужно при первых признаках тяжелой абстиненции, когда самостоятельно справиться уже невозможно. Если зависимый страдает от сильной тошноты, многократной рвоты, дрожи в конечностях, мучительной головной боли, резких скачков давления, одышки, боли в области сердца, панических атак или слуховых галлюцинаций, медлить нельзя. В таких случаях капельница становится не просто способом облегчить состояние, а жизненно необходимой мерой. Нарушение водно-электролитного баланса, общее обезвоживание и интоксикация внутренних органов могут привести к инсульту, инфаркту, острой печеночной или почечной недостаточности. Именно поэтому важно не ждать утра, а звонить сразу — помощь доступна круглосуточно, и бригада выезжает в любое время дня и ночи. Характер болей и расстройство самочувствия при запоях часто носят выраженный характер, поэтому поставить капельницу необходимо как можно быстрее.
Исследовать вопрос подробнее – [url=https://kapelnica-ot-zapoya-v-moskve14-2.ru/]kapelnica-ot-zapoya-cena-moskva[/url]
Главная цель процедуры — экстренное вытрезвление и запуск детоксикации. Лечебный эффект достигается благодаря многокомпонентному составу, который подбирается индивидуально. Облегчение симптомов похмелья и алкогольной интоксикации обычно наступает уже в течение первого часа после начала внутривенного введения растворов. В основу рецептуры входят солевые и электролитные смеси, восполняющие нехватку жидкости и солей. Физраствор и глюкоза снижают концентрацию этанола в крови, разжижают кровь, используются для восполнения дефицита жидкости и электролитов. Дополнительно мы включаем кардиопротекторы, гепатопротекторы, ноотропы и успокоительные лекарства, создающие комплексную поддержку. В некоторых случаях врач назначает диуретик для ускоренного выведения токсинов и гидрокарбонат натрия для борьбы с ацидозом. Такое лечение не только снимает похмельный синдром, но и готовит пациента к дальнейшей реабилитации.
Разобраться лучше – [url=https://kapelnica-ot-zapoya-v-moskve14.ru/]kapelnica-ot-zapoya-na-domu-stoimost[/url]
Вывод из запоя в стационаре нужен тогда, когда человек уже не может самостоятельно остановиться, плохо переносит отмену спиртных напитков, не спит несколько суток, испытывает тремор, тревожность, скачки давления, боли в области сердца, нарушения со стороны ЖКТ и нервной системы. В таких случаях домашние меры часто оказываются неэффективной попыткой «перетерпеть», а резкий отказ от алкоголя без медицинского наблюдения может привести к осложнениям, белой горячке, психозам, судорогам, аритмии, инфаркту или инсульту.
Разобраться лучше – [url=https://vyvod-iz-zapoya-v-statsionare-v-gelendzhike2.ru/]вывод из запоя в стационаре клиника в геленджике[/url]
Снятие запоя – это не только прекращение приема спиртных напитков, но и целый комплекс мероприятий, включающий очищение и восстановление организма, а также нормализацию общего состояния больного. В современных условиях наркологическая клиника может предложить вывод из запоя на дому, лечение запоя в стационаре, капельницу, детоксикацию, медикаментозный курс, психологическую поддержку, кодирование, реабилитацию и дальнейшее сопровождение семьи. Такой подход позволяет не просто вывести человека из тяжелого состояния, а определить причины зависимости, подобрать индивидуально эффективное лечение алкоголизма и снизить вероятность повторного срыва.
Выяснить больше – [url=https://vyvod-iz-zapoya-v-anape4.ru/]вывод из запоя на дому круглосуточно в анапе[/url]
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Подробнее – [url=https://vyvod-iz-zapoya-v-lyubercah14-3.ru/]вывод из запоя на дому[/url]
Распознать критическое состояние, требующее участия профессионалов, можно по характерным признакам. Если у близкого наблюдается расстройство сознания, неадекватное поведение или резкие скачки артериального давления, медлить больше нельзя. В таких случаях необходима экстренная помощь врача-психиатра, ведь длительное воздействие токсинов может закончиться отказом жизненно важных органов. Вызвать нарколога на дом в Москве и области нужно при первых же угрозах, не дожидаясь усугубления ситуации. Наши специалисты готовы провести лечение запоя и снятие ломки немедленно.
Узнать больше – [url=https://narkolog-na-dom-v-lyubercah14-1.ru/]нарколог на дом[/url]
Лечение начинается с оценки клинической картины. Врач-нарколог проводит осмотр, при необходимости назначает обследование, ЭКГ, анализы, тест на употребление веществ, проверяет основные показатели, уточняет данные о принимаемых лекарствах, хронических диагнозах, аллергии, опыте кодирования и прошлых попытках остановиться. На этой основе назначается детоксикация: витаминно-минеральный раствор, средства для восстановления водно-солевого баланса, успокоительные препараты, нейропротекторы, кардиопротекторы, гепатопротекторы и другие медикаменты, которые улучшают самочувствие, поддерживают функции головного мозга, печени, сердца и нервной системы.
Получить больше информации – [url=https://vyvod-iz-zapoya-v-lyubercah14-4.ru/]вывод из запоя[/url]
Помощь можно получить анонимно, с аккуратным оформлением и внимательным отношением к личным данным.
Изучить вопрос глубже – https://vyvod-iz-zapoya-v-koroleve14-1.ru/
Помощь оказывают врачи с практикой в наркологии, психиатрии и восстановительной терапии.
Исследовать вопрос подробнее – [url=https://narkolog-na-dom-v-lyubercah14-2.ru/]вызов врача нарколога на дом[/url]
Врач учитывает симптомы, риски, анамнез и семейную ситуацию, чтобы предложить подходящую программу.
Исследовать вопрос подробнее – [url=https://narkolog-na-dom-v-lyubercah14.ru/]vyzvat-narkologa-na-dom-prokapatsya[/url]
Принимаем заявки круглосуточно, уточняем состояние и подбираем безопасный формат помощи.
Получить больше информации – https://vyvod-iz-zapoya-v-stacionare-v-moskve14-2.ru/
Диспансер — это не “раз и навсегда”, а старт, который помогает выйти из самого тяжёлого состояния и начать двигаться к трезвости.
Подробнее тут – [url=https://vyvod-iz-zapoya-v-anape6.ru/]вывод из запоя недорого анапа[/url]
Помощь оказывают врачи с практикой в наркологии, психиатрии и восстановительной терапии.
Узнать больше – [url=https://vyvod-iz-zapoya-v-lyubercah14-2.ru/]narkolog vyvod iz zapoya[/url]
В любое время врач-нарколог приедет на дом для постановки капельниц, с помощью которых проводится очищение организма и снятие алкогольной интоксикации. Формат на дому удобен, если больному сложно ехать в центр, он ослаблен, страдает от бессонницы или хочет получить помощь в домашних условиях рядом с родственниками. При признаках инсульта, судорог, припадков, суицидальных высказываний, тяжелой рвоты, психоза или угрозы смерти требуется не домашний детокс, а стационар клиники с круглосуточным врачебным контролем.
Детальнее – [url=https://vyvod-iz-zapoya-v-lyubercah14-3.ru/]vyvod iz zapoya klinika[/url]
Помогаем быстро перейти от консультации к конкретному плану: выезд, стационар или наблюдение.
Ознакомиться с деталями – [url=https://vyvod-iz-zapoya-v-lyubercah14-1.ru/]www.domen.ru[/url]
Снятие запоя – это не только прекращение приема спиртных напитков, но и целый комплекс мероприятий, включающий очищение и восстановление организма, а также нормализацию общего состояния больного. В современных условиях наркологическая клиника может предложить вывод из запоя на дому, лечение запоя в стационаре, капельницу, детоксикацию, медикаментозный курс, психологическую помощь, кодирование, реабилитацию и дальнейшее сопровождение семьи. Такой подход позволяет не просто вывести человека из тяжелого периода, а определить причины зависимости, подобрать индивидуально эффективное лечение и снизить вероятность повторного срыва.
Исследовать вопрос подробнее – [url=https://vyvod-iz-zapoya-v-anape2.ru/]нарколог на дом вывод из запоя анапа[/url]
Рекомендации строятся вокруг состояния человека, а не по универсальному шаблону для всех случаев.
Разобраться лучше – [url=https://vyvod-iz-zapoya-v-lyubercah14.ru/]вывод из запоя клиника[/url]
Специалисты регулярно помогают при интоксикации, запоях, абстиненции и сложных состояниях зависимости.
Получить дополнительную информацию – [url=https://vyvod-iz-zapoya-v-statsionare-v-gelendzhike1.ru/]вывод из запоя в стационаре геленджик[/url]
Вывод из запоя в стационаре — это профессиональная наркологическая помощь, которая проводится под медицинским наблюдением и с учетом физического состояния человека. Такой формат выбирают, когда домашнего лечения уже недостаточно, когда запой длится несколько дней, появились тремор, страх, бессонница, скачки давления, нарушения со стороны сердца, печени, жкт или нервной системы. В стационаре врач проводит осмотр, оценивает тяжесть интоксикации, подбирает препараты, контролирует пульс, давление, сон, уровень жидкости и общее самочувствие.
Углубиться в тему – [url=https://vyvod-iz-zapoya-v-statsionare-v-gelendzhike3.ru/]вывод из запоя в стационаре[/url]
Информация об обращении не передается третьим лицам, а детали лечения обсуждаются только с пациентом.
Детальнее – [url=https://vyvod-iz-zapoya-v-statsionare-v-gelendzhike2.ru/]стационар вывод из запоя[/url]
Рекомендации строятся вокруг состояния человека, а не по универсальному шаблону для всех случаев.
Изучить вопрос глубже – [url=https://vyvod-iz-zapoya-v-gelendzhike5.ru/]vyvod-iz-zapoya-v-gelendzhike5.ru/[/url]
С пациентом работают профильные специалисты, которые оценивают состояние и подбирают безопасный план помощи.
Получить больше информации – https://vyvod-iz-zapoya-v-gelendzhike6.ru/