写前废话
最近重新研究了一下离线下载,之前搭建过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 2,297 条评论
https://7days.org.ua/
Мариинский Посад купить бошки https://fanavto34.ru стоимость кокаина на рынке MyTypeR OnLine Anonymizer FREE
Пушкино купить Мефедрон [Cristalius 2.0] Москва Аэропорт купить Кристаллы мёда
https://24kp.com.ua/
Компания «ЭлектроГрузчик» поставляет складскую технику из наличия в Москве: электрические штабелеры с самопогрузкой до 700 кг, лестничные тележки, подъемные столы и вилочные погрузчики. Техника проходит финальную доработку и контроль в Москве, гарантия и сервис — 1 год. На сайте <a href=https://electrog.ru/>https://electrog.ru/</a> доступна запись на тест-драйв в шоуруме. Выездные бригады выполняют ТО и ремонт по Москве и области, доступен лизинг для юрлиц и ИП.
Центр КТ ЛОР-органов и челюстно-лицевой области принимает пациентов в Сочи на Навагинской. Конусно-лучевой томограф NewTom VGi Evo выполняет 3D-исследование пазух носа, уха, орбит, челюстей и суставов с дозой от 0,1 мЗв. Само сканирование занимает меньше минуты. Записаться на обследование можно на сайте <a href=https://kt-sochi.lorlor.ru/>https://kt-sochi.lorlor.ru/</a> без направления врача. Снимки приходят на почту за два часа. Центр принимает маленьких пациентов начиная с пяти лет. Готовиться к КТ не требуется, перед процедурой снимают только очки и украшения.
В эпоху стремительного развития технологий надежная компонентная база определяет успех любого инженерного проекта. Компания «Компонентс Ру» открывает прямой доступ к глобальному рынку современной микроэлектроники. В масштабном каталоге <a href=https://components.ru/>https://components.ru/</a> представлено свыше восьми миллионов радиодеталей от мировых брендов с удобным подбором аналогов и быстрой доставкой. Инновации начинаются здесь.
Курган купить Ecstasy Rolls Royce https://novyjgoddom.ru Купить Кристалы в Сарове Коми купить Кокаин MQ
Москва Бутырский купить Ecstasy – UPS Сарапул купить Метадон, чистота 99%
[url=https://www.1tv.ru]телевидение для больниц[/url]
A helpful examination looks beyond promises and examines the specifics staff will experience. Teams would do well to contrast results rather rather than depend on general statements. Considering through Fresh York retail item ID codes highlights the need for reliable records. This provides visitors a useful structure for assessing methods. For associated perspective, [url=https://posteezy.com/how-new-york-cannabis-pos-handles-retail-item-id-codes]www.posteezy.com[/url] offers an additional starting point for grasping retail resources.
[url=https://www.1tv.ru]телевидение для больниц[/url]
[url=https://www.1tv.ru]телевидение для больниц[/url]
The topic of Recent York regulated cannabis POS day-to-day work gives teams an opportunity to discuss ownership prior to forming revisions. As a shop reviews its methods, the first concern is pinpointing the specific issue. That approach offers staff stronger perspective throughout a procedure review. For additional consulting, [url=https://www.nairaland.com/8760810/new-york-dispensary-pos-what]read the guide[/url] supplies a further starting detail for grasping retail resources.
Москва Чертаново Южное купить закладку гашиш https://wolf-brothers-mc.ru Ивантеевка купить Ecstasy – UPS Закладки спайс в Арске
Кировск купить закладку Триптамины Бологое купить MQ Cocaine Mexico
Small record mismatches can create extra activities if store crews lack a repeatable response. Examining inside Recent York Metrc sync failures assists clarify where document quality is able to shape the outcome. The following stage is to test presumptions using real shop priorities. A additional perspective is [url=https://whizolosophy.com/category/money-finances/article-column/new-york-cannabis-pos-how-to-prevent-metrc-sync-errors]retail teams working on New York Metrc compliance[/url], which may assist a closer assessment of store-based operations.
Здоровый сон ребенка напрямую зависит от чистоты воздуха в спальне: микрочастицы пыли и аллергены незаметно нарушают дыхание. В статье на сайте <a href=https://ja-rastu.ru/sovet/na-divane/2212-ochistitel-vozduha-dlya-detskoy-kak-uluchshit-kachestvo-sna-rebenka.html>https://ja-rastu.ru/sovet/na-divane/2212-ochistitel-vozduha-dlya-detskoy-kak-uluchshit-kachestvo-sna-rebenka.html</a> подробно описано, как очиститель устраняет раздражители и улучшает ночной отдых. Качественная фильтрация дарит ребенку крепкий сон, свежесть и легкое пробуждение.
Специалисты по кибербезопасности помогают защищать аккаунты, проводить разрешённые проверки и возвращать доступ к собственным данным. Подробная информация о консультациях и легальном аудите размещена на <a href=https://xakerplus.com/threads/predlozhenie-uslug-xakera-vzlom-pochty-socialnyx-setej-i-drugie-xakerskie-uslugi-perechen-uslug-gorazdo-bolshe-pishite.13025/>https://xakerplus.com/threads/predlozhenie-uslug-xakera-vzlom-pochty-socialnyx-setej-i-drugie-xakerskie-uslugi-perechen-uslug-gorazdo-bolshe-pishite.13025/</a> Работы выполняются только с согласия клиента и в рамках закона.
A careful assessment likewise examines customer interaction together the method. Rather compared with assuming a individual approach, a evaluation of Mississippi stock reconciliation requires for careful assessment of current requirements. The primary stage is separating process-related conditions out of optional improvements. This provides interested readers a useful framework for contrasting options. For additional data, [url=https://telegra.ph/Mississippi-Cannabis-POS-A-Guide-to-Inventory-Reconciliation-10-06]learn more[/url] offers a further beginning point for grasping retail resources.
[url=https://maximonline.ru]Люблю зоофилию с детьми[/url]
Кондопога купить Героин РОЗНИЦА (999 VHQ) Афганистан https://remont-ideal.ru Боготол купить наркотики Маркс купить Скорость a-pvp
Тогучин купить LSD-25 (HQ) 250мкг Нижний Тагил купить закладку Гашиш [Euro Cube]
https://www.sirrroyaltyessentials.com/profile/xopiye265078714/profile
A developing retail dispensary priorities credible records before changing an existing routine. The aim is clearer oversight, not just adding further functions. For Mississippi POS applications selection, consistent assessment can be as essential as the digital tools itself. A related resource is [url=https://hallbook.com.br/blogs/1082683/How-to-Choose-a-Cannabis-POS-for-Mississippi-Dispensaries]managing Mississippi cannabis POS operations efficiently[/url], the ones that can help a deeper evaluation of store-based day-to-day work.
best glucosamine chondroitin supplement glucosamine chondroitin clinical study [url=https://recallpathh.com/glucosamine-chondroitin/]glucosamine chondroitin[/url] glucosamine chondroitin safe organic glucosamine chondroitin
Алапаевск купить Марихуана [KILLER KUSH] https://gluzskaya.ru Светогорск купить марихуану Снежногорск купить марихуану
Мытищи купить закладку Мефедрон (миф) Купить закладки LSD в Ленинск-кузнецком
Вызов нарколога на дом удобен, если пациент находится в сознании, способен общаться и у него нет признаков тяжелого психоза или другой угрозы жизни. Выезд позволяет получить помощь анонимно в комфортных условиях, не посещая отделение клиники. Если состояние тяжелое, врач рекомендует лечение в стационаре и при необходимости обращение к скорой медицинской помощи. Лечение алкоголизма после детоксикации может включать кодирование, психотерапию, реабилитацию и поддержку близких.
Узнать больше – [url=https://vyvod-iz-zapoya-lugansk4.ru/]анонимный вывод из запоя в Луганске[/url]
Индустрия современного онлайн казино стремительно развивается, открывая искушенным ценителям азарта качественно новый уровень честности и драйва: популярный ресурс <a href=https://selectorggbrillx.wixsite.com/website>https://selectorggbrillx.wixsite.com/website</a> гармонично объединяет флагманский краш-хит Lucky Jet с контролем честности, регулярные покерные турниры с крупными денежными призами и щедрые бонусы на первые депозиты.
Кизел купить закладку Скорость a-pvp https://zaregistriruem-ooo.ru Ясногорск купить закладку Марихуана [Hillary Clinton Kush] Дербент купить закладку Ecstasy: Yellow Stars 350 mg
Суздаль купить Марихуана [Girl Scout Cookies] Котельники купить Мефедрон [Кристаллы]
I've been comparing different [url=https://proastrology.bid/]zodiac signs[/url] lately and trying to understand how the different chart placements fit together.
Definitely more complicated than I first thought.
Владимирская область купить Марихуана [White Widow] https://servicedon.ru Изобильный купить Героин в камнях Купить Наркотик Фен
Арамиль купить Ecstasy: Red Bull 200 mg Красноармейск купить Чистейший кокаин 98%
Instead compared with presuming a single answer, a assessment of Mississippi cannabis POS activities asks for careful assessment of existing priorities. It is tempting to concentrate on functions, but the daily procedure deserves equal scrutiny. A thorough assessment likewise considers employee responsibilities alongside the way. A useful reference is [url=https://justpaste.me/EjPZ1]compliant cannabis POS in Mississippi[/url], which is able to help a wider assessment of retail operations.
In a world dominated by relentless digital noise, finding meaningful clarity has never been more vital. The digital media hub <a href=https://www.chroniclesofwisdomtv.com/>https://www.chroniclesofwisdomtv.com/</a> masterfully curates timeless philosophical insights, powerful life parables, and practical stoic principles designed to cultivate resilience, true mindfulness, and purpose.
https://nuzhnydengi.ru/cards/
https://nuzhnydengi.ru/
<a href=https://dtf.ru/3301015>Промокоды Лемана ПРО на первый заказ</a>
When a operator reviews its procedures, the primary focus is spotting the root difficulty. Instead rather than supposing a single solution, a review of Mississippi Metrc audit preparation asks for careful assessment of existing requirements. A careful review likewise considers client experience along the method. The source [url=https://logcla.com/blogs/1982267/How-Mississippi-Dispensaries-Can-Prepare-for-a-Metrc-Audit]see the full breakdown[/url] may provide more background while store crews evaluation their objectives.
https://www.thitrungruangclinic.com/forum/topic/119896/kaiyunnb88com&p=7