搭建自己的梯子(科学上网)

作为一个程序员,无论如何得会科学上网,当然只是为了工作方便,保证不会干违法的事。

一、科学上网的方法

一般科学上网有两种方法:

1.1 购买第三方机场服务

一个月十来块,经济实惠,好处是不用自己维护,还可以选区域节点。

一个好的机场,大多数节点可用,但是像我这样,基本都是超时,挺难受的。

而且还有一个缺点:由于大家共用一个ip,总有人干敏感的事情,导致ip被污染,对于我们正常使用的用户来说,总会遇到验证,特别影响体验。

1.2 自建梯子

对于有点代码经验的来说,可能更倾向于自建梯子,好处是只有自己使用,安全稳定,ip正常使用也不会被污染,缺点是有一定的维护成本,价格相对于购买第三方,可能贵一点。

接下来介绍怎么自建梯子。

二、自建梯子

2.1 购买境外服务器

搭梯子vps推荐—— Vultr

点击我的推荐链接,进入充值,首充送100美刀~

地址: https://www.vultr.com/?ref=9188971-8H

Vultr是目前公认服务器性能最好的VPS服务商,而且套餐价格非常灵活,可否丰俭由人,选择最便宜的套餐也不会比垃圾vps贵多少,而且可以免费更换vps的IP地址。使用之前,ping一下速度如何,不行换一个就是了。

我们选第二项,Cloud Compute,点进去选服务器。

点击部署。

对于服务器性能,我们选择标准性能就行了,不用选择高性能(能省则省~)

往下滑,选择服务区的地区。

目前支持17个国家/地区的服务器,在使用过程中,可以随时停用或删除,然后切换到任何一个你想要的服务器位置。其计费方式是按照小时计费,意味着您如果

遇到IP被封的情况,可以随时删除当前的服务器,新建一个服务器获取新的IP地址,即可正常使用,十分方便。

国内用户选择洛杉矶硅谷的服务器,联通建议选择东京的服务器,根据我的测试,这几个地方的延迟最低,可能是国内使用的用户数量较少的原因。

但是我们选New York(NJ),即新泽西的服务器,因为只有这个地区的服务器最便宜(能省则省~)

往下滑,选择服务器系统镜像,我们这次选择我们熟悉的Centos7,当然你也可以选Ubuntu(乌班图)和Debian(大便)服务器。

往下滑,选择服务器规格。我们选择支持ipv4的最便宜的服务器,一个月3.5美刀,1核cpu,0.5GB内存,对于我们来说,完全够用(能省则省~)

ps:为什么我们选新泽西地区,因为只有这里有3.5美元的规格,别的都是5美元起步

往下滑,我们把自动备份关闭,就可以点击部署了~

等待部署完毕后,我们的服务器就算买好了。

Vultr的服务器是按时间收费的,不想用或者选错地区,可以随时销毁

2.2 注册域名

域名服务商很多很多,我们的目的是建设机场,成本要控制好,我推荐在namesilo购买–6元人民币/年。这是个不错的地方,域名便宜的–适合做翻墙的“掩护网站”。另外,还提供隐私保护–其他域名服务网站大多收费,这功能还是有必要的。

地址:https://www.namesilo.com

先进来注册账号,用邮箱就可以。

注册登录好之后,我们点击上图的搜索框,搜索我们想要的域名。

在namesilo购买注册,可以使用支付宝,最便宜的0.99美元,用1年。

选择好域名后,就可以继续下一步设置:

  • 注意这里先选择:WHOIS Privacy(保护隐私)
  • 其他选项不需要更改,继续。

之后就简单了:选择支付宝–先填入支付宝账号,然后扫描付款就搞定了。

2.2.1 域名注册后的一些设置

买了域名之后,我们还要进行一些简单设置,主要是把namesilo中的dns域名解释服务去掉,我们用cloudflare来干这些。另外,第一次使用namesilo,多少人

(包括我自己)不知道购买的域名在那里找,所以,写个说明给大家参考。

第一步:在网站的右上部分选择–My Account

第二步:在你的账号中选择刚才购买的域名

第三步:按上面👆那个‘1’(表示我刚才买了1个域名),进去后就看到下面👇的东东,按下那个浅蓝色的图标

第四部:删除里面所以的DNS设置,剩下我截图这个样子😄

到此为止,购买域名的部分就结束了,保留namesilo页面,下面还要用到

2.3 cloudflare中进行dns设置

地址:https://www.cloudflare.com/zh-cn/

第一步,去cloudflare网站注册一个免费的账号,cloudflare有中文,在右上角可以选择。至于为什么用cloudflare进行dns解释,大家有兴趣可以谷歌一下。反正

就是好用。

第二步,把购买的域名输入,然后按下“添加站点”

第三步,跟着一直按3步,直到我们的目标–“更改名称服务器”

第四步,将这个网页拉下一些,可以看到”添加cloudflare名称服务器“

第五步之1,上面这个截图,在namesilo中的位置–你的账号–选择购买的域名–最后选下面这个图标。回头看看上面的章节就知道在哪了。

第五步之2,将上面Cloudflare的两个“名称服务器”copy到namesilo中。这个就是cloudflare提供给我们的免费dns服务。把这两个贴到namesilo的相应位置,如下图:

  • 首先,按下 “Click here to select our Premium……”
  • 接着就可以拷贝这两个 dns了,将多余的dns删除掉。

第五步之3,在namesilo中不要忘记提交,很快就有结果。

第五步之4,在namesilo中核对一下返回的结果(刷新一下网页),如果是Cloudflare提供的dns就搞定了。

第六步,返回到Cloudflare页面中,选择“完成,检查名称服务器“

第七步,接着这部直接按完成就行,并会进入下面这个页面。我们选择Cloudflare图标–返回首页。

第八步,选择“电子邮箱验证”,加快进程。不这样做,可能要等Cloudflare干很久😭。验证成功,会在域名前面出现一个绿色的✅

第九步,修改SSL/TLS mode。

第十步,添加一条记录。

终于搞定,这里的每一步都不要出错。后面安装vps的时候,如果出现错误提示,一定是以上步骤出了问题。不要怀疑命令行的问题,很多安装说明并没有提到上

面的所有步骤。

2.4 自建梯子-服务器设置

自建机场,大概分成两个部分:vps服务器端的设置,客户端的设置。

  • 客户端安装一个软件就搞定;
  • vps服务器端有点麻烦,最好是安装一个图形界面,方便设置,而通常的“一键安装脚本”就是干这个的。

下面用的是X-ui 面板,有空大家可以去看看,我自己按照他们的说明安装了一下,代码本身没问题。不过,如果你是第一次折腾这些,最好

还是按照我上面介绍的关于:vps、Cloudflare的相关步骤进行设置。还有,代码报错,不用怀疑代码有问题😄

2.4.1 下载finalshell

为什么选finalshell,开源免费啊,但是在windows我更喜欢用Xshell,mac上更喜欢用termius

安装finalshell,下载安装连接:https://www.hostbuf.com/

用ssh连接工具连接连接过程我就不说了,直接进入主题,注意服务器配置点击上面安装好的服务器,里面就有。

我用Xshell演示,道理一样。

2.4.2 修改系统时间

由于我们买的是境外服务器,所以我们需要修改系统时间

Centos执行下面语句:

# 删除本地时间并设置时区为上海
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 启动ntpd 服务
/etc/init.d/ntpd start

过几分钟后使用date命令查看,此时时间已经修改为北京时间了

Debian/Ubuntu执行下面语句:

dpkg-reconfigure tzdata

2.4.3 开启防火墙

Debian/Ubuntu 放行端口

# 例如要放行80 443 8443端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
# 然后保存放行规则
iptables-save

Centos 放行端口

例如要放行80 443 8443端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/https --permanent
firewall-cmd --zone=public --add-port=8443/https --permanent
然后重启防火墙
firewall-cmd --reload
查看防火墙规则
iptables -L

重启

reboot

2.4.4 申请SSL证书

apt update -y    # Debian/Ubuntu 命令
apt install -y curl  # Debian/Ubuntu 命令
apt install -y socat # Debian/Ubuntu 命令
 
yum update -y    #CentOS 命令
yum install -y curl  #CentOS 命令
yum install -y socat  #CentOS 命令

继续执行,申请证书

curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --register-account -m xxxxxxx@qq.com # 这里填自己的邮箱

继续执行

~/.acme.sh/acme.sh --issue -d xx.test.xyz --standalone  # xx.test.xyz 替换成你上面解析的域名

改变你的解析域

~/.acme.sh/acme.sh --installcert -d xx.test.xyz --key-file /root/private.key --fullchain-file /root/cert.crt # xx.test.xyz 替换成你上面解析的域名

2.4.5 安装X-ui面板

bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

注意这里的面板访问端口,一定要写上面你打开的端口(非80和443),否则访问不到面板。

接着访问我们的面板

http://207.246.90.228:8443

进来设置我们的端口,公钥和秘钥路径。

公钥路径:
/root/cert.crt
密钥文件路径:
/root/private.key

然后重启面板

接下来就可以用域名:端口访问面板了,像这样

https://xx.test.xyz:8443

添加我们的入站口

上面步骤中,需要注意的:

  • 第8、9两步中,域名:是之前在Cloudflare设置中第十步中“解释”过的域名,比如:xx.购买的域名;
  • 证书文件路径:/root/cert.crt
  • 密钥文件路径:/root/private.key

2.4.6 安装BBR加速

ssh到我们的服务器,执行下面命令

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

要做两件事:

  • 选内核
  • 选加速器

注意内核和加速器要对应,比如选plus内核就要选plus加速。

我们以plus为例,我们输入2

然后会重启,重启完成后,在执行上面的命令,选择7,安装加速器。

安装完成后,意味着我们的服务器设置完毕了。

2.5 自建梯子-客户端设置(Windows)

2.5.1 安装V2ray

下载链接:

https://github.com/2dust/v2rayN/releases

进入选择这个下载

下载完成后打开文件夹,将这个可执行文件发送到桌面快捷方式并打开。

将我们的服务器导入客户端,有两种方式,我们只演示剪贴板导入

复制链接后,去客户端导入

点服务器,里面有个从剪贴板导入点击就可以导入了

最好把检查更新下的所有东西升级成最新版本,这样会省不少麻烦…

然后就选择我们的服务器添加代理就行了,这里不细说了,可以Google下使用说明。

2.6 自建梯子-客户端设置(macOS)

mac我一直用的v2RayU,但是最近去看github不维护了,也不能用,目前还在寻找新的客户端。

我觉得可以用clashX写配置,还没试验。

2.6.1 下载Qv2ray和v2ray core

2022.07.08 更新 找到macOS的新方法

我们可以用Qv2ray作为macOS的客户端。

Qv2ray GitHub release地址: https://github.com/Qv2ray/Qv2ray/releases/tag/v2.7.0

但是很不巧,也是很不幸的是:

48

现在很多客户端都不维护了,包括之前一直用的V2rayU,不知道是什么原因。。。

但是进去下载最新版,也是最后一版,安装即可。

但是虽然不维护了,如果有配套v2ray core,也可以使用。

v2ray core地址:https://github.com/v2fly/v2ray-core/releases

进去后不要下载新版,找到对应系统,下载如下版本:

49

2.6.2 Qvray客户端配置

下载v2ray core后,我们会得到以下文件(建议放在你熟悉并且不容易误删的位置)

我们主要用到的是v2ray可执行文件和整个v2ray文件夹

50

打开Qv2ray客户端,点击上面首选项,在常规设置设置将语言设置为中文,然后点击内核设置

51

如图操作后,点击ok,进入首页,点击导入:

52

链接去我们搭建的梯子后台复制即可(类似于windows),完事导入即可愉快上网了~

三、上网测试

照例打开油管,播放下4k视频。

能随便达到4M,我觉得够用,毕竟它才3.5美刀~