Thứ Sáu, 31 tháng 7, 2020

Hướng Dẫn Tạo Seedbox Từ VPS Với Ubuntu

Hướng dẫn này áp dụng được cho cả Debian và Ubuntu. Người viết đề nghị dùng Ubuntu 18.04 LTS tại thời điểm viết do các phần mềm cho Ubuntu thường được cập nhật sớm hơn so với Debian.

Tạo tên miền

Để việc truy cập đến seedbox được đơn giản và bảo mật, người dùng nên tạo một DNS miễn phí để dễ nhớ cũng như xin SSL miễn phí của Let’s Encrypt để bảo mật thông tin giữa máy người dùng và seedbox.

DuckDNS

Đăng ký domain miễn phí tại https://www.duckdns.org/.
Với VPS có IP tĩnh: sau khi tạo domain, cập nhập domain để trỏ về IP của VPS.
Với VPS có IP động:
  1. Mở trang https://www.duckdns.org/install.jsp
  2. Chọn domain mới tạo
  3. Copy nội dung của dòng lệnh cập nhật IP
  4. SSH vào VPS
  5. Chú ý không dùng sudo cho các bước tiếp theo.
  6. Gõ mkdir duckdns để tạo thư mục duckdns chứa script cập nhật IP và tập tin chứa log.
  7. Gõ nano ~/duckdns/duck.sh để tạo script cập nhật IP.
  8. Bấm chuột phải vào cửa sổ SSH để dán dòng lệnh đã copy ở bước (3).
  9. Bấm Ctrl+X để thoát nano, bấm Y rồi Enter để xác nhận lưu nội dung script.
  10. Gõ chmod 700 ~/duckdns/duck.sh để cấp quyền chạy cho script.
  11. Gõ ~/duckdns/duck.sh ; cat ~/duckdns/duck.log để chạy thử script. Nếu nội dung ở bước (3) thành công, script sẽ hiện OK. Nếu script hiện KO hoặc báo lỗi, làm lại từ bước (3).
  12. Gõ lệnh crontab -e để lên lịch cho script tự động chạy.
  13. Dùng phím mũi tên di chuyển đến dòng cuối rồi dán vào: */5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
  14. Bấm Ctrl+O rồi Ctrl+X để lưu.
Sau khi đã hoàn thành các bước trên (IP tĩnh hoặc IP động), domain đã tạo sẽ trỏ về VPS, và người dùng có thể dùng lệnh ssh XXX@YYYY.duckdns.org

Swizzin

Swizzin là phần mềm để hỗ trợ cài đặt:
  • rtorrent: phần mềm torrent rất được các seedbox ưa chuộng.
  • rutorrent: giao diện phổ biến cho rTorrent với rất nhiều plugin.
  • deluge: phần mềm torrent có tốc
  • panel: giao diện quản lý seedbox
  • Dung lượng ổ cứng, mức đã dùng và còn trống.
  • Dung lượng RAM và mức dùng hiện tại.
  • Mức độ sử dụng CPU.
  • Tốc độ down/up hiện tại, dung lượng up/down mỗi ngày/tuần/tháng.
  • Bật/tắt các dịch vụ đã cài như rTorrent, Deluge, GetNZB,...
  • Link đến các dịch vụ đã cài như rTorrent, Deluge, GetNZB,...
  • Link để truy xuất đến các thư mục tạm của phần mềm torrent như rTorrent hoặc Deluge.
Các bước cài đặt:
  1. Gõ lệnh sudo su rồi nhập mật khẩu SSH để thực hiện việc cài đặt với quyền quản trị.
  2. Gõ lệnh bash <(wget -O- -q  https://raw.githubusercontent.com/liaralabs/swizzin/master/setup.sh) rồi bấm Enter để bắt đầu quá trình cài swizzin.
  3. Swizzin sẽ kiểm tra hệ thống (có thể mất vài phút nếu chạy lần đầu) rồi hiện thông báo sẵn sàng. Bấm Enter để tiếp tục.
  4. Nhập tên user để sau này dùng với swizzin rồi bấm Enter. Tên user này không được trùng với tên user đang login vào SSH.
  5. Nhập mật khẩu cho swizzin rồi bấm Enter.
  6. Dùng phím mũi tên ↑↓ để di chuyển giữa các chức năng, bấm phím khoảng trắng để chọn/huỷ chọn cài đặt rồi bấm Enter để tiếp tục.
    Các mục có thể chọn:
  1. nginx: nên chọn. Dịch vụ này cho phép người dùng truy cập vào các dịch vụ bằng đường dẫn (x.duckdns.org/rutorrent) thay vì bằng cổng (x.duckdns.org:8080).
  2. rtorrent: chọn nếu muốn dùng rTorrent, rất phổ biến với các seedbox. Lưu ý đây chỉ là phần dịch vụ chạy nền, không phải phần giao diện.
  3. deluge: phần mềm torrent Deluge, rất phù hợp cho giành giật đua torrent.
  4. autodl:phần mềm để tự động download torrent từ các kênh IRC.
  5. panel: nên chọn, giao diện để quản lý seedbox. Xem thêm chi tiết ở phía trên.
  6. vsftpd: dịch vụ kết nối đến seedbox bằng FTP.
  7. ffmpeg: nên chọn. ruTorrent cần thư viện này để tạo screenshot cho phim/TV.
  8. quote: dịch vụ giới hạn không gian lưu trữ. Không nên chọn nếu seedbox chỉ một người dùng.
  1. Nếu chọn rtorrent, chọn một hoặc cả hai giao diện cho rTorrent rồi bấm Enter.
  1. rutorrent: giao diện quen thuộc cho rTorrent được sử dụng với rất nhiều seedbox, nhiều chức năng.
  2. flood: giao diện đơn giản cho rTorrent, không nhiều chức năng nhưng tiện lợi hơn.
  1. Nếu có chọn rtorrent, chọn phiên bản rTorrent muốn cài.
  2. Nếu có chọn deluge, chọn phiên bản Deluge muốn cài. Deluge 2.x có thêm chức năng Skip hash check khá tiện cho việc seed torrent.
  3. Chọn phiên bản cho thư viện torrent được dùng cho cả rTorrent và Deluge.
  4. Chọn thêm các phần mềm khác nếu muốn
  1. Transmission: phần mềm tải torrent.
  2. bazarr: phần mềm tự động tải về phụ đề cho phim/TV.
  3. Btsync, syncthing: phần mềm sync file.
  4. couchpotato, radarr: phần mềm tự động tải phim.
  5. sickchill, sickgear, sonarr: phầm mềm tự động tải TV.
  6. emby, jellyfin, plex: phần mềm quản lý các tập tin media.
  7. filebrowser: giao diện web đơn giản để truy cập các tập tin, không nhiều chức năng.
  8. flood: giao diện đơn giản cho rTorrent.
  9. headphones, lidarr: phần mềm tự động tải nhạc.
  10. jackett: phần mềm tìm kiếm tất cả các tracker (yêu cầu account các tracker).
  11. letsencrypt: nên chọn, SSL cho nginx để truy cập seedbox bằng HTTPS.
  12. librespeed: phần mềm kiểm tra tốc độ đường truyền, tương tự như speedtest.
  13. nzbget, sabnzbd: phần mềm tải từ usenet
  14. nzbhydra: phần mềm tìm kiếm usenet từ các indexer, yêu cầu phải có tài khoản indexer.
  15. pyload, rapidleech: phần mềm tải tập tin từ các host như mega.
  16. wireguard: phần mềm tạo VPN.
  17. x2go, xmrig,znc: phần mềm điều khiển VPS thông qua GUI.
  1. Swizzin sẽ chạy một hồi lâu để cài các phần mềm đã chọn.
  2. Nhập domain đã tạo ở phần DuckDNS vào rồi bấm Enter.
    Chọn y rồi Enter để cập nhật nginx dùng HTTPS.
    Chọn n rồi Enter vì domain đăng ký của DuckDNS.
  3. Gõ lệnh reboot để khởi động lại VPS và cho các dịch vụ của Swizzin bắt đầu chạy.

Tham khảo thêm

Tối ưu hoá hệ điều hành

Cài nhân Linux XanMod

Ubuntu sẵn có trên VPS thường đi kèm lõi Linux mặc định phù hợp cho nhiều tác vụ như một máy chủ nhưng chưa được tối ưu hoá cho việc upload torrent. Để tối ưu hoá VPS, XanMod là lựa chọn được nhiều người dùng.
  1. Chạy dòng lệnh sau để thêm XanMod vào danh sách cập nhật phần mềm cho Debian/Ubuntu:echo 'deb http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - https://dl.xanmod.org/gpg.key | sudo apt-key add -
    Nhập mật khẩu tài khoản SSH nếu được hỏi.
  2. Chạy dòng lệnh sau để cài XanMod:sudo apt update && sudo apt install linux-xanmod
    Bấm Enter khi được hỏi có cài XanMod không, việc cài đặt sẽ mất vài phút.
  3. Cài thêm chức năng tối ưu hoá theo CPU của server:
    Cho VPS dùng CPU Intel: sudo apt install intel-microcode iucode-tool
    Cho VPS dùng CPU AMD: sudo apt install amd64-microcode
  4. Khởi động lại VPS bằng lệnh sudo reboot

Cấu hình mạng cho torrent

Cấu hình mặc định của Debian/Ubuntu phù hợp cho internet thông thường. Để tối ưu hoá băng thông cho torrent, cần điều chỉnh một số cấu hình mạng:
  1. Nhập dòng lệnh sau để tạo tập tin cấu hình mạngsudo nano /etc/sysctl.d/10-custom-kernel-bbr.conf
  2. Copy nội dung bên dưới rồi bấm phải vào cửa sổ SSH để dán vào tập tin
net.core.default_qdisc=fq
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_wmem = 4096 12582912 16777216
net.ipv4.tcp_rmem = 4096 12582912 16777216
  1. Bấm Ctrl+X, Y, Enter để lưu tập tin.
  2. Khởi động lại VPS bằng lệnh sudo reboot

qBittorrent

Cài qBittorrent

  1. Thêm qBittorrent phiên bản mới nhất vào danh sách cập nhật phần mềm cho Debian/Ubuntu:sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable
  2. Cài qBittorrent bằng dòng lệnhsudo apt install qbittorrent-nox

Cấu hình để qBittorrent tự động chạy

  1. Tạo tập tin để chạy qBittorrentsudo nano /etc/systemd/system/qbit.service
  2. Copy nội dung bên dưới rồi bấm chuột phải vào cửa sổ SSH để dán, thay XXXX bằng tên tài khoản người dùng Swizzin
[Unit]
Description=qBittorrent Command Line Client
After=network.target
[Service]
#Do not change to "simple"
Type=forking
User=XXXX
Group=XXXX
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure
[Install]
WantedBy=multi-user.target
  1. Khởi động qBittorrentsudo systemctl start qbit
  2. Cấu hình để qBittorrent tự động chạysudo systemctl daemon-reload && sudo systemctl enable qbit
  3. Kiểm tra qBittorrent có đang chạy khôngsystemctl status qbit
qBittorrent đã được cài đặt và đang chạy ở cổng 8080. Login bằng tài khoản admin, mật khẩu adminadmin. Sau khi đã truy cập vào qBittorrent, vào phần cấu hình để thay đổi tên tài khoản và mật khẩu.

Cấu hình nginx để truy cập qBittorrent bằng đường dẫn /qbit

  1. Tạo tập tin cấu hình nginx cho qBittorrentsudo nano /etc/nginx/apps/qbit.conf
  2. Copy nội dung bên dưới rồi bấm chuột phải vào cửa sổ SSH để dán
location /qbit {
  return 301 /qbit/;
}
location /qbit/ {
  proxy_pass http://127.0.0.1:8080/;
  proxy_http_version 1.1;
  proxy_set_header X-Forwarded-Host $http_host;
  http2_push_preload on; # Enable http2 push
}
  1. Bấm Ctrl-X, Y, Enter để lưu tập tin cấu hình.
  2. Cho nginx cập nhật cấu hình bằng lệnhsudo service nginx reload
qBittorrent giờ có thể truy cập ở địa chỉ /qbit, ví dụ: http://XXX.duckdns.org/qbit

Thêm qBittorent vào Swizzin Panel

  1. Mở file thông tin cấu hình cho Panelsudo nano /opt/swizzin/swizzin/core/custom/profiles.py
  2. Copy đoạn code bên dưới rồi bấm chuột phải vào cửa số SSH để dán. Lưu ý: Không thay đổi 4 khoảng trắng trước các dòng.
class qbit_meta:
    name = "qbit"
    pretty_name = "qBittorent"
    baseurl = "/qbit"
    systemd = "qbit"
    check_theD = True
  1. Lưu thay đổi bằng cách bấm Ctrl-X, Y, Enter.
  2. Cho Panel biết có cấu hình mớisudo touch /install/.qbit.lock
  3. Tải icon cho qBittorrentsudo wget -O /opt/swizzin/swizzin/static/img/apps/qbit.png https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/New_qBittorrent_Logo.svg/200px-New_qBittorrent_Logo.svg.png
  4. Khởi động lại Panelsudo service panel restart
Giải thích về đoạn cấu hình:
  • name: mã định danh cho Panel phân biệt các dịch vụ.
  • pretty_name: tên hiển thị trên giao diện
  • baseurl: địa chỉ truy cập qBittorrent
  • systemd: tên dịch vụ để Panel kiểm tra trạng thái hoạt động và khởi động lại qBittorrent.
  • check_theD: cấu hình Panel để kiểm tra trạng thái hoạt động của qBittorrent thông qua dịch vụ qbit.

Bài đăng nổi bật

Timer điện tử Kawsan KW-TS17C

 

Popular Posts