qBittorrent 是一款开源免费的种子和磁力链接下载工具(项目地址点此直达),支持 Windows、Mac 和 Linux,且功能非常强大。qBittorrent 支持使用种子文件和磁力链接下载,包括了做种、tracker 编辑、下载优先级设置、RSS 订阅等功能非常丰富。本文详细介绍如何在 Ubuntu 18.04 上手动安装最新版 qBittorrent 并使用 nginx 进行反代。注意,以下操作是在 root 账号下进行的,非 root 账号需提升到 root 权限。

安装 qBittorrent

添加软件源

apt update && apt install software-properties-common -y && add-apt-repository ppa:qbittorrent-team/qbittorrent-stable -y

安装 qBittorrent

apt update && apt install qbittorrent-nox -y

配置 qBittorrent

添加 qBittorrent 运行账户

使用如下命令为 qBittorrent 运行添加账户,使用 --system 创建系统用户而不是普通用户,系统用户没有密码,无法登录:

adduser --system --group qbtuser

如果想让自己的账户能够访问和管理 qBittorrent 下载的文件,只需将自己的用户名添加到 qbtuser 组即可:

usermod -a -G qbtuser your_user_name  # 将 your_user_name 替换为你的用户名

为 qBittorrent 创建 systemd 服务

使用如下命令为 qBittorrent 创建 systemd 服务:

cat > /etc/systemd/system/qbittorrent.service << EOF
[Unit]
Description=qBittorrent Daemon Service
After=network.target

[Service]
User=qbtuser
Group=qbtuser
UMask=007
ExecStart=/usr/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox

[Install]
WantedBy=multi-user.target
EOF

启动服务并设置开机自启:

systemctl start qbittorrent && systemctl enable qbittorrent

使用如下命令查看服务是否正常运行:

systemctl status qbittorrent

浏览器访问 http://ip-of-server:8080 即可打开 qBittorrent WebGui ,默认用户名为 admin ,默认密码为 adminadmin 。登陆 WebGui 后进入 Tools - Options - Web UI 修改默认语言为简体中文并修改登陆用户名和密码。

使用 nginx 进行反代

安装最新稳定版 nginx

使用如下命令添加 nginx 软件源:

add-apt-repository ppa:ondrej/nginx -y

安装最新稳定版 nginx :

apt update && apt install nginx-extras -y

创建 nginx 虚拟机

使用如下命令创建 nginx 虚拟机配置文件:

vim /etc/nginx/sites-available/qbittorrent

复制以下内容粘贴并保存:

server {
  listen         80;
  server_name    example.com;  # 修改为自己想用的域名

  access_log  /var/log/nginx/example.com_access.log;  # 修改为自己想用的域名
  error_log   /var/log/nginx/example.com_error.log;   # 修改为自己想用的域名

  location / {
     proxy_pass              http://127.0.0.1:8080/;
     proxy_set_header        X-Forwarded-Host        $server_name:$server_port;
     proxy_hide_header       Referer;
     proxy_hide_header       Origin;
     proxy_set_header        Referer                 '';
     proxy_set_header        Origin                  '';
     add_header              X-Frame-Options         "SAMEORIGIN";
     }
}

接入 nginx

使用如下命令将虚拟机接入 nginx:

ln -s /etc/nginx/sites-available/qbittorrent /etc/nginx/sites-enabled/qbittorrent

重载 nginx 使虚拟机生效:

systemctl reload nginx

配置防火墙

配置防火墙,允许 httphttps 并开放 qBittorrent 默认的传入端口 8999

ufw allow http && ufw allow https && ufw allow 8999/tcp

启用 ssl

使用如下命令安装 cerbot :

add-apt-repository ppa:certbot/certbot -y && apt update && apt install python-certbot-nginx -y

为域名签发证书:

certbot  # 按提示操作,完成 ssl 配置

禁止 IP 及非配置域名访问

按官方建议删除 /etc/nginx/sites-enabled 下的 default 配置文件:

rm /etc/nginx/sites-enabled/default

创建 default_server ,禁止 IP` 及非配置域名访问:

cat > /etc/nginx/sites-available/default_server << EOF
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    server_name _;
    return    500;
    
}

server {
   listen 443 ssl default_server;
   listen [::]:443 ssl default_server;
   ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;   #替换为任一可用ssl证书
   ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; #替换为任一可用ssl证书私钥
    
   server_name _;
   return    500;

}
EOF

启用 default_server 并重启 nginx :

ln -s /etc/nginx/sites-available/default_server /etc/nginx/sites-enabled/default_server && systemctl restart nginx

浏览器访问 example.com 便可进入 qBittorrent 的 WebGui 。通过以上步骤便可在 Ubuntu 18.04 上手动安装 qBittorrent 并使用 nginx 进行反代,本文结束。

qBittorrent.PNG