写前废话
最近重新研究了一下离线下载,之前搭建过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,257 条评论
Раменское купить закладку Чистейший Метадон Козловка купить закладку бошки https://lesobaza48.ru Олёкминск купить закладку Mephedrone: Кристаллы VHQ
Зеленокумск купить Ecstasy – UPS купить клад Елизово <a href=https://sensing-photonics.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Тимашёвск купить Гашиш [Euro Cube] Горно-Алтайск купить Ecstasy
Lucky Jet — краш-игра для тех, кто ценит динамику и быстрый результат. Партия проходит за секунды, а множитель поднимается прямо на экране. Ищете <a href=https://selectorggbrillx.wixsite.com/website>новая казино</a>? Подробности и условия для новых пользователей собраны на selectorggbrillx.wixsite.com/website вместе с описанием бонусов за первые депозиты. Периодически организуются бесплатные покерные турниры с реальным призовым фондом. Предложение заинтересует тех, кто хочет открыть для себя новый игровой формат.
https://web.archive.org/web/20260409154414/https://hyundaimobil.co.id/assets/articles/1xbet_kode_promo_indonesia___bonus_selamat_datang.html
Любань купить гидропонику Фенибут приход https://lift-table.ru Никольск купить гидропонику
Закладки спайс россыпь в Глазове Исилькуль купить закладку Марки LSD 170мкг <a href=https://rus-magic.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Гуково купить MDMA таблетки Москва Вешняки купить закладку Кристаллы соль
https://umap.ru/7da31/data/photo/?promokody_na_1hbet_bonus_6500_rublej.html
Специалисты по информационной безопасности защищают аккаунты, тестируют системы с разрешения владельца и помогают восстановить доступ к своим данным. Ищете <a href=https://xakerplus.com/threads/predlozhenie-uslug-xakera-vzlom-pochty-socialnyx-setej-i-drugie-xakerskie-uslugi-perechen-uslug-gorazdo-bolshe-pishite.13025/>услуги хакеров онлайн</a>? Подробная информация о консультациях и разрешённом аудите размещена на xakerplus.com/threads/predlozhenie-uslug-xakera-vzlom-pochty-socialnyx-setej-i-drugie-xakerskie-uslugi-perechen-uslug-gorazdo-bolshe-pishite.13025/ Специалисты работают конфиденциально, только по согласованному заданию и в рамках действующего законодательства.
https://start.me/p/J7dNEp/1xbet-gabon-code-promo-start888-bonus-130
https://mebel-3d.ru/libraries/news/?melbet_2020_promokod_dlya_registracii_besplatno.html
https://www.gilmaire-etienne.com/wp-content/pages/melbet_promo_code.html
Специалисты по кибербезопасности помогают защищать аккаунты, проводить разрешённые проверки и возвращать доступ к собственным данным. Подробная информация о консультациях и легальном аудите размещена на <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> Специалисты работают только по согласованному заданию и в правовом поле.
Буй купить марихуану Москва Метрогородок купить закладку LSD-25 (HQ) 250мкг https://zagarbronza.ru Тихорецк купить закладку АК-47 – Бошки Шишки
Старая Купавна купить MDMA Pills – ORANGE Под феном не стоит <a href=https://prorabrecords.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Шимановск купить закладку Героин РОЗНИЦА (999 VHQ) Афганистан Нолинск купить закладку Мефедрон [Кристаллы]
https://web.archive.org/web/20260929112418/https://g-r-s.fr/pag/code_promo.html
Москва Бибирево купить Психоделики Рязань купить Ecstasy https://imman.ru остров Родос купить План (АФГАНКА)
Лихославль купить Героин РОЗНИЦА (999 VHQ) Афганистан Ртищево купить закладку Героин ОПТ <a href=https://imman.ru>Купить Кокаин, Героин, Мефедрон, Амфетамин</a> Москва Нагорный купить закладку Ecstasy – Homer / Bart Москва Можайский купить Марки LSD 170мкг
Премиальная база отдыха в Московской области предоставляет посуточную аренду стильных коттеджей на берегу реки посреди хвойного бора. Официальная площадка <a href=https://we-rest.ru/>https://we-rest.ru/</a> обеспечивает прямое бронирование современных коттеджей с панорамными саунами и купелями фурако. Посетителям обеспечены приватные мангальные террасы личные причалы для сплавов на досках безупречный сервис и полностью охраняемое пространство.
https://reliefhomeservices.com/wp-content/pages/?kakoy_cvet_volos_seychas_populyaren.html
В эпоху стремительного информационного шума особую ценность приобретают надежные источники. Популярный медиапортал <a href=https://jay.com.ua/>https://jay.com.ua/</a> представляет собой универсальную базу полезных знаний, где собраны компетентные аналитические статьи о бизнесе, передовых технологиях, культуре и жизни общества. Это качественный интеллектуальный гид для вдумчивого читателя.
https://heatherparker.com/articles/1xbet_promo_code_sign_up_bonus.html
https://diplomilirist.ru/news/1xbet_promokod_besplatno__1.html
https://cvaa.com.ar/06inc/articles/1xbet_kenya_sign_up.html
https://cere-india.org/art/1xbet_promotion_code__exclusive_offer____130_bonus.html
https://start.me/p/w9yROL/cdigo-mvil-1xbet-chile-2026-men444-100
https://racingtires.ru/images/pages/beats_studio_orange_20_ot_monster_novinka_pokorivshaya_mir.html
Закладки скорость в Опочке Тутаев купить АК-47 – Бошки Шишки https://run-parskoe.ru Москва Покровское-Стрешнево купить Триптамины
В сфере цифровой безопасности ключевую роль играет надежный специалист. На портале <a href=https://otzivi.online/threads/kak-ja-obratilas-za-pomoschju-k-xakeru-otzyv-o-xakere-xakvision.365/>https://otzivi.online/threads/kak-ja-obratilas-za-pomoschju-k-xakeru-otzyv-o-xakere-xakvision.365/</a> пользователи разбирают отзыв о работе IT-эксперта XakVision. Материал отлично иллюстрирует высокую компетентность мастера, строгое соблюдение конфиденциальности и оперативность при решении сложных технических задач.
Москва Медведково Южное купить закладку MDMA таблетки Дорогобуж купить закладку Ecstasy https://bur-vl.ru Александровск купить закладку LSD 220 mkg
«Ботан» — цветочный магазин в Санкт-Петербурге с монобукетами, дуобукетами и авторскими композициями в коробках и корзинах. Ищете <a href=https://xn—-8sbccp5cf3ad7azd.xn--p1ai/>поставщики цветов оптом Санкт-Петербург</a>? Каталог с ценами и составом букетов опубликован на сайте цветы-ботан.рф и доступен для заказа онлайн. Цветы из Эквадора, Колумбии, Кении и Голландии поступают каждые один-два дня и не успевают залежаться на складе. На букет дня действует скидка 20%, а публикация фото с отметкой магазина в соцсетях даёт 10% на следующую покупку.
Планирование путешествий по Кыргызстану и всему миру становится проще с надежным сервисом бронирования. Удобная онлайн-платформа <a href=https://avia.kg/>https://avia.kg/</a> открывает мгновенный доступ к актуальному расписанию самолетов, выгодным спецпредложениям сотен авиакомпаний и прозрачным тарифам без лишних переплат, позволяя быстро оформить электронный авиабилет на нужный рейс за пару кликов.
Бузулук купить закладку Шишки HQ АК47 Закладки наркотики в Гагарине https://sharivdar.ru Ясногорск купить закладку Кокаин
Погрузка грунта не включает вывоз: нужна отдельная точка и подъезд самосвала. Порядок работ смотрите на <a href=https://slon–16–cc.com/>slon16 cc</a>.
Если нужна запасная схема: давление, расход, рукава и приёмка комплекта, откройте <a href=https://slon–15–cc.com/>slon15 at</a>.
Строительная компания «Идеал Строй» 15 лет занимается возведением домов и коттеджей под ключ в столичном регионе. В работе газобетон, газоблок и кирпич, фундаменты любого типа, фасады, дренаж и благоустройство участка. Договор закрепляет проект, смету и сроки сдачи. Подробные цены и каталог готовых проектов опубликованы на сайте <a href=https://idealstr.ru/>https://idealstr.ru/</a> — там же примеры сданных объектов. Бригады приезжают с собственной техникой, материалы идут напрямую с заводов.
Для коммуникаций важны отметки дна, повороты трассы и существующие сети. Типовой сценарий выемки описан на <a href=https://slon–16–cc.com/>slon16</a>.
Перфоратор, гайковёрт и краскопульт не сажают на один и тот же запас воздуха. Подбор под операцию собран на <a href=https://slon–15–cc.com/>slon15</a>.
Купить Шишки в Славянск-на-Кубани Уссурийск купить закладку Метадон, чистота 99% <a href=https://run-parskoe.ru>Купить Марихуану, Кокаин, Бошки, Гашиш</a> Купить закладки метамфетамин в Фрязине
Готовый погреб нельзя заказывать только по объёму камеры: решают грунт, вода и подъезд крана. С чего начать проверку участка, смотрите на <a href=https://slon–12–cc.com/>slon12</a>.
Кровлю ориентируют так, чтобы сход снега не шёл на дорожку и на соседский забор. Раскладку скатов смотрите на <a href=https://slon–10–cc.com/>slon10 at</a>.
Склад инвентаря и домик с ночёвкой требуют разного основания, утепления и вводов. Назначение постройки лучше зафиксировать на <a href=https://slon–11–cc.com/>slon11</a>.
https://intercom.help/bonuscode/th/collections/19761907
Таштагол закладки Долинск купить закладку Ecstasy: Yellow Homer 200mg <a href=https://led-ekran.ru>Купить Марихуану, Кокаин, Бошки, Гашиш</a> Салават купить закладку АК-47 – Бошки Шишки
https://intercom.help/bonuscode/es/articles/17722201-bono-rainbet-guatemala-primer-deposito-y-40
https://oye.participer.lyon.fr/profiles/bekam_playfine/activity
https://intercom.help/bonuscode/es/articles/17721661-bono-1xbet-bolivia-2026-100-hasta-bs-3-500
https://intercom.help/bonuscode/hr/collections/19760936
https://intercom.help/bonuscode/en-in/collections/19761923
My next work event includes a panel with no lectern. Most of the session will be spent sitting in an armchair. My full length mirror gives me only part of the picture. I have been reading about [url=https://outfitbuilder.top]color and body type analysis[/url] while trying to understand how different style systems describe proportion. I would like to use the vocabulary to compare outfits without treating a category as a rule for every situation. The balance between the top and trousers shifts when seated. Comfort also matters because I need to concentrate on speaking. There is time to compare the options in a similar chair. I would use the same distance and angle for each photograph. The event photographs may show us from the side as well as the front, so I want to consider both views before making a decision. How would you adapt silhouette advice to a seated event?
Жердевка купить закладку MQ Cocaine Mexico Амурск купить закладку Cocaine MQ <a href=https://mpprioritet.ru>Купить Марихуану, Кокаин, Бошки, Гашиш</a> Москва Чертаново Центральное купить Cocaine Premium: Peru
Премиальное бытовое оборудование Miele известно долговечностью, но любая сложная домашняя электроника нуждается в квалифицированном обслуживании. Специализированный сервис <a href=https://miele-servise.ru/>https://miele-servise.ru/</a> выполняет профессиональный ремонт всей линейки оборудования бренда на дому в Москве и Подмосковье. Опытные инженеры ликвидируют любые неполадки, применяя передовую диагностику и исключительно оригинальные комплектующие.
For an upcoming clothing swap, I volunteered to prepare a few prompts about personal style. We want to explore silhouettes and small details with the garments already on the tables. I can see a questionnaire being useful, provided nobody has to accept a permanent label. I saved [url=https://outfitfinder.top]fashion style quiz[/url] as one possible discussion prompt, without having tested its recommendations. I wonder whether garment structure is an easier starting point than labeling body shapes. People may choose a crisp collar or a flowing neckline for entirely different personal reasons. Participants can use the mirrors and choose for themselves whether to take comparison pictures. A useful outcome would be one outfit someone wants to wear from the available clothes. Nobody needs to share measurements or explain why a particular garment feels comfortable. What questions would keep a group exercise like this practical and welcoming?
Our amateur theatre group needs two costume proposals. The character stays the same throughout, but the director wants to compare a precise silhouette with a relaxed one. Our starting point is the existing costume cupboard. I have been looking into [url=https://styleessences.top]color and body type analysis[/url] to understand how style systems describe the lines of an outfit. My question concerns the overall impression of the outfit. The performer should be able to move comfortably in either version. Keeping the camera position fixed would make comparison easier. Leaving out elaborate accessories would simplify the first rehearsal. Body typing labels cannot answer every question about a stage costume. The director will see the costumes under rehearsal lighting before we choose anything for the performance. I can make a small comparison sheet showing the same pose and a few movement notes. What visual details would you record before discussing the options?
I am adjusting a trouser pattern, and the size chart is only answering part of my question. There is enough room at the waist, yet sitting reveals tension through the hip area. Different body shape guides seem to give me different names for the same measurements. I can record waist and hip measurements alongside the pattern size, then note where each adjustment changes the fabric tension. My priority is understanding the fitting problem rather than settling on one shape label. How do other home sewers record measurements separately from the wearing ease of their chosen pattern? For context, this is the terminology reference currently in my notes: [url=https://findyourbodyshape.top]body shape and colour analysis[/url] I am keeping colour choices separate for now, since my immediate problem is the garment shape. I would appreciate a practical sequence for checking proportions before changing the pattern again.