科学上网之 Gost 方案 v2
目录
- 1. 购买域名
- 2. 将域名托管到 Cloudflare 上
- 3. 购买 VPS
- 4. 绑定域名到 IP
- 5. Gost 服务端部署
- 6. Gost 电脑客户端使用
- 7. Gost 手机客户端使用
- 8. 引用
前言
互联网是最强大的工具之一,我们越来越依赖它来提升自己方便自己便宜自己,不会使用互联网(不是说会刷个抖音聊个微信就表明你会上网)则会削弱自己的竞争力,容易被社会淘 汰。可是互联网在有的地区并不那么互联,需要我们使用魔法来打通连接,本篇教程就是魔法咒语,学会吟诵咒语则你可能多一些可能性。
墙不仅墙了我们的眼界,还墙了我们的认知(当然眼界影响认知),所以突破信息茧房不断提升认知还是挺重要的!
此教程笔者参考了 haoel.github.io,步骤皆为笔者亲手实践过,如果读者觉得麻烦可参考笔者的另一篇博文 科学上网之 Outline 方案。
翻墙方式按是否收费来分有免费和付费两种,免费的一定不要作为主力来用,顶多作为被墙时的临时跳板,跳过之后就立即找寻其它更好的翻墙方式。翻墙方式按类别来分可分为机场和 VPN,VPN 可分为自建和购买,强烈建议自建,因为安全,其次会更便宜。如果嫌麻烦和复杂或有其它需求而不适合自建,则推荐优先购买机场节点。此文为自建 VPN 教程,属于小众梯子,越小众越安全,因为被针对的可能性越小。
1. 购买域名
- 到 GoDaddy 并注册账号。
- 到 one.com 购买域名(更便宜但激活更麻烦些)。
- (推荐)到 Cloudflare 购买域名, 因为其注册和续订按成本定价。
- (推荐)到 NameSilo 购买域名, 因为便宜。
2. 将域名托管到 Cloudflare 上
- 进入 Cloudflare 并注册账号。
- 点选左侧 tab 中的网站,点击右侧添加站点按钮。
- 输入购买的域名并点击添加站点。
- 选中底部的免费计划并点继续。
- 点击 GoDaddy 中自己的昵称并选中我的产品。
- 点击所有产品和服务中的 DNS 。
- 将 GoDaddy 的名称服务器替换为 Cloudflare 的名称服务器并保存。(以下为参考,具体值需要自己查看):
leif.ns.cloudflare.com
priscilla.ns.cloudflare.com
提示:替换完名称服务器后需要等几分钟才生效。
3. 购买 VPS
-
选择 VPS 提供商。部分参考商家如下1,更多商家请自行网上搜寻,注意仔细甄别商家以避免数据泄漏。千万别用国内提供商的 VPS,容易被监控被抓:
提示:不要购买 Vultr 的 VPS ,不少人反馈被封 IP 太多,据笔者实测,美国旧金山和洛杉矶、日本、新加坡的机器无法科学上网,只有韩国可以,而且韩国这个 IP 还被奈飞等一些网站屏蔽。在进入提供商页面注册账号之前可先搜索对应提供商的优惠码或促销链接,通过这些优惠码或促销链接可获得一定的优惠。有的优惠码在官网页头的 Banner 部分就已给出。
- 注册账号并登录。
- 选择安装最新 Ubuntu 系统。
提示:有的商家的 VPS 需要提前开启 22 端口以供终端 SSH 登录,笔者目前没遇到,读者若遇到还请自行开启。
推荐购买美区的 VPS,因为各种可用资源更多限制更少,很多产品和服务都是优先在那试用使用和开服,比如谷歌的 AI 套件,比如如果购买韩国的 VPS 则油管上的一些视频的观看有年龄验证限制而美区没有。一些站点资源的观看浏览或下载不对亚区开放,访问时会被 Cloudflare 阻止而美区无限制,比如泥视频、欧乐影院等。速度方面,我感觉和日韩的 VPS 没什么差别,还算挺快的。延时会长一些,大概二三百毫秒左右,但在日常使用中毫无影响,完全处于可接受的范围之内。如果玩及时性和稳定性很高的游戏,那还是购买 CN2 GIA、IPLC 或 IEPL 线路的机场吧。总之,最佳实践就是选择美国西海岸的 VPS。
4. 绑定域名到 IP
- 点选 Cloudflare 左侧边栏“网站” tab 并单击右侧验证通过的域名进入新控制台。
- 点选左侧边栏 DNS ,在右侧添加 A 记录,填入自定义名称(如我填的:beyondgfw)和 VPS 的 IPv4 地址,代理状态选关闭,保存。
提示:绑定域名需要几分钟后才生效。
5. Gost 服务端部署
-
打开终端 Shell 命令行执行 SSH 指令登录 VPS (Mac 直接打开终端即可,Windows 可下载 XShell、MobaXterm 等工具)。
语法:ssh [account]@[host] 示例:ssh root@141.64.43.208
(回车后输入密码)
-
开放 80 端口以供安装证书用,开放 443 端口以供科学上网。
sudo ufw allow from any to any port 80,443 proto tcp
-
开始执行指令部署服务。
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/haoel/haoel.github.io/master/scripts/install.ubuntu.18.04.sh)"
- 输入 1 以安装 TCP BBR 拥塞控制算法。
-
输入 Y 以继续。
-
安装完后 VPS 会自动重启。
(需要等几分钟后再登录)
-
登录 VPS 并再次执行之前的指令以供后续操作。
ssh [account]@[host[]
(用自己的 账号 和 IP 分别替换 [account]、[host])
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/haoel/haoel.github.io/master/scripts/install.ubuntu.18.04.sh)"
-
输入 2 以安装 Docker 服务程序。
- 输入 3 以创建 SSL 证书。
-
按 Enter 键以继续。
-
输入 Y 以继续。
-
输入之前绑定的二级域名(比如我的为:beyondgfw.thomasyang.site)。
(域名间无空格)
-
输入一个自己的邮箱地址。
-
输入 A 以继续。
-
输入 N 以继续。
-
看到 Congratulations 则表示安装成功。
-
输入 4 以安装 Gost HTTP/2 代理服务(Gost 的 HTTP2 实现走的是 HTTPS)。
-
输入之前生成证书时填的二级域名(比如我的是:beyondgfw.thomasyang.site)。
- 接着设定一个用户名(举例比如:zhangsan)。
- 设定密码以用于科学上网连接时使用(举例比如:hgks38aTQ)。
- 如果认证信息(也就是用户名和密码)中包含特殊字符,则需要通过 auth 参数来设置,auth 的值为 user:pass 的 base64 编码值,为了避免麻烦,推荐组成要素为大小写字母和数字。
- 输入之前开放的端口号 443。
- 输入 8 以设置定时证书更新。
- 输入 9 退出。
- 验证代理服务是否部署成功。
语法: curl -v "https://www.google.com" --proxy "[host]:[port]" --proxy-user '[user]:[password]' 示例: curl -v "https://www.google.com" --proxy "https://beyondgfw.thomasyang.site:443" --proxy-user 'zhangsan:hgks38aTQ'
- 输出大段的控制信息和谷歌的页面代码则表示成功无误。
-
安装 Cloudflare Warp(可选)。大多数 VPS 的 IP 都不是原生 IP,在使用一些服务时会受到限制,比如:Netflix 没法解锁非自制内容、ChatGPT 聊天页面禁止使用、Bing 账号被挂起……,使用 Warp 可解锁原生 IP 限制。
-
下载第三方一键安装脚本。
wget git.io/warp.sh
-
授予脚本执行权限。
chmod +x warp.sh
-
运行脚本并先后输入 1,4,7 执行安装。
sudo ./warp.sh menu
-
输入
./warp.sh status
查看安装状态。正常状态如下:WireGuard : Running IPv4 Network : WARP IPv6 Network : WARP
-
6. Gost 电脑客户端使用
6.1. Mac
-
下载并安装 ClashX。
-
右键 Mac 右上角状态栏中的 ClashX 的 🐱 图标,依次选择 配置 -> 打开配置文件夹。
-
在文件夹中创建配置文件 config.yaml。
-
拷贝粘贴以下内容到文件中。
port: 7890 socks-port: 7891 redir-port: 7892 mixed-port: 7893 ipv6: true allow-lan: true mode: Rule log-level: silent external-controller: "0.0.0.0:9090" secret: "" tun: enable: true stack: system dns-hijack: - tcp://8.8.8.8:53 - udp://8.8.8.8:53 dns: enable: true ipv6: true listen: 0.0.0.0:53 default-nameserver: - 114.114.114.114 enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 nameserver: - 114.114.114.114 - 223.5.5.5 fallback: - 114.114.114.114 proxies: - name: "Lightsail" type: http server: beyondgfw.thomasyang.site port: 443 username: zhangsan password: "hgks38aTQ" tls: true skip-cert-verify: true proxy-groups: - name: "Proxy" type: select proxies: - Lightsail rules: - DOMAIN-SUFFIX,local,DIRECT - IP-CIDR,127.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT - DOMAIN-SUFFIX,deepl.com,DIRECT - DOMAIN-SUFFIX,88mv.org,DIRECT - GEOIP,CN,DIRECT - MATCH,Proxy
-
按照前面服务器端填的内容修改 proxies 下的 server、port、username、password,自定义修改 name(proxy-groups 下的 proxies 也应同步修改)。
- 配置参考 clash.yaml 中的注释。
-
改完保存后,再次右击 🐱 图标,在展开的菜单中选择设置为系统代理即可。
6.1.1. 终端代理配置
-
终端默认是不走代理的,有时我们需要下载的资源需要代理才能访问。
-
在终端键入
vim ~/.zshrc
进入 zsh 配置文件,键入i
开启编辑模式,滚动到文件末尾并空一行后加入以下内容:SOCKS="socks5://127.0.0.1:7891" alias proxy="export http_proxy=${SOCKS} https_proxy=${SOCKS} all_proxy=${SOCKS}" alias unproxy='unset all_proxy http_proxy https_proxy'
-
按键盘 ⌨️ 最左上角的 esc 键,键入
:wq
保存并退出文件。 -
配置完成可以使用了。在需要代理时在终端键入
proxy
即可开启终端代理,不需要终端代理时通过键入unproxy
即可退出终端代理。 -
这一步能使用的前提是 已完成了前面 6.1 Mac 的配置并已在本地电脑上开启了 ClashX 的代理连接。
6.2. Windows
-
下载并安装 Clash for Windows。
-
余后步骤类同前面 6.1 Mac 部分(由于笔者暂无 Windows 电脑,暂不方便展开后续步骤)。
7. Gost 手机客户端使用
7.1. Android
-
下载并安装 Clash for Android。
-
将在电脑上编辑好的配置文件传到手机,配置文件同前面 6.1 Mac 部分。
-
点按 Clash for Android 主界面的 Profile 按钮,然后再点按右上角的 + 号,再点按 File。
-
进入了 Profile 界面后,输入一个自定义 Name,再点击最下方的 Browse Files。
-
进入 Files 界面后,点击 Configuration.yaml 文件的右边三个竖点,选择保存的 config.yaml 文件后保存即可。
-
返回到 Profile 界面后点击右上角的保存图标保存。
-
再返回到 Profiles 界面就看到了刚配置的文件了,选中并返回主界面,Profile 那里显示出了 Xxx Activated。
-
点击主界面上灰色的「Stopped - Tap to start」后,按钮变成了蓝色的「Running」了就完成了整个过程,就可以愉快的玩耍了。
7.2. iPhone、iPad
-
对于 iPhone 和 iPad 可查资料想办法注册美区 Apple ID 后购买 ShadowRocket 使用。
-
由于笔者暂无相关产品,暂无法展开后续步骤,更多信息请移步 haoel.github.io。