当前位置: 首页 > news >正文

Ubuntu安装qbittorrent-nox并启用远程访问webui

Ubuntu安装qbittorrent-nox并启用远程访问webui

最近在利用旧笔记本玩pve(proxmox),运行一些个人开发的小项目,结合frp还能实现远程访问,前几天涉及到bt下载,突发奇想既然已经有pve了,能不能把bt下载也委托给pve,说干就干,那么一起来看看我是怎么实现的吧。

环境介绍

我的环境是pve上部署了一个Ubuntu虚拟机,然后在虚拟机中搭各种小程序,当然也包括本次的项目

选型

首先得明确自己的需求,我希望它能通过web界面在局域网或者远程访问,此外不希望变成CDN节点(影响磁盘寿命和增加耗电,还有可能被运营商限流),根据以上条件最开始选择的transmission,但是最新版本对第三方UI的支持度很差,并且自带的UI还很不好用,遂放弃。后面转而尝试qbittorrent-nox(下文简称qbittorrent),当然了,qbittorrent安装也有些坑点,不过比transmission要好很多。下面将详细介绍。

安装部署

  1. 安装
    sudo apt update
    sudo apt install qbittorrent-nox
    
  2. 新建qibittorrent-nox账户
    sudo mkdir /var/opt/qibittorrent-nox
    sudo adduser --home /var/opt/qibittorrent-nox --system --group qbittorrent-nox
    
  3. 配置后台服务
    首先新建qbittorrent-nox.service, 内容如下:
    [Unit]
    Description=qbittorrent daemon service
    After=network.target[Service]
    Type=forking
    User=qbittorrent-nox
    Group=qbittorrent-nox
    UMask=000
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080[Install]
    WantedBy=multi-user.target
    
    拷贝 qbittorrent-nox.service/etc/systemd/system :
    sudo cp qbittorrent-nox.service /etc/systemd/system
    
    刷新后台服务
    sudo systemctl daemon-reload
    
    启动后台服务
    sudo systemctl start qbittorrent-nox.service
    
    此时访问http://虚拟机ip:8080发现提示Unauthorized,因为默认仅支持本地访问,需要先停止服务修改配置文件解除限制:
    # 停止服务
    sudo systemctl stop qbittorrent-nox.service
    # 编辑配置文件
    sudo vim /var/opt/qbittorrent/.config/qBittorrent/qBittorrent.conf
    
    [Preferences](不存在则自己创建)节点下添加以下内容:
    General\Locale=zh_CN
    WebUI\CSRFProtection=false
    WebUI\HostHeaderValidation=false
    WebUI\Password_PBKDF2="@ByteArray(ndWz2yn3FVVXC4PwgX/9gg==:d6gsuAVQmhyh/SPQqFMKrMC5KJFuKvMF1Em/kEy9rK7A3A/PeKejamyHdOMLyk8AzUnOvwQ/aDwDD8Y+G6as7g==)"
    
    最后这个Password_PBKDF2会将密码修改为123456,否则没有默认密码无法登录。
    然后重启服务:
    sudo systemctl start qbittorrent-nox.service
    
    再访问http://虚拟机ip:8080就可以看到qbittorrent界面了,并且已经默认是中文了,至于frp远程访问,我会单独再写一篇介绍,大家也可以自行搜索相关资料配置。

文章转载自:

http://WFeJ4bWm.rkdzm.cn
http://XqbXlEIV.rkdzm.cn
http://7bG560gA.rkdzm.cn
http://i5CLr71R.rkdzm.cn
http://Sx0z9Pmh.rkdzm.cn
http://5TGdilNA.rkdzm.cn
http://BKLt9nzS.rkdzm.cn
http://Tlk8ktXr.rkdzm.cn
http://tEVybFXS.rkdzm.cn
http://foeQatsR.rkdzm.cn
http://z2gfJf1N.rkdzm.cn
http://aJonUYsA.rkdzm.cn
http://xrNqa36A.rkdzm.cn
http://WisOAXJb.rkdzm.cn
http://Wp81GbLg.rkdzm.cn
http://TjlWgqya.rkdzm.cn
http://8Ewj82V4.rkdzm.cn
http://vwv3S6cq.rkdzm.cn
http://H7FRxLZb.rkdzm.cn
http://q6I7EmkC.rkdzm.cn
http://YoOjBywk.rkdzm.cn
http://p3n7J0Se.rkdzm.cn
http://q47ANTZ2.rkdzm.cn
http://DTvpYC5i.rkdzm.cn
http://bc4BJBMV.rkdzm.cn
http://7KoJONyo.rkdzm.cn
http://aNSfEDVC.rkdzm.cn
http://MwB8Z8JN.rkdzm.cn
http://CsLBPCU3.rkdzm.cn
http://G1QVZupb.rkdzm.cn
http://www.dtcms.com/a/387603.html

相关文章:

  • Qt QLegend详解
  • C++ 初识
  • 从零实现 Qiankun 微前端:基座应用控制子应用路由与信息交互
  • 云函数(Serverless)深度解读
  • 设计模式概述
  • 基于 TCP 协议的 C++ 计算器项目实现:从网络通信到协议封装
  • 【分布式技术】深入理解AMQP(高级消息队列协议)
  • 海外短剧分销系统开发:技术栈选型与核心模块实现指南
  • 每日前端宝藏库 | Toastify.js ✨
  • Nuxt3:自动导入渲染模式服务器引擎生产部署模块化
  • 打造高效对账单管理组件:Vue3 + Element Plus 实现客户账单与单据选择
  • 第二章 Arm C1-Premium Core技术架构
  • Bartender 6 多功能菜单栏管理(Mac)
  • 嵌入式科普(38)C语言预编译X-Macros深度分析和实际项目代码分享
  • Docker compose 与 docker swarm 的区别
  • 【嵌入式硬件实例】-555定时器实现水位检测
  • AbMole小课堂丨R-spondin-1(RSPO1):高活性Wnt通路激活剂,如何在多种类器官/干细胞培养中发挥重要功能
  • 【C语言代码】打印九九乘法口诀表
  • vue3和element plus, node和express实现大文件上传, 分片上传,断点续传完整开发代码
  • electron-egg使用ThinkPHP项目指南
  • 温州工业自动化科技工厂如何实现1台服务器10个研发设计同时用
  • 如何用PM2托管静态文件
  • Java程序设计:基本数据类型
  • 在k8s环境下部署kanboard项目管理平台
  • 为什么 MySQL utf8 存不下 Emoji?utf8mb4 实战演示
  • 2025 年 PHP 常见面试题整理以及对应答案和代码示例
  • (二十五)、在 k8s 中部署证书,为网站增加https安全认证
  • 风机巡检目前有什么新技术?
  • 震坤行工业超市开放平台接口实战:工业品精准检索与详情解析全方案
  • 河南萌新联赛2025第(八)场:南阳理工学院