写前废话
最近重新研究了一下离线下载,之前搭建过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,256 条评论
Волоколамск купить закладку Cocaine Premium HQ – печать Dolphin – https://cpispb.ru
Спасибо за оперативность! Запрос обработали в день обращения, счет выставили быстро
https://telegra.ph/truba-kobaltovaya-10-14
В Сочи на Навагинской работает центр КТ ЛОР-органов и челюстно-лицевой области. NewTom VGi Evo формирует трехмерные изображения пазух, височных костей, орбит, челюстей и ВНЧС при облучении от 0,1 мЗв. Само сканирование занимает меньше минуты. Записаться на обследование можно на сайте <a href=https://kt-sochi.lorlor.ru/>https://kt-sochi.lorlor.ru/</a> без направления врача. Изображения присылают по электронной почте в пределах двух часов. Обследование доступно детям с 5 лет. Подготовка не нужна, достаточно снять очки и украшения.
Продукция высшего уровня, брак полностью исключен благодаря строгому контролю.
https://telegra.ph/Oksid-alyuminiya-11-02
Удобно, что компания принимает заказы на изготовление изделий по индивидуальным чертежам заказчика
https://telegra.ph/polosa-vanadievaya-10-14
Москва Лианозово купить Шишки HQ АК47 Расташоп: Детокс Zydot Orange, CleanUrin, Безопасность <a href=https://lingvologo.ru>купить закладку</a> Пласт купить MDMA таблетки Спасск-Рязанский купить Чистейший Метадон
Ларнака купить закладку VHQ GanBang Cocaine 98% Peru Талица купить Amphetamine <a href=https://svecha69.ru>купить закладку</a> Навашино купить Mephedrone (4mmc, мяу) Яранск купить закладку эйфоретик Мефедрон
Апшеронск купить Гидропоника Afgan Kush <a href=https://dominik-club.ru>кокаин, мефедрон, гашиш</a> Работа закладчиком в новосибирске Ахтубинск купить Mephedrone: Кристаллы VHQ
Москва Ивановское купить закладку VHQ Cocaine 98% Bolivia Горячий Ключ купить закладку эйфоретик Мефедрон
Отличный сайт, вся необходимая техническая информация по сплавам находится на видном месте
https://telegra.ph/izdeliya-iz-molibdena-10-14-2
Печора купить закладку Чистейший Метадон Фрязино купить закладку Ecstasy: Pink Heart 200mg <a href=https://avcrus.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Новосибирск купить закладку MQ Cocaine Mexico Кедровый купить MDMA Pills – RED
Хотелось бы увидеть больше технических характеристик по инновационным редким металлам.
https://telegra.ph/Precizionnye-listy-s-zadannym-TKLR-11-02
Надежный поставщик тугоплавких металлов для авиационной и космической промышленности
https://telegra.ph/magnij-MgAlZn-10-14
В эпоху цифровых коммуникаций искренность обретает особую ценность, а поиск близкого человека становится важным шагом к личному счастью. Онлайн-платформа <a href=https://kupidon-znakomstva.live/>https://kupidon-znakomstva.live/</a> открывает широкие возможности для интересных встреч, романтики и серьезных отношений. Сервис привлекает ручной модерацией анкет, умными фильтрами по интересам и уникальным форматом поиска попутчиков для совместных поездок.
Купить закладки стаф в Озёре – <a href=https://3-ru.ru>мефедрон</a>
Приятно удивлен огромным выбором изделий из драгоценных металлов.
https://telegra.ph/Tavr-alyuminievyi-11-02-2
Нужна была нестандартная партия фольги и листов по чертежам, специалисты компании оперативно просчитали заказ
https://telegra.ph/volfram-VK25-10-14
Группа компаний «ПСК» из Тюмени изготавливает железобетонные конструкции для дорожных, гражданских и железнодорожных объектов. Ассортимент насчитывает свыше 1000 позиций: плиты перекрытия, сваи, лотки, бордюры, брусчатка, утяжелители. Полный каталог с ценами размещен на сайте <a href=https://gk-psk72.ru/>https://gk-psk72.ru/</a> в открытом доступе. Большинство изделий всегда в наличии и отпускается в день оформления заказа. Доставка идет по Тюменской области, ХМАО и ЯНАО, на всю продукцию выдаются сертификаты.
до свидания амфетамины <a href=https://dpol3.ru>кокаин, мефедрон, гашиш</a> Ямало-Ненецкий АО купить Cтимуляторы Еманжелинск купить закладку LSD-25 (HQ) 250мкг
Южно-Сухокумск купить закладку Метадон HQ Закладки LSD в Ковровом
Успехов вашему бизнесу и расширения ассортимента редких металлов!
https://telegra.ph/EHlektrody-dlya-naplavki-sloev-s-osobymi-svoistvami-11-02
Работаем с «РедМетСплав» по поставкам тантала и ниобия, сроки отгрузки никогда не срывают
https://telegra.ph/titan-T8-11-02
Мелеуз купить Порох 999 (HQ) Афган Волоколамск купить закладку Шишки White Widow <a href=https://inkle.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Россошь купить закладку Героин натуральный Закладки марки в Искитиме
Продукция компании отлично зарекомендовала себя в условиях агрессивных химических сред
https://telegra.ph/molibden-MSH2-11-02
Планируем крупный заказ, возможна ли отсрочка платежа для постоянных клиентов?
https://telegra.ph/Granulirovannyi-cink-11-02
Буй купить Ecstasy: Pink Heart 200mg – <a href=https://dominik-club.ru>мефедрон</a>
Удобно, что компания принимает заказы на изготовление изделий по индивидуальным чертежам заказчика
https://telegra.ph/izdeliya-vanadievye-11-02
Хотелось бы увидеть больше технических характеристик по инновационным редким металлам.
https://telegra.ph/List-AISI-304-11-02
Приобретали циркониевый прокат для нужд химического машиностроения, качество на высоте
https://telegra.ph/truba-iz-vanadiya-10-14
Шри-Ланка купить Ecstasy: Red Monkey 250mg <a href=https://sgppk.ru>кокаин, мефедрон, гашиш</a> Саров купить Марки LSD 170мкг Избербаш купить Ecstasy: Red Bull 200 mg
Иваново купить закладку Шишки White Widow Самуи купить закладку
Нужен нержавеющий прокат оптом, какие объемы можете предложить?
https://telegra.ph/Mednonikelevye-ploskie-flancy-11-02
Приятно иметь дело с надежным заводом цветных и тугоплавких металлов без посредников
https://telegra.ph/niobij-TaNb30-10-14
Воткинск купить Метадон, чистота 99% Гаспль вячеслав <a href=https://tender-sovet.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Волхов купить MQ Cocaine Mexico Андреаполь купить закладку Ecstasy
Регулярно закупаем здесь ванадий и гафний, продукция всегда имеет всю необходимую сертификацию
https://telegra.ph/kobalt-K1A-10-14-2
Удобно, что можно быстро отправить запрос прямо с сайта.
https://telegra.ph/Mednye-fitingi-rezbovye-11-02
Горнозаводск купить закладку MDMA Pills – GREEN – <a href=https://lingvologo.ru>мефедрон</a>
[url=https://google.com/]kakarazi mioralag[/url]
Идеальный вариант для предприятий машиностроительной и нефтегазовой отраслей
https://telegra.ph/molibden-VM1D-10-14
Москва Ново-Переделкино купить Метадон (HQ) Германия <a href=https://car-t.ru>кокаин, мефедрон, гашиш</a> Омутнинск купить закладку Гашиш [AB] Уржум купить Психоделики
Холм купить Cocaine Premium HQ – печать Dolphin Огнезащита айсберг 101
Заказывали порошки для порошковой металлургии, фракционный состав полностью соответствует описанию.
https://telegra.ph/Poroshok-hroma-11-02
Современная игровая платформа Wilder привлекает внимание аудитории внушительной коллекцией из девяти тысяч лицензионных слотов от ведущих провайдеров индустрии. На официальном портале <a href=https://wilder.black/ThZhzqSvu>https://wilder.black/ThZhzqSvu</a> участников ждут динамичные турниры, прозрачная программа лояльности и оперативный вывод средств. Грамотный сервис создает комфортные условия для честного отдыха.
Заказывали молибденовые прутки и вольфрамовый прокат, качество материала полностью соответствует ГОСТ
https://telegra.ph/volfram-VR20-10-14
Очень удобно, что есть калькулятор металла на сайте, помогает быстро сориентироваться по весу и объемам
https://telegra.ph/titan-TL5-OST-5R907188-11-02
https://www.ekdarun.com/forum/topic/245932/how-to-get-1xbet-promo-code:-1xmax200-%E2%80%93-full-guide
https://velog.io/@cededo/How-to-Use-Promo-Code-in-1xBet-1XMAX200-130-Guide
https://www.nxtlvlscouts.com/profile/bestpromocode64848/profile
Россыпь в Тереке – https://taksisib.ru
Рецепт на трамадол <a href=https://esp-fakir.ru>кокаин купить</a> Купить закладки в Барнауле Новокуйбышевск купить Купить опиаты: героин, метадон, лирика, хмурый, мёд
анализ на амфетамин Калач купить кокаин
https://pixabay.com/users/nancysturgeonus-53981410/
https://whenyouriseup.activeboard.com/t73345778/1xbet-bonus-code-2027-1xmax200-130-bonus/?page=1#lastPostAnchor
Москва Люблино купить Mephedrone: Кристаллы VHQ Купить jwh 018 в москве <a href=https://flowers-chita.ru>Кокаин, Героин, Мефедрон, Амфетамин</a> Крымск купить закладку Марихуана [Girl Scout Cookies] Юрьев-Польский купить закладку MDMA Pills – RED
mdma domino – https://taksisib.ru