前言

懶懶在去年 (2025) 年末趁著冬季特惠時,下單五年期某 A 家的 VPN 服務訂閱(不想幫廠家多打廣告XD),畢竟是花錢買來的,並非白嫖總覺得心裡不踏實,便想方設法想要將其VPN服務物盡其用。

付款資訊

於是就想到平常自架的雲端網盤管理工具 OpenList ,能夠使用 qBittorrent Transmission 進行離線下載 BT檔案,如果再搭配代理工具進行下載,這不就能將自己的身份藏於無形,還能避免被 DCMA 版「拳」警告。

由於我配置Docker Compose 文件試了好久才成功(太菜),打算分享給需要的人作爲參考~.

下載頁面

為何 下載 BT 最好透過代理工具?

I Know What You Download 網站,直白翻譯就是「我知道你下載了什麼」

https://iknowwhatyoudownload.com/en/peer/

眾所周知 BT 下載是基於 P2P(Peer-to-Peer,點對點)架構的技術,所以你的 IP 訊息能夠被很輕鬆的記錄下來。這個網站就是將公開的 BT 活動資訊整理出來,其中當然也會包括你的下載訊息,例如檔案名稱等等。(笑)


OpenList Docker 線路圖

關於我的 OpenList 配置如下,總共分為三條線路下載文件(供參考)

線路一:直接連線

  • OpenList 主程式 -> Aria2 -> 本機直接連線下載
  • 下載完成後,OpenList 會將檔案轉存本機或雲端硬碟

由於我使用的主機商不能防 DCMA ,所以用來 http下載或普通的 BT 下載使用

線路二:透過 gluetun 代理下載

  • OpenList 主程式 -> qBittorrent 共享 gluetun 網路 -> WireGuard -> VPS or VPN -> 代理下載
  • 下載完成後,OpenList 會將檔案轉存本機或雲端硬碟

該架設 WireGuard 使用的主機,商家稱提供防 DCMA 版權,所以用來做某些特殊用途的 BT 下載使用

線路三:透過 VPN 代理下載

  • OpenList 主程式 -> Transmission 共享 VPN Container 網路 -> VPN -> 代理下載
  • 下載完成後,OpenList 會將檔案轉存本機或雲端硬碟

使用某 A 家的 VPN 服務進行 BT 下載使用,商家強調保護隱私,不出售個人資料(僅供參考)

OpenList Docker 設定文件(範例)

  • 以下是我的 docker-compose.yml文件
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
---
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - VPN_SERVICE_PROVIDER=custom
      - VPN_TYPE=wireguard
      - VPN_ENDPOINT_IP=${VPN_ENDPOINT_IP}
      - VPN_ENDPOINT_PORT=${VPN_ENDPOINT_PORT}
      - WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY}
      - WIREGUARD_PRESHARED_KEY=${WIREGUARD_PRESHARED_KEY}
      - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
      - WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      # - 8000:8000   # Gluetun的Conrol Server
      - 8080:8080     # qBittorrent Web UI
      - 6881:6881     # qBittorrent
      - 6881:6881/udp # qBittorrent
    volumes:
      - ./gluetun:/gluetun

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    restart: unless-stopped
    user: '1000:1000'
    environment:
      - TZ=Asia/Taipei
      - WEBUI_PORT=8080
    volumes:
      - ./openlist/downloads:/downloads
      - ./openlist:/opt/openlist/data
      - ./qbittorrent:/config
    # ports:
    #  - 8080:8080
    #  - 6881:6881
    #  - 6881:6881/udp
    network_mode: service:gluetun

  adguard-vpn-cli:
    image: ghcr.io/supersunho/docker-adguardvpn-cli:latest
    container_name: adguard-vpn-cli
    restart: unless-stopped
    env_file: .env
    healthcheck:
      test: ping -c 1 www.google.com || exit 1
      interval: 1m
      timeout: 10s
      retries: 1
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    ports:
      - 9091:9091       # Transmission Web UI
      - 51413:51413     # Transmission
      - 51413:51413/udp # Transmission

  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Taipei
      - TRANSMISSION_WEB_HOME= #optional
      - USER=${TRANSMISSION_USER}
      - PASS=${TRANSMISSION_PASS}
      - WHITELIST= #optional
      - PEERPORT= #optional
      - HOST_WHITELIST= #optional
    volumes:
      - ./transmission/config:/config
      - ./transmission/downloads:/downloads
      - ./transmission/watch:/watch
      - ./openlist:/opt/openlist/data
      - ./transmission:/opt/openlist/data/temp/transmission
    network_mode: service:adguard-vpn-cli

  openlist:
    image: 'openlistteam/openlist:latest-aria2'
    container_name: openlist
    restart: unless-stopped
    user: '1000:1000'
    ports:
      - "5244:5244"
    environment:
      - UMASK=022
    volumes:
      - ./openlist:/opt/openlist/data
      - ./openlist/downloads:/downloads

.env 文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# VPN 設定 (Gluetun)
VPN_ENDPOINT_IP=ENDPOINT_IP
VPN_ENDPOINT_PORT=ENDPOINT_PORT
WIREGUARD_PUBLIC_KEY=PUBLIC_KEY
WIREGUARD_PRESHARED_KEY=PRESHARED_KEY
WIREGUARD_PRIVATE_KEY=PRIVATE_KEY
WIREGUARD_ADDRESSES=WIREGUARD_ADDRESSES

# Aria2
ARIA2_RPC_SECRET=SECRET

# Transmission
TRANSMISSION_USER=USER
TRANSMISSION_PASS=PASS

# VPN 設定 (AdGuard)
# 關於以帳號密碼的方式登入已經被棄用,詳細登入方式請參照原作者說明
ADGUARD_USERNAME="ADGUARD_USERNAME"
ADGUARD_PASSWORD="ADGUARD_PASSWORD"
ADGUARD_CONNECTION_LOCATION="NL"
ADGUARD_CONNECTION_TYPE="TUN"
# 關於以帳號密碼的方式登入已經被棄用,詳細登入方式請參照原作者說明
ADGUARD_SOCKS5_USERNAME="SOCKS5_USERNAME"
ADGUARD_SOCKS5_PASSWORD="SOCKS5_PASSWORD"
ADGUARD_SOCKS5_HOST="127.0.0.1"
ADGUARD_SOCKS5_PORT=1080
ADGUARD_SEND_REPORTS=false
ADGUARD_SET_SYSTEM_DNS=false
ADGUARD_USE_CUSTOM_DNS=true
ADGUARD_CUSTOM_DNS="1.1.1.1"
ADGUARD_USE_KILL_SWITCH=true
ADGUARD_USE_KILL_SWITCH_CHECK_INTERVAL=30
ADGUARD_UPDATE_CHANNEL="release"
ADGUARD_SHOW_HINTS="on"
ADGUARD_DEBUG_LOGGING="on"
ADGUARD_SHOW_NOTIFICATIONS="on"
ADGUARD_PROTOCOL="auto"
ADGUARD_POST_QUANTUM="off"

OpenList Docker 設定文件注意事項

  1. 使用 UFW 防火牆的用戶,需注意 Docker 會讓 Linux 的 UFW 防火牆失效,若只需要給內網訪問,需要在 port 前加入127.0.0.1設定
1
2
3
# 範例 - 僅內網訪問
	ports:
      - "127.0.0.1:5244:5244"
  1. 需要給 ./openlist ./qbittorrent ./aria2 ./transmission等目錄給予正確的使用者訪問權限
  2. OpenList 管理 -> 設置 -> 其他 離線下載配置(供參)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Aria2
Aria2 地址:
http://localhost:6800/jsonrpc

# qBittorrent
qBittorrent URL:
http://帳號:密碼@gluetun:8080/

# Transmission
Transmission URI:
http://帳號:密碼@adguard-vpn-cli:9091/transmission/rpc

關於某 A 家 VPN 的評論

  1. 沒有使用 Youtube Premium 的話,可以使用他家的 CN 虛擬節點訪問 Youtube 影片,直接給你無廣告的使用體驗。

  2. 不知道為何使用亞洲節點 BT 下載速度超慢,需要切換至荷蘭節點速度才跑的上來!?

  3. 由於不像某鯊魚商家支援 WireGuard 協議,所以在 Apple TV (tvOS) 上使用無望。

附註:

某 A 家 : Adguard