Daniel's Blog
× 私有图床 私有云 离线下载 茶茶子の小站

之前手里有一台 G-Core 家的伯力 VPS,而且还是绝版传家宝的那种,靠近边疆延迟低,硬盘 SSD 速度快,500 Mbps 速度快,价格便宜 88 RUB/月(8.69 CNY, Jul 22, 11:17 UTC)。而唯一的缺点就是:储存空间只有 10 G,如果用来搭建网盘和离线下载,虽然可以挂载网盘,但是体验不佳,挂载网盘也需要将文件先下载下来再上传。听闻 BuyVM(和 FranTech 都是一家) 家的 Las Vegas VPS 可以挂载储存区块,G 口,而且价格便宜,就入手体验了一下,用来搭建网盘和下载。

1. 购买

FranTech 官网链接(带 aff),进入之后选择“Order Hosting”,页面的左边是产品种类。

FranTech 上的产品种类

FranTech 上的产品种类

这里由于我们要使用储存区块,所以只能选拉斯维加斯的 VPS。第一项是机器,第四项是储存区块,里面有不同价格的各种机型,请按需购买。

不过这时你很有可能会发现因为缺货而无法购买,据了解,每月 10 号左右会补货[1],每天凌晨 1 点左右也会补货[2](所以 10 号 1 点左右可能就一定有货?)。

商家支持多种方式付款,包括但不限于信用卡、加密货币、Paypal、WebMoney 以及支付宝(可能支持微信支付)。其中使用支付宝付款时(其他方式不清楚),虽然页面上标识的价格是 USD,但实际上却是 CAD 加元。以下图片是本月我续费的价格,我所购买的都是最低档的配置。

网站上的价格

网站上的价格

支付宝实际支付的价格

支付宝实际支付的价格

1 CAD = 5.21 CNY(Jul 22, 11:37 UTC),如此来看,这个价格是非常便宜了。

另一个需要注意的问题就是个人信息填写与代理工具使用,网上有人说这家审核很严格:

接着填写相关信息,地址姓名用拼音就行。需要注意以下几点:这家服务商审查比较严,注册和购买服务器时也不建议用梯子,防止以后 IP 变来变去被系统认定为欺诈,轻则会进入人工审核时间会拖好几天,重则可能封号;信息尽量不要乱填一些国外的,姓名随便整个中文名也没关系;电话选中国 +86 的,号码不用真的也没关系,不会给你发短息之类,但是不要乱填国外的;国家省份城市要跟你的 IP 所在地对的上,街道不用很详细,随便写你这个城市一个街道或小区都可以。如果真的要用梯子也因为用了梯子导致人工审核,可以给客服发个工单说下原因,比如你不用梯子打不开网站之类的客服会帮你处理的。[3]
注册时邮箱要跟 Paypal 一致,以免虚假资料被审核。[2]

不过我注册时使用了代理工具,个人信息用的是 FauxID 身份生成器生成的,电话用的是 GV 的号码,地址与 IP 并不对应。虽然我购买和使用并没有什么问题,但是在设置的添加支付方式中却有这样的提示:

支付方式限制

支付方式限制

另外这也是为何上文提到可能能够使用微信支付的证据,也许是因为个人 IP 的原因,所以支付选项中没有此选项。

2. 安装 & 配置系统(网络、储存、用户)

不知道应该表扬还是批评,这家竟然不自动安装系统,需要用户到后台面板手动安装。

所谓后台面板就是那个 Stallion,功能很全,尤其是系统这里,不仅提供 Debian、Ubuntu、CentOS、Fedora 这些主流发行版多个版本的自动重装服务,还提供了包括 Windows 和 BSD 在内多种系统的 ISO 镜像,供用户手动安装。这里我安装了 Ubuntu 20.04。

另外在购买 VPS 完成后,后台面板的登录信息会自动发送到你的邮箱中,如果未收到请去垃圾箱中检查。

1. 网络配置

系统安装完成后就可以进行其他配置了。在面板的 Networking 中(VPS 下的那个,不是页面顶部的那个),可以免费添加多个 IPv6 地址。

添加后 SSH 登录到 VPS,修改 /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false # 静态地址,解决获取地址时间长的问题
      dhcp6: false # 必须静态地址
      addresses:
        - 205.X.X.X/24 # IPv4 地址,按实际情况填写
        - "2605:X::1/48" # IPv6 地址,按实际情况填写
      gateway4: 205.X.X.1 # IPv4 网关,按实际情况填写
      gateway6: "2605::1" # IPv6 网关,按实际情况填写
      nameservers:
        addresses:
          - 8.8.8.8
          - 2001:4860:4860::8888
          - 8.8.4.4
          - 2001:4860:4860::8844 # DNS 地址,按个人喜好填写
    eth1:
      dhcp4: true # 内网地址,用于同位置机器间通过内网不计流量的网络传输(现在貌似无用),后台可见,自动获取即可
      link-local: [  ] # 不获取本地链路地址,按个人喜好填写,可删

保存退出,执行:

# netplan apply

这时 SSH 可能会无响应,稍等几分钟,等待网络配置完成即可,此时运行:

# ip addr
# networkctl status
# systemd-resolve --status

可查看各种网络配置信息,此时 ping IPv4 和 IPv6 的地址和域名应该正常,如出现问题请重启,或检查问题。

经测试,开启 BBR 后可以显著提升网络传输速度。编辑 /etc/sysctl.conf

…
# 使用 FQ 队列算法,貌似这种比 FQ_CoDel、Cake 更加常用,效果更好?
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

保存后运行:

# sysctl -p
# sysctl net.ipv4.tcp_available_congestion_control
$ lsmod | grep bbr

如后两条指令都出现“bbr”字样说明加载成功,否则考虑手动加载内核模块。

# modprobe tcp_bbr

之后编辑 /etc/modules 设置开机自动加载。

…
tcp_bbr

保存并退出即可。

这里说明一下,其实这里的 tcp_bbr 模块和之前在 V2Ray 透明代理中提到的 xt_TPROXY 等一系列内核模块一样,没有必要手动加载,系统会根据文件中的配置进行自动按需加载,至少在 Ubuntu 20.04 与 18.04 上如此。之所以我会写这一部分是因为个人一直在使用 Ubuntu 新版本,不能确定旧版本以及其他系统的情况,事实上在网上的很多教程中还提到了关于内核版本的问题,但个人认为对于 Linux kernel 已经达到 5.x.x 的现在,这种确认已经过时了。所以在以后的文章中,无特殊情况我都会根据 Ubuntu 最新版进行编写,不过如果在发布之后发现问题,无论多久的文章,除非真的失去了时效性或是其存在价值,我都会进行一定的修改。就像我这里写 BBR 部分的时候,发布之后发现这里缺少内容,于是进行补充,在这个过程中,经过测试,又发现 V2Ray 透明代理中关于加载模块的部分没有太大必要,于是就把他从文章前部放到了后部,避免读者做无用功。

2. 储存区块配置

接下来就是挂载储存区块了,首先需要在后台将储存添加到 VPS 中,然后在 VPS 中进行分区、格式化后挂载。

# fdisk /dev/sda # 正常来说都会显示为 sdX

此时会进入 fdisk 命令界面,首先输入 o 创建 MBR 分区表,之后输入 n 创建分区,最后输入 w 进行保存。具体操作方式请自行阅读软件提示或在网络上进行查找。

之后输入

# mkfs.ext4 /dev/sda1

进行分区格式化。再更改 /etc/fstab 文件进行挂载配置。

/dev/sda1 /home ext4 defaults 0 0 # 这里我选择将储存区块挂载到整个 /home 目录
# mount /dev/sda1 # 由于已经配置了 fstab 文件,所以使用 mount 指令时无需其他选项
$ df -h # 查看挂载情况

3. 用户配置

由于需要使用 /home 目录,也为了增加安全性,顺便新建一个用户。这里将“steve”作为新用户名。

# useradd -m -g sudo -s /bin/bash steve # 创建 steve 用户,创建用户主目录,添加到 sudo 用户组以使用 sudo 指令,使用 bash 作为默认 Shell
# passwd steve # 更改密码

使用 su 指令或使用新用户名登录 VPS 即可切换用户。

3. 安装 Cloudreve 配置个人网盘

Cloudreve 是一款使用 Go 语言编写,支持多家云存储的云盘系统。相比于 Nextcloud、Seafile 这些比较老牌的网盘系统,Cloudreve 更加简洁、轻便、迅速、开箱即用,同时支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive(包括世纪互联版)作为存储端,还可以对接 Aria2 离线下载,非常符合我的个人需求。[4]

搭建之前建议仔细阅读官方文档,我的步骤只是在比较理想的情况下的一种方案记录而已,但每个人的实际情况不同,所以在配置过程中难免会出现大大小小的问题,这时仔细阅读程序的官方文档不失为一种有效的问题解决方法。

演示环境为 Ubuntu 20.04,Cloudreve 相关文件会储存在用户主目录下的 cloudreve 文件夹中。

$ cd
$ mkdir cloudreve
$ cd cloudreve
$ wget https://github.com/cloudreve/Cloudreve/releases/download/3.1.1/cloudreve_3.1.1_linux_amd64.tar.gz # 最新版本请访问 GitHub 项目网页的发布页面
$ tar -zxvf cloudreve_3.1.1_linux_amd64.tar.gz
$ chmod +x cloudreve
$ rm cloudreve_3.1.1_linux_amd64.tar.gz
$ ./cloudreve

第一次运行成功后会显示管理员用户名和密码(请进行记录)并生成配置文件。此时访问 服务器 IP:5212 会进入到网盘登录界面,输入记录的用户名和密码就会看到文件管理页面。如果运行成功,停止 Cloudreve 程序,配置 Systemd 单元守护服务。

创建 /etc/systemd/system/cloudreve.service

[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
Wants=network.target

[Service]
WorkingDirectory=/home/用户名/cloudreve
ExecStart=/home/用户名/cloudreve/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target
# systemctl enable cloudreve --now

虽然可以正常使用,但是 HTTP 明文传输并不安全,而且与后面 Aria2 的配置可能存在冲突,所以这里使用 Caddy 2 作为网站与反向代理服务器。

安装方法很简单,请自行到官网阅读文档,此处不多加赘述。(这里稍微插一下,写文章时浏览了一下 Caddy 的官网,发现和 v1 一样,支持在线编译模块,这真是太棒了!由于有时候需要使用到 Cloudflare 的 CDN,自动获取 TLS 证书时又需要进行验证,而由于使用了 CDN,所以只能使用 DNS 方式进行验证。v1 时可以在网页上加入 Cloudflare 模块并一键生成安装脚本,而到了 v2,需要自己手动编译,编译速度又很慢,而且容易出错,所以就一直在使用 v1。但是现在已经支持了在线编译模块并下载二进制程序,虽然需要手动安装,不过由于 Go 语言单文件的特性,只需先使用 APT 进行安装,然后替换文件即可。本来觉得 v2 的 Caddyfile 变得复杂了,使用之后觉得还不错,再加上 Caddy 官方已经删除了 v1 的网页页面,此时不升级到 v2,更待何时?)

编辑 /etc/caddy/Caddyfile

cloud.example.com {
  reverse_proxy 127.0.0.1:5212
  encode gzip
}

之后重启服务即可。

4. 配置 Aria2 离线下载

1. 配置 Aria2

Aria2 在 Ubuntu 官方源里面就有,直接安装即可。

# apt install aria2

之后在 $HOME/.aria2 下创建 Aria2 需要使用的文件并编辑 aria2.conf

$ cd
$ mkdir .aria2
$ cd .aria2
$ touch aria2.conf aria2.session dht.dat dht6.dat
$ vim aria2.conf
enable-rpc=true
rpc-allow-origin-all=false
rpc-listen-all=false
# RPC 服务器密钥,防止被他人使用 Aria2,如需要请在下文 Cloudreve 或 AriaNg 对应处进行填写
# rpc-secret=<TOKEN>

# 下载文件默认储存在用户主目录的 Download 文件夹下
dir=/home/用户名/Download
continue=true
save-session=/home/用户名/.aria2/aria2.session
save-session-interval=30
input-file=/home/用户名/.aria2/aria2.session

file-allocation=none
remote-time=true
content-disposition-default-utf8=true
max-connection-per-server=16
min-split-size=1M
split=16
http-accept-gzip=true

之后创建文件 /etc/systemd/system/aria2.service

[Unit]
Description=Aria2

[Service]
ExecStart=/usr/bin/aria2c --conf-path=/home/用户名/.aria2/aria2.conf
Restart=on-abnormal
RestartSec=5s
User=用户名
Group=用户名

[Install]
WantedBy=multi-user.target
# systemctl enable aria2 --now

为了更好的安全性以及后续 AriaNg 前端网页面板的使用,这里使用 Caddy 反向代理 Aria2 RPC 服务器。添加以下内容到 Caddyfile:

aria2.example.com {
  reverse_proxy /jsonrpc 127.0.0.1:6800
  encode gzip
}

2. 配置 Cloudreve

登录 Cloudreve 管理员账号,进入管理面板 -> 参数设置 -> 离线下载,修改参数。

Cloudreve 离线下载配置

Cloudreve 离线下载配置

修改完毕后点击“测试连接”,如可以成功连接则“保存”并退出。

3. 配置 AriaNg

虽然至此,我们的所有主目标均已实现,但 Cloudreve 在对于 Aria2 方面的功能比较单一,如果想要更好的使用它,就需要安装网页前端面板,这里使用 AriaNg

# apt install unzip
# mkdir -p /var/www/aria2
$ cd /var/www/aria2
# wget https://github.com/mayswind/AriaNg/releases/download/1.1.6/AriaNg-1.1.6.zip # 最新版请自行到发布页面检查并下载
# unzip AriaNg-1.1.6.zip
# rm AriaNg-1.1.6.zip
# chown -R www-data:www-data /var/www

接着编辑 Caddyfile:

aria2.example.com {
  reverse_proxy /jsonrpc 127.0.0.1:6800
  encode gzip
  root * /var/www/aria2
  file_server
}

并重启 Caddy 服务。

在浏览器中打开 aria2.example.com,点击 AriaNg 设置 -> RPC……进行填写。“Aria2 RPC 地址”中填写 aria2.example.com:443,其他按需调整,完成后点击“重新加载 AriaNg”。

这里就可以体现出我们使用 Caddy 进行反向代理的一些原因。可以看到,在“Aria2 RPC 协议”中,只能选择带有加密的选项,这时因为 AriaNg 使用了 TLS 为保证安全性的缘故。使用 Caddy 配置 Aria2 RPC 服务的 TLS 证书而不是在 Aria2 中进行设置更加简洁,更易管理。

参考

  1. 低价大盘鸡frantech (大硬盘VPS G口带宽不限流量 适合做私有网盘离线下载)
  2. Frantech购买Block Storage Slabs,BuyVM挂载存储盘方法教程! 256G只要1.25美元_猪机博客
  3. kvm [Frantech/BuyVM Wiki]
  4. Get Started | Public DNS | Google Developers
  5. Reference | Netplan
  6. BuyVM Block Storage 挂载方法-教程-凤梨酥
  7. fstab - ArchWiki
  8. 快速开始 - Cloudreve
  9. Users and groups - ArchWiki
  10. ubuntu创建新用户命令(useradd和adduser)的使用方法和区别_Ubuntu/Debian_操作系统_脚本之家
  11. 在 Ubuntu 中如何将用户添加到 Sudoers - 云+社区 - 腾讯云
  12. Sudo - ArchWiki
  13. Welcome — Caddy Documentation
  14. 安装Aria2+AriaNg – 海天无影's Blog
  15. Nginx 反向代理 Aria2 JSONRPC | Kenvix's Blog
  16. 请问如何允许 aria2 多线程下载? - V2EX
  17. aria2c(1) — aria2 1.35.0 documentation
  18. 为VPS开启BBR拥塞控制算法 | iTimothy
  19. BuyVM - Features

引用

标签: Cloudreve, Aria2, 离线下载, 个人网盘, BuyVM, FranTEch, Linux, 云盘, 大盘鸡

已有 2 条评论

  1. 你好长哦~
    虽然看不懂但是很厉害就对了!

    1. 终于有人评论啦,好感动啊 QAQ!😭

      不过这篇还不算长呢!

添加新评论