Please enable JavaScript to view the comments powered by Disqus.

VPS的使用方式——服务篇

作为一名有着Google刚需的编程界人士,应该有随时随地都能访问Google等404服务的手段。除了给自己打开一扇世界之窗之外,VPS还有其他各种各样的打开方式。

如果你使用了iptables等防火墙,记得配置完之后开放对应的端口。

UPDATED 2018/6/22: 修改SS配置样例

科学上网

相信大多数人买个VPS的目的就是为了科学上网。Debian 9默认源里就有shadowsocks-libev,不过我还是推荐从stretch-backports里安装最新版。

1
2
3
apt -t stretch-backports install shadowsocks-libev
# 利用systemd开启shadowsocks
systemctl enable shadowsocks-libev-server@config.service && systemctl start shadowsocks-libev-server@config.service

之后创建/etc/shadowsocks-libev/config.json

1
2
3
4
5
6
7
8
9
{
"server": "0.0.0.0",
"server_port": <ss-port-number>,
"password": "<ss-password>",
"timeout": 60,
"method": "aes-256-cfb",
"fast_open": false,
"workers": 1
}

如果你需要IPv4和IPv6双栈的SS,那么针对shadowsocks-libev来说server得设置成["[::0]","0.0.0.0"]。网上其他文章里说设置成"[::0]"就行的,那是针对其他SS服务器端,在shadowsocks-libev就得这么设置。

server_port是给SS服务器端分配的端口号,记得选个不那么常用的(被各大教程使用的8080端口由于使用人数太多导致极其容易被监测)。还有些人喜欢占用https的443端口假装自己是在浏览网页,其实这种做法……破绽很大,因为能够在443上面发现明显不是https协议的通讯。要想真正的假装在上http/https,还得用SSR的混淆功能,或者是simple-obfs插件。

在其他地方教程的配置文件中,可能会有local_portlocal_address这两个对SS服务器端完全无用的条目,不建议填写。在shadowsocks-libev更新3.2.0之后,我的服务器端如果有这两个条目会直接导致服务器端启动报错。

fast_open建议关闭,开启的话会增大你被发现的机率[1]

method指定一个加密算法,最简单、计算速度最快的是rc4-md5但是容易被查出来(RC4和MD5算法都已经被攻破了);兼容性好的是aes-256-cfb;新潮的就使用chacha20系列(计算量比AES系列小,因此对移动端有加成),但是可能部分SS客户端不支持这系列算法。在这里要强调一点:SS的加密算法设计出来并不是为了保证数据安全,而是为了加密流量增加方校长他们的监测难度。加密算法在网络速度中占不了太大比重,反倒是服务器带宽最重要。

iOS的SS客户端我使用FirstWingy(不支持SSR),Wingy国区弄不到,小火箭又要钱……

如果你担心自己的SS被查出来,那么可以去使用SSR开启混淆;如果你觉得你的SS速度太慢,可以外面套一层kcptun加速(kcptun是通过多发包消耗流量来换取速度,慎用)。

如果你想给SS配置多个用户的话,那么删掉server_portpassword,改成如下内容:

1
2
3
4
5
6
7
8
9
{
...,
"port_password": {
"<port1>": "<password1>",
"<port2>": "<password2>",
...
},
...
}

但是shadowsocks-libev主程序ss-server不支持port_password选项,要么更换成ss-manager,要么ss-server多开。下面是我用的systemd service unit文件(文件名为ss-manager@.service):

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Shadowsocks manager server
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/ss-manager --manager-address /var/run/shadowsocks-manager.sock -c /etc/shadowsocks-libev/%i.json

[Install]
WantedBy=multi-user.target

不过据说SS给多人使用会增加被发现的机率。

aria2离线下载

百度云的离线下载容易被查,离线完了下载速度还有限制,超烦的。都有了自己的服务器为什么不自己弄一个离线下载呢?

aria2是一个轻量级的下载器,还支持多线程下载、BT/磁力下载,还提供了JSON/XML的远程控制方式,超强。

首先来一发apt install aria2安装好。之后创建文件/etc/aria2/aria2.conf作为aria2的配置:

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
# 下载目的地,自己选个路径吧
dir=/var/www/files
# 开启断点续传
continue=true
# 保存/读取未完成任务,需要创建一个空文件/etc/aria2/aria2.session
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
# 日志路径,需要创建空文件/var/log/aria2.log
log=/var/log/aria2.log
# 日志等级
log-level=warn

# 最大下载线程
max-concurrent-downloads=10
max-connection-per-server=5
# 文件分块下载最小大小
min-split-size=10M

# 开启RPC
enable-rpc=true
# 为了使用Web端控制台,必须开启这两项
rpc-allow-origin-all=true
rpc-listen-all=true
# RPC端口,默认6800
rpc-listen-port=6800
# RPC控制的密码,最好是开启
rpc-secret=PyaM9DBv
# 使用SSL加密,可选
rpc-secure=true
rpc-certificate=<certificate-file>
rpc-private-key=<private-key-file>

# 磁力下载到种子之后暂停,而不是自动下载全部文件
pause-metadata=true
# 保存DHT的路径,需要创建空文件/etc/aria2/dht{,6}.dat
dht-file-path=/etc/aria2/dht.dat
dht-file-path6=/etc/aria2/dht6.dat
# 伪装为Transmission客户端
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# BT断点续传需要,可以开启
bt-seed-unverified=true
# 保存磁力下载到的种子文件
bt-save-metadata=true

之后写一个aria2c.service来配置aria2后端,可以放在/etc/systemd/system/或者/lib/systemd/system/里:

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Aria2 download manager
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/aria2c --console-log-level=warn --enable-rpc --rpc-listen-all --conf-path=/etc/aria2/aria2.conf

[Install]
WantedBy=multi-user.target

之后systemctl daemon-reload && systemctl enable aria2c && systemctl start aria2c就行了。

如果你需要BT作种,得开放对应的端口。在VPS上其实不推荐使用BT下载,因为盗版大多数是BT,VPS服务商为了避免版权纠纷在这方面查得比较严,稍有不慎你的VPS就可能会被封掉。

配置好aria2后端之后推荐使用一个WebUI配套。我个人推荐使用AriaNG,还有很多其他的可以用。你可以在自己的VPS上放一个WebUI,也可以用别人做好的。WebUI在哪里都无所谓,毕竟是远程管理不用和aria2后端放在一起。以下是比较有名的WebUI:

KMS服务器

KMS是用于激活微软批量授权产品的技术,网上很多Windows/Office授权破解其实是自己弄了个KMS服务器,然后每180天上这里来刷新一下授权状态。网上流传很多KMS破解工具,但是用起来实在不放心,带毒没带毒你也说不好,不如自己弄一个KMS省心。

要弄自己的KMS的话你得使用vlmcsd,它是一个KMS模拟器,支持许多代协议。从vlmcsd Releases下载编译好的二进制(目前最新的版本是svn1111),再写一个systemd unit,差不多就配置完了。

KMS服务的端口号是TCP的1688,记得打开。

压缩包里包含了所有平台所有OS的二进制,我们这个64位Debian 9就选择Linux/intel/glibc/vlmcsd-x64-glibc就行了(注意有个d),解压之后放到/usr/local/bin/

创建vlmcsd.service如下:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=KMS Emulator
After=network.target

[Service]
Type=simple
User=nobody
ExecStart=/usr/local/bin/vlmcsd -D -e

[Install]
WantedBy=multi-user.target

(可选)创建vlmcsd.socket如下:

1
2
3
4
5
6
7
8
9
[Unit]
Description=KMS Emulator socket

[Socket]
ListenStream=1688
Accept=yes

[Install]
WantedBy=sockets.target

daemon-reload, enable, start三连,OK。

KMS激活Windows

开一个管理员权限的cmd,然后:

1
2
3
4
5
6
# 设置对应Windows版本的批量授权序列号
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx
# 设置KMS服务器地址
slmgr /skms <VPS IP或域名>
# 执行激活
slmgr /ato

有关序列号,访问Appendix A: KMS Client Setup Keys找到自己系统对应的序列号。

KMS激活Office

此方法仅支持VOL版Office,零售版是不支持的。

开一个管理员权限的cmd,进入你的Office目录(比如Office 2016 64位就需要进入C:\Program Files\Microsoft Office\Office16,如果目录正确的话应该有个OSPP.VBS的文件),然后:

1
2
3
4
5
6
# 配置KMS服务器
cscript ospp.vbs /sethst:<VPS IP或域名>
# 开始激活
cscript ospp.vbs /act
# 检查激活状态
cscript ospp.vbs /dstatus

如果激活状态中出现LICENSE STATUS: —LICENSED—说明成功了。

私有云盘服务

神奇的8秒教育视频把你的小姐姐给替换没了,好气啊,怎么办?自己弄一个云盘服务啊!

出现得早的ownCloud和它的fork nextCloud都需要LAMP环境,我这种小门小户的小鸡支撑不起。Seafile是Python开发、可以使用SQLite做MySQL的替代,就它了。其实还有其他更加轻量级的私有云方案,比如Syncthing,但它没有好用的iOS客户端,只好忍痛放弃了。


  1. tcp fast open可能会导致ss被发现?

作者:Dr. A. Clef
发布日期:2018-02-28
修改日期:2018-06-22
发布协议: BY-SA