From 16068f2a995c8211e1599ef5fec3533827930c12 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Feb 2020 10:57:33 +0800 Subject: [PATCH 01/87] add the hint which fix #36 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ef29bfb..4e9746f4 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) - [Gigsgigscloud](https://clientarea.gigsgigscloud.com/index.php?/cart/cloudlet-v-hk/&step=0) CN2 GIA 在香港的结点是很不错的,当然,价格也很不错(建议几个人一起平摊费用) -- [Kvmla](https://www.kvmla.com/) 香港地区的CN2 GIA提供商 每月80元 +- [Kvmla](https://www.kvmla.com/) 香港地区的CN2 GIA提供商 每月80元 (PS. 有网友说这个比较慢) - [Hostdare](https://manage.hostdare.com/index.php) 的CN2 GIA产品也是三网直连,KVM和OpenVZ两种架构,KVM产品长期缺货 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From 3a29f50ae5398a56c5df496883b0ad255ed6ba2b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Feb 2020 11:05:01 +0800 Subject: [PATCH 02/87] remove the Kvmla as issue #30 concerned --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4e9746f4..d7566d9b 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,6 @@ - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) - [Gigsgigscloud](https://clientarea.gigsgigscloud.com/index.php?/cart/cloudlet-v-hk/&step=0) CN2 GIA 在香港的结点是很不错的,当然,价格也很不错(建议几个人一起平摊费用) -- [Kvmla](https://www.kvmla.com/) 香港地区的CN2 GIA提供商 每月80元 (PS. 有网友说这个比较慢) - [Hostdare](https://manage.hostdare.com/index.php) 的CN2 GIA产品也是三网直连,KVM和OpenVZ两种架构,KVM产品长期缺货 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From 3c3135fcc3140194c984d95a1c72e934a5f3f2b0 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Feb 2020 11:35:46 +0800 Subject: [PATCH 03/87] remove patotso lite as issue #27 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d7566d9b..3a267ac3 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,7 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 -对于手机端,我带用的是iPhone下的 `Potatso Lite` 和 `ShadowRocket` 这两个APP直接支持 HTTPS 的代理,配置上就好了。 +对于手机端,我使用的是iPhone下的 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 ### 4.2 Shadowsocks 客户端 From 23fc06190f0d85f3d50a74f72fb08379a4e11266 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Feb 2020 12:50:44 +0800 Subject: [PATCH 04/87] add some v2ray statements --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a267ac3..21b63564 100644 --- a/README.md +++ b/README.md @@ -324,7 +324,10 @@ V2Ray 可以配置成一个非常隐蔽的代理软件。 - V2Ray 项目地址:[https://github.com/v2ray/v2ray-core](https://github.com/v2ray/v2ray-core) - V2Ray Telegram 使用群链接:[https://t.me/projectv2ray](https://t.me/projectv2ray) -V2Ray 配合一些模块目前来说可以伪装成正常的流量。但是配置相当复杂。大家可以自己Google自己玩吧。 + +一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + Websocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://doubibackup.com/v2ray-ws-tls-nginx.html)》(需要翻墙)。 + +我个人觉得,配置起来比较复杂,而且环节太多,不如直接用 `gost` 的 https/http2 的方式配置起来简单,所以,没有放在前面。 ### 5.2 Brook From b529794d223f2c0b4fbe5b0297de522cdfc426c4 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 10 Mar 2020 11:05:08 +0800 Subject: [PATCH 05/87] mentioned most of the Vultr's IP segments might be blocked. fix #38 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 21b63564..c15c7395 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ - [Google Cloud Platform](https://cloud.google.com/)提供免费试用,赠送300刀赠金(需要国际信用卡) - [Linode](https://www.linode.com)买个一月USD5刀的VPS - [Conoha](https://www.conoha.jp/zh/)上买一个日本的VPS,一个月900日元 (可以支付宝) -- [Vultr](https://www.vultr.com)上买一个日本的VPS,一个月5刀 (可以支付宝) +- [Vultr](https://www.vultr.com)上买一个日本的VPS,一个月5刀 (可以支付宝)(注:据说被墙的IP太多) - [Oracle Cloud](https://www.oracle.com/cloud/free/)两台VPS无限期使用,可选美日韩等地(需要国际信用卡) From 647638a74c7234e09aba20d921d4ecb00a3adf72 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 10 Mar 2020 11:05:26 +0800 Subject: [PATCH 06/87] added gost android client --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c15c7395..002d0090 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2019-11-24 +更新时间:2020-03-10 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -280,7 +280,10 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 -对于手机端,我使用的是iPhone下的 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 +对于手机端 + + - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 + - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) ### 4.2 Shadowsocks 客户端 From 8a213a2f38c11f38831b0eab1de0a66f921f8de8 Mon Sep 17 00:00:00 2001 From: Dante Sun Date: Sat, 30 May 2020 03:20:54 +0800 Subject: [PATCH 07/87] add SwitchyOmega workaround --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 002d0090..31f63749 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,7 @@ sudo docker run -d --name gost \ 如无意外,你的服务就启起来了。接下来就是证书的自动化更新。 + 可以使用命令 `crontab -e` 来编辑定时任务: ``` @@ -285,6 +286,13 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) +如果你之前使用了Chrome插件 SwitchyOmega,经实际验证(2.5.21版本)无法直接配置HTTPS代理,具体原因待查。不过可使用gost客户端在本机启动一个 +SOCKS5的代理服务用来代替。比如: + +``` +gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443' +``` +然后在SwitchyOmega配置代理为'127.0.0.1:1080'即可. ### 4.2 Shadowsocks 客户端 From 85d6df3e0a1279f22535bc1aa7e2c7686f71ae4c Mon Sep 17 00:00:00 2001 From: Dante Sun Date: Sat, 30 May 2020 03:26:06 +0800 Subject: [PATCH 08/87] verify gost service using curl --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 31f63749..b66f84cf 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,6 @@ sudo docker run -d --name gost \ 如无意外,你的服务就启起来了。接下来就是证书的自动化更新。 - 可以使用命令 `crontab -e` 来编辑定时任务: ``` @@ -294,6 +293,11 @@ gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443' ``` 然后在SwitchyOmega配置代理为'127.0.0.1:1080'即可. +另外,在配置前,可使用下面的命令验证你的gost服务是否正常。 +``` +curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' +``` + ### 4.2 Shadowsocks 客户端 对于 Shadowsocks 客户端,可以到这里查看 [Shadowsocks Clients](https://shadowsocks.org/en/download/clients.html) From 03719188f12b7649cf6e43eabaf8e553746103ac Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 30 May 2020 09:30:01 +0800 Subject: [PATCH 09/87] add the `knock` parameter for gost which could make the SwitchyOmega works for Chrome --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index b66f84cf..e1d2fe69 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - [3. 搭建相关代理服务](#3-搭建相关代理服务) - [3.1 设置Docker服务](#31-设置docker服务) - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) - - [3.3 用 gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) + - [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) - [3.4 设置Shadowsocks服务](#34-设置shadowsocks服务) - [3.5 设置L2TP/IPSec服务](#35-设置l2tpipsec服务) - [3.6 设置PPTP服务](#36-设置pptp服务) @@ -159,7 +159,7 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 如果开启,请参看 《[开启TCP BBR拥塞控制算法](https://github.com/iMeiji/shadowsocks_install/wiki/开启-TCP-BBR-拥塞控制算法) 》 -### 3.3 用 gost 设置 HTTPS 服务 +### 3.3 用 Gost 设置 HTTPS 服务 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 @@ -190,14 +190,23 @@ KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404" + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=${DOMAIN}" ``` 上面这个脚本,你需要配置:域名(`DOMAIN`), 用户名 (`USER`), 密码 (`PASS`) 和 端口号(`PORT`) 这几个变量。 关于 gost 的参数, 你可以参看其文档:[Gost Wiki](https://docs.ginuerzh.xyz/gost/),上面我设置一个参数 `probe_resist=code:404` 意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:`probe_resist=file:/path/to/file.txt` 或其它网站 `probe_resist=web:example.com/page.html`) -如无意外,你的服务就启起来了。接下来就是证书的自动化更新。 +**注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。 + +如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 + +``` +curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' +``` + + +接下来就是证书的自动化更新。 可以使用命令 `crontab -e` 来编辑定时任务: @@ -279,24 +288,15 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 - 对于手机端 - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) -如果你之前使用了Chrome插件 SwitchyOmega,经实际验证(2.5.21版本)无法直接配置HTTPS代理,具体原因待查。不过可使用gost客户端在本机启动一个 -SOCKS5的代理服务用来代替。比如: +**注明**:如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) 中的“注意”一节 ) -``` -gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443' -``` -然后在SwitchyOmega配置代理为'127.0.0.1:1080'即可. +或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在SwitchyOmega配置代理为'127.0.0.1:1080'即可。比如: -另外,在配置前,可使用下面的命令验证你的gost服务是否正常。 -``` -curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' -``` ### 4.2 Shadowsocks 客户端 From 3cc26bac67c53f62fbdc998bdb6b995ce6a5efc7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 30 May 2020 09:35:38 +0800 Subject: [PATCH 10/87] update the script for gost `knock`parameter --- scripts/install.ubuntu.18.04.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index e7de3d92..bc5d7204 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -136,7 +136,7 @@ install_gost() { sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:400" + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:400&knock=${DOMAIN}" } crontab_exists() { From 87b7991cf39fb399e67e6e62c4089dfea2abf716 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 31 May 2020 01:36:16 +0800 Subject: [PATCH 11/87] explain gost `knock` parameter more clearly and use www.google.com as the know domain --- README.md | 4 ++-- scripts/install.ubuntu.18.04.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e1d2fe69..36830a98 100644 --- a/README.md +++ b/README.md @@ -190,14 +190,14 @@ KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=${DOMAIN}" + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" ``` 上面这个脚本,你需要配置:域名(`DOMAIN`), 用户名 (`USER`), 密码 (`PASS`) 和 端口号(`PORT`) 这几个变量。 关于 gost 的参数, 你可以参看其文档:[Gost Wiki](https://docs.ginuerzh.xyz/gost/),上面我设置一个参数 `probe_resist=code:404` 意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:`probe_resist=file:/path/to/file.txt` 或其它网站 `probe_resist=web:example.com/page.html`) -**注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。 +**注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的`knock`参数配置的是`www.google.com`,所以,你需要先访问一下 `https://www.google.com` 让服务端返回一个 `407` 后,SwitchyOmega 才能正常工作。 如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index bc5d7204..ee1bb18b 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -136,7 +136,7 @@ install_gost() { sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:400&knock=${DOMAIN}" + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:400&knock=www.google.com" } crontab_exists() { From 9e68155a244bbaedd013f79a67d6cc8b8529c8af Mon Sep 17 00:00:00 2001 From: BillyLin Date: Wed, 3 Jun 2020 19:05:33 +0800 Subject: [PATCH 12/87] fix the bug at line 148 the judgment statement if ! crontab_exists "cerbot renew --force-renewal" at line 148 missing a letter 't' --- scripts/install.ubuntu.18.04.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index ee1bb18b..8a4530cb 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -145,7 +145,7 @@ crontab_exists() { create_cron_job(){ # 写入前先检查,避免重复任务。 - if ! crontab_exists "cerbot renew --force-renewal"; then + if ! crontab_exists "certbot renew --force-renewal"; then echo "0 0 1 * * /usr/bin/certbot renew --force-renewal" >> /var/spool/cron/crontabs/root echo "${COLOR_SUCC}成功安装证书renew定时作业!${COLOR_NONE}" else From 9cd9cc356f152ab0199be70a104789b58df40096 Mon Sep 17 00:00:00 2001 From: liuguili Date: Wed, 25 Dec 2019 11:00:42 +0800 Subject: [PATCH 13/87] replace ustc mirros --- scripts/install.ubuntu.18.04.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index 8a4530cb..5ee67520 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -53,9 +53,9 @@ install_bbr() { install_docker() { if ! [ -x "$(command -v docker)" ]; then echo "开始安装 Docker CE" - curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ - "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ + "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update -qq From 10c3940a7f568ecf656101325b94e8d1f12d02a0 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 1 Aug 2020 19:31:21 +0800 Subject: [PATCH 14/87] add section 7 - transparent gateway - Clash --- README.md | 229 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 217 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 36830a98..f95b5ce6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2020-03-10 +更新时间:2020-08-01 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -34,9 +34,13 @@ - [6.1 Cloudflare](#61-cloudflare) - [6.2 V2Ray](#62-v2ray) - [6.3 补充](#63-补充) - - [7. 其它](#7-其它) - - [7.1 其它方式](#71-其它方式) - - [7.2 搭建脚本](#72-搭建脚本) + - [7. 透明网关](#7-透明网关) + - [7.1 OpenWRT 路由器](#71-openwrt-路由器) + - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) + - [7.3 安装 Clash](#73-安装-clash) + - [8. 其它](#8-其它) + - [8.1 其它方式](#81-其它方式) + - [8.2 搭建脚本](#82-搭建脚本) ## 0. 序 @@ -73,11 +77,11 @@ ## 2. 购买VPS -然后,你需要一个VPS。 +然后,你需要一个VPS。 在这里,强烈建议通过自建的方式,可能成本会略高一点,但是,整体来说比共享的好很多了。 (注:*当然,你也可以直接购买一些科学上网的服务,但我这里不推荐了,一方面是广告,另一方面通常这样的服务非常的不稳定,而且也容易被代理方做中间人攻击*) -**现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得得改善**。 +**现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得得改善。当然,线路好的得需要多花一些钱。**。 (注:*我现在每个投入在科学上网上的成本大概在不到1000元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 @@ -123,7 +127,7 @@ 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) -重点说一下,**CN2 GIA + 香港机房**,你会得到巨快无比的上网速度,然而,香港地区的VPS的确是有点贵了。在Youtube.com上看1080p的视频毫无压力。虽然阿里云和腾讯的也有,但是被查到的风险基本上是100%,不建议使用,被抓了别怪我没警告过你。 +重点说一下,**CN2 GIA + 香港机房**,你会得到巨快无比的上网速度(无论你在中国的哪个位置,无论使用哪家运营商,CN2 GIA都是最优的),然而,香港地区的VPS的确是有点贵了。在Youtube.com上看 4K 的视频毫无压力。虽然阿里云和腾讯的也有,但是被查到的风险基本上是100%,不建议使用,被抓了别怪我没警告过你。 ### 2.3 NCP 线路 **NCP** 全称 New Cross Pacific(新跨太平洋海底光缆系统)。 @@ -163,7 +167,7 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 -为了更为的隐蔽,你需要一个域名,然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 +为了更为的隐蔽,你需要一个域名(可以上 Godaddy,但一定要使用美国版),然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你的域名): @@ -219,6 +223,8 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS ### 3.4 设置Shadowsocks服务 +**(注:Shadowsocks被查的机率非常大,不推荐使用)** + Shadowsocks 的 Docker 启动脚本 (其中的 `SS_PORT` 和 `SS_PASSWD` 需要重新定义一下) @@ -236,6 +242,8 @@ sudo docker run -dt --name ss \ ### 3.5 设置L2TP/IPSec服务 +**(注:VPN方式被查的机率非常大,不推荐使用)** + L2TP/IPSec 的启动脚本,其中的三个环境变量 `USER`, `PASS` 和 `PSK` 需要替换一下。 ``` @@ -257,7 +265,7 @@ sudo docker run -d --privileged \ ### 3.6 设置PPTP服务 -PPTP不安全,请慎重使用 +**(注:PPTP不安全,请不要使用)** ``` sudo docker run -d --privileged --net=host @@ -391,15 +399,212 @@ VPS 上正常安装并配置好 V2Ray,注意两点: 网络延迟比直连增加不少,如果是频繁操作会很痛苦。网络带宽如果运气好可能比直连还优化了,用来看 Youtube 搞不好更流畅。 -## 7. 其它 +## 7. 透明网关 + +### 7.1 OpenWRT 路由器 + +所谓透明网关的意思是,一些都交给网关来做。最好的方式是你需要一个 OpenWRT 的路由器,推荐使用华硕的路由器,贵是贵一些,但是这几年用下来,非常不错。我用的是 **华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路** 。 + +路由器买来后,要刷一下固件。首先Asuswrt是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:[https://github.com/RMerl/asuswrt-merlin](https://github.com/RMerl/asuswrt-merlin) + +不必担心把路由器刷废了,华硕的路由器可以让你一键重置回来 + +**1)下载固件**。先到 [https://asuswrt.lostrealm.ca/download](https://asuswrt.lostrealm.ca/download) 下载相应的固件,并解压。(我下载的是 `RT-AC68U_380.61_0.zip` ) + +**2)升级固件**。登录到你的路由器后台 `http://192.168.1.1/` ,在 `系统管理` -> `固件升级` 中上传固件文件(我上传的是:`RT-AC68U_380.61_0.trx`) + +**3)打开 JFFS 分区**。`系统管理` -> `系统设置` -> `Persistent JFFS2 partition` + +- `Format JFFS partition at next boot` - `否` +- `Enable JFFS custom scripts and configs` - `是` + + +**4)打开 ssh 登录**。 `系统管理` -> `系统设置` -> `SSH Daemon` + +- `Allow SSH password login` - `是` + +### 7.2 通过树莓派做旁路网关 + +如果你的路由器不能刷OpenWRT,也就是没发通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的Debain 7.5的操作系统。 + +把它连上你的路由器上,然后, +- 你需要把你设备上的IP地址、网关和DNS服务器都要手动设置到这个树莓派上。 +- 于是,所有的路由就会通过路由器转到树莓派上,再由树莓派决定是否要走代理。 + +大概的示意图如下所示。 + +- 1 --> 2 是设备把所有的请求都发给树莓派。 +- 3 --> 3.1 或 3.2 是由树莓派来决走是否翻墙。 + +``` + Phone/PC/Pad + + + | 1 + | + +-------v-------+ 2 +--------+ + | |-------------> | + | WiFi 路由器 | | 树莓派 | + | <-------------| | + +------+--+-----+ 3 +--------+ + | | + 3.1| | 3.2 + | +----------> China LAN + v + +---+---+ + | Proxy | + +---+---+ + | + | + v + Internet WAN + +``` + +### 7.3 安装 Clash + +Clash 的 Github项目是:[Dreamacro/clash](https://github.com/Dreamacro/clash) ,在它的 Release 页面上,你可以找到相关的下载。(注:在本文更新的时候,如果你需要支持 Tun,你需要下载 Clash 的 [Premium 版本](https://github.com/Dreamacro/clash/releases/tag/premium) + +Clash支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 + +在你的 OpenWRT 或 树莓派 下用 `uname -m` 查看一下你的硬件架构是什么的,比如,我的是华硕和树莓派都是 `armv7l` 的,所以,需要下载 `clash-linux-armv7-....`的版本。 下载完解压后,加个可执行权限 `chmod +x clash` 就可以运行了,不过,还差一个界面和两个配置文件,它们的目录关系如下: + +``` +├── clash <- 建一个 clash 的目录 +│   ├── clash <- 运行文件 +│   ├── config.yaml <- 配置文件 +│   ├── Country.mmdb <- IP地址库 +│   └── ui <- Clash 的 UI +│   ├── index.html +│   ├── ... +``` + +- UI界面可以到 [haishah/yacd](https://github.com/haishanh/yacd) 下载。放到clash的配置目录下 `ui` 目录下 + +- 一个是 `Country.mmdb` 这是IP地址的在哪个国家的数据库。你需要到这里下载 - [Country.mmdb](https://github.com/Dreamacro/maxmind-geoip/releases/latest/download/Country.mmdb) (当然,clash启动时,会自动下载,我这里给你一个手动下载的链接) + +- 另一个是 `config.yaml` 文件,这个文件详细解释可参看 - [官方Wiki](https://github.com/Dreamacro/clash/wiki/configuration) + + +下面是个示例: + +``` +port: 7890 +socks-port: 7891 +redir-port: 7892 +mixed-port: 7893 +ipv6: false +allow-lan: true +mode: Rule +log-level: info +external-controller: '0.0.0.0:9090' +external-ui: ui +secret: '' +tun: + enable: true + stack: system + dns-hijack: + - tcp://8.8.8.8:53 + - udp://8.8.8.8:53 +dns: + enable: true + ipv6: false + listen: 0.0.0.0:53 + default-nameserver: + - 114.114.114.114 + #enhanced-mode: redir-host + enhanced-mode: fake-ip #如果要玩netflix,需要使用fake-ip + fake-ip-range: 198.18.0.1/16 + nameserver: + - 114.114.114.114 + - 223.5.5.5 + - tls://8.8.8.8:853 + fallback: + - tls://8.8.8.8:853 + +# 两个代理服务器 +proxies: + # http + - name: "https01" + type: http + server: https.server.domain + port: 443 + username: user + password: "password" + tls: true # https + skip-cert-verify: true + - name: "https01" + type: http + server: https.server.domain + port: 443 + username: user + password: "passowrd" + tls: true # https + skip-cert-verify: true + +# 配置 Group +proxy-groups: + # 自动切换 + - name: "auto" + type: url-test + proxies: + - us01_https + #- us02_https + #- hk_https + # tolerance: 150 + url: 'https://www.google.com/' + interval: 300 + # 按需选择 - 可以在UI上选择 + - name: "netflix" + type: select + proxies: + - us01_https + - us02_https + - hk_https + +rules: +# LAN + - 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 + +# Netflix + - DOMAIN-SUFFIX,fast.com,netflix + - DOMAIN-SUFFIX,api-global.netflix.com,netflix + - DOMAIN-SUFFIX,netflix.com,netflix + - DOMAIN-SUFFIX,netflix.net,netflix + - DOMAIN-SUFFIX,nflxext.com,netflix + - DOMAIN-SUFFIX,nflximg.com,netflix + - DOMAIN-SUFFIX,nflximg.net,netflix + - DOMAIN-SUFFIX,nflxso.net,netflix + - DOMAIN-SUFFIX,nflxvideo.net,netflix + +# 最终规则(除了中国区的IP之外的,全部翻墙) + - GEOIP,CN,DIRECT + - MATCH,auto + +``` +更多的规则网上可以找到很多,也可以参看这里:[SS-Rule-Snippet/LAZY_RULES/clash.yaml](https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/LAZY_RULES/clash.yaml) + +这个时候你就可以启动 clash 了: + +``` +/path/to/clash/cash -d /path/to/clash & +``` + +然后,你就可以把你的上网设备上的 路由网关 和 DNS 服务器都手动地配置成这个网关就好了(OpenWRT应该不用配置了,树莓派的方式需要手动配置一下) + + +## 8. 其它 -### 7.1 其它方式 +### 8.1 其它方式 如下还有一些其它的方式(注:均由网友提供,我没有验证过) [Outline](https://getoutline.org/en/home) 是由 Google 旗下 [Jigsaw](https://jigsaw.google.com/) 团队开发的整套翻墙解决方案。Server 端使用 Shadowsocks,MacOS, Windows, iOS, Android 均有官方客户端。使用 Outline Manager 可以一键配置 DigitalOcean。其他平台例如 AWS, Google Cloud 也提供相应脚本。主要优点就是使用简单并且整个软件栈全部[开源](https://github.com/Jigsaw-Code/?q=outline),有专业团队长期维护。 -### 7.2 搭建脚本 +### 8.2 搭建脚本 上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) From de3946d7175700f0c7f0dcc408c04d02ef3047f5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 1 Aug 2020 19:47:30 +0800 Subject: [PATCH 15/87] forgot the iptables port redirection rules --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index f95b5ce6..1a05ba9a 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ - [7.1 OpenWRT 路由器](#71-openwrt-路由器) - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) - [7.3 安装 Clash](#73-安装-clash) + - [7.4 设置 iptables 转发](#74-设置-iptables-转发) - [8. 其它](#8-其它) - [8.1 其它方式](#81-其它方式) - [8.2 搭建脚本](#82-搭建脚本) @@ -595,6 +596,31 @@ rules: 然后,你就可以把你的上网设备上的 路由网关 和 DNS 服务器都手动地配置成这个网关就好了(OpenWRT应该不用配置了,树莓派的方式需要手动配置一下) +### 7.4 设置 iptables 转发 + +``` +iptables -t nat -N CLASH +iptables -t nat -A CLASH -d 10.0.0.0/8 -j RETURN +iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN +iptables -t nat -A CLASH -d 169.254.0.0/16 -j RETURN +iptables -t nat -A CLASH -d 172.16.0.0/12 -j RETURN +iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN +iptables -t nat -A CLASH -d 224.0.0.0/4 -j RETURN +iptables -t nat -A CLASH -d 240.0.0.0/4 -j RETURN +iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 +``` +然后,你可以保存一下这些iptables的规则 + +``` + iptables-save > /etc/iptables.up.rules +``` +编辑 `//etc/network/if-pre-up.d/iptables`,在网卡启动的时候加载这些规则 + +``` +#!/bin/sh +/sbin/iptables-restore < /etc/iptables.up.rules +``` +然后,再 `chmod +x /etc/network/if-pre-up.d/iptables` 加上可执行权限就好了。 ## 8. 其它 From 6416d79d9c6c985136761b7ef80650d43672aea8 Mon Sep 17 00:00:00 2001 From: rxliuli Date: Sun, 2 Aug 2020 08:58:09 +0800 Subject: [PATCH 16/87] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E5=88=AB?= =?UTF-8?q?=E5=AD=97=20#=E9=80=8F=E6=98=8E=E7=BD=91=E5=85=B3=20[=E4=B8=80?= =?UTF-8?q?=E4=BA=9B]=20=3D>=20[=E4=B8=80=E5=88=87]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a05ba9a..169be372 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: ### 7.1 OpenWRT 路由器 -所谓透明网关的意思是,一些都交给网关来做。最好的方式是你需要一个 OpenWRT 的路由器,推荐使用华硕的路由器,贵是贵一些,但是这几年用下来,非常不错。我用的是 **华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路** 。 +所谓透明网关的意思是,一切都交给网关来做。最好的方式是你需要一个 OpenWRT 的路由器,推荐使用华硕的路由器,贵是贵一些,但是这几年用下来,非常不错。我用的是 **华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路** 。 路由器买来后,要刷一下固件。首先Asuswrt是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:[https://github.com/RMerl/asuswrt-merlin](https://github.com/RMerl/asuswrt-merlin) From 4f2d894b2c8dab581efb4a2627236186b3ce1159 Mon Sep 17 00:00:00 2001 From: xibaXIBAxibaba <845782625@qq.com> Date: Tue, 4 Aug 2020 11:25:14 +0800 Subject: [PATCH 17/87] README: remove useless words. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit remove useless word: "只," --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 169be372..49dbae8a 100644 --- a/README.md +++ b/README.md @@ -336,7 +336,7 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' ## 5. 流量伪装和其它方式 -无论你用VPN,SS,SSR,都有可能被识别,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,V2Ray客户端 + Nginx + V2Ray服务端的方式,或是gost的HTTPS的方式,基本上来说,在网络四层上看到的都是TLS的包,很难被识别。这种代理服务只,我觉得只能做探测,或是得到更多的算力来做统计学分析。所以,V2Ray 和 gost 的服务器端用 nginx 再挡一道,那么就很难被发现了。 +无论你用VPN,SS,SSR,都有可能被识别,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,V2Ray客户端 + Nginx + V2Ray服务端的方式,或是gost的HTTPS的方式,基本上来说,在网络四层上看到的都是TLS的包,很难被识别。这种代理服务我觉得只能做探测,或是得到更多的算力来做统计学分析。所以,V2Ray 和 gost 的服务器端用 nginx 再挡一道,那么就很难被发现了。 > **注:** 说句老实话,我其时并不想害怕别人知道自己的上什么样的网站,因为我觉得我访问的都是合法的网站,但是就今天这个局势我也没办法——为什么要让像我这样的光明正大的良民搞得跟偷鸡摸狗之徒一样…… From 59aaf5fd76d5f872d01860ea519ba4da20377241 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 1 Nov 2020 10:55:26 +0800 Subject: [PATCH 18/87] update brook installation problem --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 49dbae8a..7d3d2cff 100644 --- a/README.md +++ b/README.md @@ -295,7 +295,13 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' ``` 这样用 gost 在你的本机启动了一个 `Shadowsocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 -你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 +``` + +-------------------+ +-------------+ +-------------+ + | ShadowSocks Client|------>| Gost Client |------>| Gost Server | + +-------------------+ +-------------+ +-------------+ +``` + +这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 对于手机端 @@ -371,6 +377,22 @@ wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/dou 然后你可以在 Brook 项目的 Github 首页上下载不同平台的客户端。设置起来也很简单! +> 注意: 如果运行出现下载错误,可能是因为brook的下载文件名问题,你需要自己修改一下脚本: +> +> ``` +> Download_brook(){ +> [[ ! -e ${file} ]] && mkdir ${file} +> cd ${file} +> if [[ ${bit} == "x86_64" ]]; then +> - wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook" +> + wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook_linux_amd64" +> + mv brook_linux_amd64 brook +> else +> wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook_linux_386" +> mv brook_linux_386 brook +> fi +> ``` + ## 6. 针对 IP 被封的解决方案 花钱购买的 VPS 即便做了流量伪装依然有很大的几率 IP 被封锁,大多 VPS 服务商并不提供更换 IP 的服务,使用 CDN 可以让被封锁的 VPS 继续发挥翻墙功能。 From cafdac88e410c0aeb901516f0e96de94216db8d8 Mon Sep 17 00:00:00 2001 From: Kslr Date: Mon, 13 Dec 2021 21:23:06 +0800 Subject: [PATCH 19/87] update v2ray to v2fly (#56) --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7d3d2cff..df663aa7 100644 --- a/README.md +++ b/README.md @@ -350,12 +350,10 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' V2Ray 可以配置成一个非常隐蔽的代理软件。 - - V2Ray 用户手册:[https://www.v2ray.com](https://www.v2ray.com) - - V2Ray 项目地址:[https://github.com/v2ray/v2ray-core](https://github.com/v2ray/v2ray-core) - - V2Ray Telegram 使用群链接:[https://t.me/projectv2ray](https://t.me/projectv2ray) + - V2Ray 用户手册:[https://www.v2fly.org](https://www.v2fly.org) + - V2Ray 项目地址:[https://github.com/v2fly/v2ray-core](https://github.com/v2fly/v2ray-core) - -一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + Websocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://doubibackup.com/v2ray-ws-tls-nginx.html)》(需要翻墙)。 +一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + Websocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://guide.v2fly.org/advanced/wss_and_web.html)》(需要翻墙)。 我个人觉得,配置起来比较复杂,而且环节太多,不如直接用 `gost` 的 https/http2 的方式配置起来简单,所以,没有放在前面。 From 8ea55f4a0895955edd77c989c45ceebc1b41371c Mon Sep 17 00:00:00 2001 From: weycen Date: Tue, 14 Dec 2021 10:58:42 +0800 Subject: [PATCH 20/87] add missing words (#61) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df663aa7..319a4a5a 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ **现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得得改善。当然,线路好的得需要多花一些钱。**。 -(注:*我现在每个投入在科学上网上的成本大概在不到1000元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 +(注:*我现在每个月投入在科学上网上的成本大概在不到1000元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 ### 2.1 常规VPS From e3aa7f4139c7214513a7e0055513b359ade71fa7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Jan 2022 12:03:44 +0800 Subject: [PATCH 21/87] add a section - install clash for AWS and Kuberenetes --- README.md | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 153 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 319a4a5a..31db88d3 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,18 @@ - [6.1 Cloudflare](#61-cloudflare) - [6.2 V2Ray](#62-v2ray) - [6.3 补充](#63-补充) - - [7. 透明网关](#7-透明网关) + - [7. 家用透明网关](#7-家用透明网关) - [7.1 OpenWRT 路由器](#71-openwrt-路由器) - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) - [7.3 安装 Clash](#73-安装-clash) - [7.4 设置 iptables 转发](#74-设置-iptables-转发) - - [8. 其它](#8-其它) - - [8.1 其它方式](#81-其它方式) + - [8. 数据中心透明网关](#8-数据中心透明网关) + - [8.1 AWS 网络构建](#81-aws-网络构建) + - [8.2 安装 Clash](#82-安装-clash) + - [8.3 配置私有子网中的 EC2](#83-配置私有子网中的-ec2) + - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) + - [9. 其它](#9-其它) + - [9.1 其它方式](#91-其它方式) - [8.2 搭建脚本](#82-搭建脚本) ## 0. 序 @@ -420,7 +425,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: 网络延迟比直连增加不少,如果是频繁操作会很痛苦。网络带宽如果运气好可能比直连还优化了,用来看 Youtube 搞不好更流畅。 -## 7. 透明网关 +## 7. 家用透明网关 ### 7.1 OpenWRT 路由器 @@ -642,9 +647,151 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ``` 然后,再 `chmod +x /etc/network/if-pre-up.d/iptables` 加上可执行权限就好了。 -## 8. 其它 +## 8. 数据中心透明网关 -### 8.1 其它方式 +目前数据中心的透明网关,只支持AWS云平台。 + +### 8.1 AWS 网络构建 + +1. 构建一个 `172.20.0.0/16` 的 VPC,分成两个子网: + - 有公网IP的公有子网 - `172.20.1.0/24` + - 无公网IP的私有了网 - `172.20.2.0/24` + +2. 在公有子网里创建 [EC2 NAT Instance](https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html) + - 创建时,指定私网IP为 `172.20.1.1` + - (Option)为该实例分配弹性IP,可成为外网访问内网的跳板机 + +3. 建立路由规则 + - 创建“互网关网关”,并把“互网关网关”添加到公有子网 `172.20.1.0/24` 的路由规则中 + - 把 EC2 NAT Instance `172.20.1.1` 添加到私有子网`172.20.2.0/24`的路由规则中。 + +于是整个网络就如下所示。 + +``` + ┌──────────┐ + │ │ + │ │ + └──────────┘ + 弹性IP 互联网网关 + ┌───────────────┐ ▲ + │xxx.xxx.xxx.xxx├─┐ │ + └───────────────┘ │ ┌───────────┘ + │ │ + ┌───────┼──┼────────┐ ┌───────────────────┐ + │ │ │ │ │ │ + │ ┌─┴──▼──┐ │ │ ┌─┐ ┌─┐ ┌─┐ ┌─┐ │ + Public Network │ │ │◄────┼───┬───┼─►└─┘ └─┘ └─┘ └─┘ │ Private Network + │ └───────┘ │ │ │ │ + │ EC2 NAT Instance │ │ │ ┌─┐ ┌─┐ ┌─┐ ┌─┐ │ + │ 172.20.1.1 │ ├───┼─►└─┘ └─┘ └─┘ └─┘ │ + │ │ │ │ │ + │ (NAT Instance) │ │ │ ┌─┐ ┌─┐ ┌─┐ │ + │ │ └───┼─► └─┘ └─┘ └─┘ │ + │ │ │ │ + └───────────────────┘ └───────────────────┘ + + 172.20.1.0/24 172.20.2.0/24 + ▲ ▲ + subnet │ │ subnet + │ │ + └────────── VPC ───────────┘ + 172.20.0.0/16 +``` + +### 8.2 安装 Clash + +在 EC2 NAT Instance 上安装 clash 透明网关,安装配置参看 [7.3 安装 Clash](#73-安装-clash) ,基本一致。 + +> 注:在实际操作中,没有设置 iptables 转发规则 + + +### 8.3 配置私有子网中的 EC2 + +只需要配置 `/etc/resolv.conf` 文件,把 EC2 NAT Instance 加入其中。如: + +```conf +# /etc/resolv.conf +nameserver 172.20.1.1 #<--- 透明网关 EC2 NAT 实例 +nameserver 172.20.0.2 #<--- AWS 的 DNS 服务 +search [zone].compute.internal +``` + +### 8.4 私有子网中的 Kubernetes + +K8s 两组 CoreDNS 部署和配置,一组是边缘的,一组是中心的。 + +- 边缘的 Pod 名叫 `nodelocaldns`,侦听在本机。如:`169.254.25.10:53` +- 中心的 Pod 名叫 `coredns`,侦听在 cluster IP 上,如:`10.233.0.3:53` + +边缘的规则会把k8s的域名 `cluster.local`, `in-addr.arp` `ip6.arpa` 转给中心结点处理,其它的交给本地的 `/etc/resolv.conf` 处理。 + +Kubernetes 会把v如下内容打到 Pod 里的 `/etc/resolv.conf` + +```conf +nameserver 169.254.25.10 +search default.svc.cluster.local svc.cluster.local cluster.local cn-northwest-1.compute.internal +options ndots:5 +``` + +查看一下 `nodelocaldns` 的配置: + +```sh +$ kubectl get cm nodelocaldns -n kube-system -o yaml +``` + +我们可以看到,除了 k8s 自己的域名外,其它的都交给了本机的 `/etc/resolv.conf` + +```yaml +.:53 { + errors + cache 30 + reload + loop + bind 169.254.25.10 + forward . /etc/resolv.conf # <--- 注意这条语句 + prometheus :9253 +} +``` + +然而,本机的 `/etc/resolv.conf`上有两个 DNS,一个是我们的透名网关,一个是AWS的。而 CoreDNS 的 `forward` 策略是随机调选,所以,这样的会导致,时而交给AWS处理,时而交给我们自己的clash处理。最终导致IP解析紊乱。 + +通过以下命令进行修改: + +```sh +$ kubectl edit cm nodelocaldns -n kube-system +``` + +修改如下:(AWS的归 172.20.0.2, 其它的走我们自己的网关) + +```diff ++ compute.internal:53 { ++ errors ++ cache 30 ++ reload ++ loop ++ bind 169.254.25.10 ++ forward . 172.20.0.2 ++ prometheus :9253 ++ } + .:53 { + errors + cache 30 + reload + loop + bind 169.254.25.10 +- forward . /etc/resolv.conf ++ forward . /etc/resolv.conf { ++ policy sequential ++ } + prometheus :9253 + } +``` + +退出保存后,等大约30秒左右配置就会生效。 + +## 9. 其它 + +### 9.1 其它方式 如下还有一些其它的方式(注:均由网友提供,我没有验证过) From 6c7a268d3d26f1af8f272cfff28dd35c2b856463 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Jan 2022 12:12:02 +0800 Subject: [PATCH 22/87] refine a word. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 31db88d3..961233a7 100644 --- a/README.md +++ b/README.md @@ -649,7 +649,7 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ## 8. 数据中心透明网关 -目前数据中心的透明网关,只支持AWS云平台。 +这里仅针对 AWS 进行说明,其它云平台应该大同小异,大家可以补充。 ### 8.1 AWS 网络构建 @@ -739,7 +739,7 @@ options ndots:5 $ kubectl get cm nodelocaldns -n kube-system -o yaml ``` -我们可以看到,除了 k8s 自己的域名外,其它的都交给了本机的 `/etc/resolv.conf` +我们可以看到,除了 k8s 自己的域名外,其它的都交给了本机的 `/etc/resolv.conf`,如下所示: ```yaml .:53 { From 367716325a1813f157df3754291c291e77ba3e7f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 6 Jan 2022 12:15:46 +0800 Subject: [PATCH 23/87] fix typo --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 961233a7..b91cc78d 100644 --- a/README.md +++ b/README.md @@ -655,15 +655,15 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 1. 构建一个 `172.20.0.0/16` 的 VPC,分成两个子网: - 有公网IP的公有子网 - `172.20.1.0/24` - - 无公网IP的私有了网 - `172.20.2.0/24` + - 无公网IP的私有子网 - `172.20.2.0/24` 2. 在公有子网里创建 [EC2 NAT Instance](https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html) - 创建时,指定私网IP为 `172.20.1.1` - (Option)为该实例分配弹性IP,可成为外网访问内网的跳板机 3. 建立路由规则 - - 创建“互网关网关”,并把“互网关网关”添加到公有子网 `172.20.1.0/24` 的路由规则中 - - 把 EC2 NAT Instance `172.20.1.1` 添加到私有子网`172.20.2.0/24`的路由规则中。 + - 创建“互网关网关”,并把“互网关网关”添加到公有子网 `172.20.1.0/24` 的路由表中 + - 把 EC2 NAT Instance `172.20.1.1` 添加到私有子网`172.20.2.0/24`的路由表中。 于是整个网络就如下所示。 @@ -702,7 +702,7 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 在 EC2 NAT Instance 上安装 clash 透明网关,安装配置参看 [7.3 安装 Clash](#73-安装-clash) ,基本一致。 -> 注:在实际操作中,没有设置 iptables 转发规则 +> 注:在实际操作中,没有设置 `iptables` 转发规则 ### 8.3 配置私有子网中的 EC2 @@ -718,14 +718,14 @@ search [zone].compute.internal ### 8.4 私有子网中的 Kubernetes -K8s 两组 CoreDNS 部署和配置,一组是边缘的,一组是中心的。 +K8s 里有两组 CoreDNS 部署和配置,一组是边缘的(或是叫本地的),一组是中心的。 - 边缘的 Pod 名叫 `nodelocaldns`,侦听在本机。如:`169.254.25.10:53` - 中心的 Pod 名叫 `coredns`,侦听在 cluster IP 上,如:`10.233.0.3:53` -边缘的规则会把k8s的域名 `cluster.local`, `in-addr.arp` `ip6.arpa` 转给中心结点处理,其它的交给本地的 `/etc/resolv.conf` 处理。 +边缘的规则会把k8s的域名 `cluster.local`, `in-addr.arp` `ip6.arpa` 转给中心的 CoreDNS 处理,其它的交给本地的 `/etc/resolv.conf` 处理。 -Kubernetes 会把v如下内容打到 Pod 里的 `/etc/resolv.conf` +Kubernetes 会把如下内容打到 Pod 里的 `/etc/resolv.conf` ```conf nameserver 169.254.25.10 @@ -739,7 +739,7 @@ options ndots:5 $ kubectl get cm nodelocaldns -n kube-system -o yaml ``` -我们可以看到,除了 k8s 自己的域名外,其它的都交给了本机的 `/etc/resolv.conf`,如下所示: +我们可以看到,除了 K8s 自己的域名外,其它的都交给了本机的 `/etc/resolv.conf`,如下所示: ```yaml .:53 { @@ -753,7 +753,7 @@ $ kubectl get cm nodelocaldns -n kube-system -o yaml } ``` -然而,本机的 `/etc/resolv.conf`上有两个 DNS,一个是我们的透名网关,一个是AWS的。而 CoreDNS 的 `forward` 策略是随机调选,所以,这样的会导致,时而交给AWS处理,时而交给我们自己的clash处理。最终导致IP解析紊乱。 +然而,本机的 `/etc/resolv.conf` 里有两个 DNS,一个是我们的透名网关,一个是AWS的。而 CoreDNS 的 `forward` 策略是随机挑选,所以,这样的会导致,时而交给AWS处理,时而交给我们自己的clash处理。最终导致IP解析紊乱。 通过以下命令进行修改: From 5a62982b325b8d23428100ae4440b28f3eaa3b7a Mon Sep 17 00:00:00 2001 From: Jinpeng LI Date: Fri, 7 Jan 2022 21:14:59 +0800 Subject: [PATCH 24/87] fix typos (#63) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b91cc78d..7453c289 100644 --- a/README.md +++ b/README.md @@ -662,7 +662,7 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 - (Option)为该实例分配弹性IP,可成为外网访问内网的跳板机 3. 建立路由规则 - - 创建“互网关网关”,并把“互网关网关”添加到公有子网 `172.20.1.0/24` 的路由表中 + - 创建“互联网网关”,并把“互联网网关”添加到公有子网 `172.20.1.0/24` 的路由表中 - 把 EC2 NAT Instance `172.20.1.1` 添加到私有子网`172.20.2.0/24`的路由表中。 于是整个网络就如下所示。 @@ -753,7 +753,7 @@ $ kubectl get cm nodelocaldns -n kube-system -o yaml } ``` -然而,本机的 `/etc/resolv.conf` 里有两个 DNS,一个是我们的透名网关,一个是AWS的。而 CoreDNS 的 `forward` 策略是随机挑选,所以,这样的会导致,时而交给AWS处理,时而交给我们自己的clash处理。最终导致IP解析紊乱。 +然而,本机的 `/etc/resolv.conf` 里有两个 DNS,一个是我们的透明网关,一个是AWS的。而 CoreDNS 的 `forward` 策略是随机挑选,所以,这样的会导致,时而交给AWS处理,时而交给我们自己的clash处理。最终导致IP解析紊乱。 通过以下命令进行修改: From 90988898bdd74a30d246ad2c2694da7e5ddb83cf Mon Sep 17 00:00:00 2001 From: Dup4 Date: Sat, 15 Jan 2022 09:18:55 +0800 Subject: [PATCH 25/87] fix(readme): typo (#64) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7453c289..522a74fd 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ > > - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是Linode,最后是Conoha和Vultr(如果你有更好的,请推荐) > -> - Google Cloud Platform - GCP 的香港和台湾结点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用Vultr(按时付费)翻墙,然后再到GCP上购买。 +> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用Vultr(按时付费)翻墙,然后再到GCP上购买。 ### 2.2 CN2 线路 @@ -128,7 +128,7 @@ 关于 `CN2` 线路的主机提供商,下面罗列几个 - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) -- [Gigsgigscloud](https://clientarea.gigsgigscloud.com/index.php?/cart/cloudlet-v-hk/&step=0) CN2 GIA 在香港的结点是很不错的,当然,价格也很不错(建议几个人一起平摊费用) +- [Gigsgigscloud](https://clientarea.gigsgigscloud.com/index.php?/cart/cloudlet-v-hk/&step=0) CN2 GIA 在香港的节点是很不错的,当然,价格也很不错(建议几个人一起平摊费用) - [Hostdare](https://manage.hostdare.com/index.php) 的CN2 GIA产品也是三网直连,KVM和OpenVZ两种架构,KVM产品长期缺货 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From 025365096e52485792a17bb1aa530b9c861e5d55 Mon Sep 17 00:00:00 2001 From: chiafei Date: Wed, 19 Jan 2022 16:24:30 +0800 Subject: [PATCH 26/87] remove duplicate slash of `CERT_DIR` (#68) when run `Gost` service, it will go to `/etc/letsencrypt//live/xxx/` to find cert files --- scripts/install.ubuntu.18.04.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index 5ee67520..53972f3f 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -129,7 +129,7 @@ install_gost() { fi BIND_IP=0.0.0.0 - CERT_DIR=/etc/letsencrypt/ + CERT_DIR=/etc/letsencrypt CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem From 71c184ee23a1ad2f8582584b9754f85f28fc2935 Mon Sep 17 00:00:00 2001 From: Yu <1095780+yuikns@users.noreply.github.com> Date: Mon, 4 Apr 2022 04:17:47 +0800 Subject: [PATCH 27/87] =?UTF-8?q?fix:=20typo=20=E6=8A=BD=E7=96=AF=20->=20?= =?UTF-8?q?=E6=8A=BD=E9=A3=8E=20(#69)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 522a74fd..d607f54c 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ - Reddit 是一个聚合网站,一个新闻和文章的集散地,你可以认为是各种频道的今日头条…… - Pinterest 和 Instagram 上面有很多不错的图片和视频新闻,是我减压力的地方…… - 新闻,如BBC。 BBC是全球比较出众的媒体,有太多的有价值资源和内容了,比如纪录片、学英文…… -- 编程,有很多编程的场景需要翻墙,比如,Go语言编程时的 go get 中的很多库是放在 Google的服务器上, 然而Google是全部被墙,包括 Android 和其它一些文档和资源也是一样。包括 SourceForge 的某些项目也需要科学上网,Docker Registry也有部分被墙,还有偶尔抽疯的Github,以及不能访问的gist…… +- 编程,有很多编程的场景需要翻墙,比如,Go语言编程时的 go get 中的很多库是放在 Google的服务器上, 然而Google是全部被墙,包括 Android 和其它一些文档和资源也是一样。包括 SourceForge 的某些项目也需要科学上网,Docker Registry也有部分被墙,还有偶尔抽风的Github,以及不能访问的gist…… - ……等等 是的,我的互联网不是——全是骗子的百度、充满广告的微信朋友圈、质量低下的公众号、娱乐至死的新浪微博、只有抖机灵和“怎么看XX”的知乎、毫无营养的今日头条…… 在这样的网络空间里,我真的无法生存…… 这根本不是互联网,不是为我服务的互联网,而是在消费我的互联网,是让我变傻变笨的互联网…… 我不能忍,因为它影响到了我的生存…… From 8b7870447b00282ca8cc038c72eed89a337a2357 Mon Sep 17 00:00:00 2001 From: Dup4 Date: Mon, 4 Apr 2022 04:18:20 +0800 Subject: [PATCH 28/87] chore: add shellcheck to github actions (#65) --- .github/workflows/shellcheck.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/shellcheck.yml diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml new file mode 100644 index 00000000..5d9a1d10 --- /dev/null +++ b/.github/workflows/shellcheck.yml @@ -0,0 +1,17 @@ +name: 'Shellcheck' + +on: + push: + pull_request: + branches: + - master + +jobs: + shellcheck: + name: Shellcheck + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Run ShellCheck + uses: ludeeus/action-shellcheck@master \ No newline at end of file From d50f99dce450b6d4b19358a9f5dfa2eff79cffa7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 4 Apr 2022 13:54:21 +0800 Subject: [PATCH 29/87] fix the shell lint --- README.md | 6 +++--- scripts/install.ubuntu.18.04.sh | 25 +++++++++++++------------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d607f54c..01660113 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ - Google 的各种服务,比如:Gmail, Map, Docs,Driver,照片,图片搜索,Voices,论文搜索……包括Google官方的各种技术文档…… - 一些云服务,比如:Dropbox,IFTTT,Imgur,archive.org…… - Twitter 上 Follow 一些牛人和一些官方账号,比如:AWS、Docker…… -- 社交 Facebook, Telegram, Whatsapp,Slack…… 有一些我在国外的亲戚和朋友…… +- 社交 Facebook, Telegram, Whatsapp, Slack……,有一些我在国外的亲戚和朋友…… - Reddit 是一个聚合网站,一个新闻和文章的集散地,你可以认为是各种频道的今日头条…… - Pinterest 和 Instagram 上面有很多不错的图片和视频新闻,是我减压力的地方…… - 新闻,如BBC。 BBC是全球比较出众的媒体,有太多的有价值资源和内容了,比如纪录片、学英文…… @@ -93,7 +93,7 @@ ### 2.1 常规VPS -对于VPS,下面是一些常规选项。 +对于 VPS,下面是一些常规选项。 - [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,目前的Zone不多,推荐使用日本或新加坡(支持银联卡) - [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) @@ -783,7 +783,7 @@ $ kubectl edit cm nodelocaldns -n kube-system + forward . /etc/resolv.conf { + policy sequential + } - prometheus :9253 + prometheus: 9253 } ``` diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index 53972f3f..ce3000ae 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -43,7 +43,7 @@ start_bbr(){ install_bbr() { # 如果内核版本号满足最小要求 - if [ $VERSION_CURR > $VERSION_MIN ]; then + if [[ $VERSION_CURR > $VERSION_MIN ]]; then check_bbr else update_core @@ -118,12 +118,12 @@ install_gost() { fi echo "准备启动 Gost 代理程序,为了安全,需要使用用户名与密码进行认证." - read -p "请输入你要使用的域名:" DOMAIN - read -p "请输入你要使用的用户名:" USER - read -p "请输入你要使用的密码:" PASS - read -p "请输入HTTP/2需要侦听的端口号(443):" PORT + read -r -p "请输入你要使用的域名:" DOMAIN + read -r -p "请输入你要使用的用户名:" USER + read -r -p "请输入你要使用的密码:" PASS + read -r -p "请输入HTTP/2需要侦听的端口号(443):" PORT - if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 -a "$PORT" -le 655535 ]; then + if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 443 !${COLOR_NONE}" PORT=443 fi @@ -172,12 +172,12 @@ install_shadowsocks(){ fi echo "准备启动 ShadowSocks 代理程序,为了安全,需要使用用户名与密码进行认证." - read -p "请输入你要使用的密码:" PASS - read -p "请输入ShadowSocks需要侦听的端口号(1984):" PORT + read -r -p "请输入你要使用的密码:" PASS + read -r -p "请输入ShadowSocks需要侦听的端口号(1984):" PORT BIND_IP=0.0.0.0 - if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 -a "$PORT" -le 655535 ]; then + if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 1984 !${COLOR_NONE}" PORT=1984 fi @@ -232,7 +232,7 @@ init(){ COLUMNS=50 echo -e "\n菜单选项\n" - while [ 1 == 1 ] + while true do PS3="Please select a option:" re='^[0-9]+$' @@ -257,7 +257,7 @@ init(){ break elif (( REPLY == 3 )) ; then create_cert - loop=1 + #loop=1 break elif (( REPLY == 4 )) ; then install_gost @@ -282,7 +282,8 @@ init(){ done done - IFS=$OIFS # Restore the IFS + echo "${opt}" + IFS=$OIFS # Restore the IFS } init From b8b13f9496d1d57679de822efa6136d259d07910 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 4 Apr 2022 13:58:12 +0800 Subject: [PATCH 30/87] fix the shell lint --- README.md | 2 +- scripts/install.ubuntu.18.04.sh | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 01660113..fcc44b9a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2020-08-01 +更新时间:2022-04-01 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index ce3000ae..555ec35a 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -94,16 +94,16 @@ create_cert() { echo "开始生成 SSL 证书" echo -e "${COLOR_ERROR}注意:生成证书前,需要将域名指向一个有效的 IP,否则无法创建证书.${COLOR_NONE}" - read -p "是否已经将域名指向了 IP?[Y/n]" has_record + read -r -p "是否已经将域名指向了 IP?[Y/n]" has_record if ! [[ "$has_record" = "Y" ]] ;then echo "请操作完成后再继续." return fi - read -p "请输入你要使用的域名:" domain + read -r -p "请输入你要使用的域名:" domain - sudo certbot certonly --standalone -d $domain + sudo certbot certonly --standalone -d "${domain}" } install_gost() { @@ -199,13 +199,13 @@ install_vpn(){ fi echo "准备启动 VPN/L2TP 代理程序,为了安全,需要使用用户名与密码进行认证." - read -p "请输入你要使用的用户名:" USER - read -p "请输入你要使用的密码:" PASS - read -p "请输入你要使用的PSK Key:" PSK + read -r -p "请输入你要使用的用户名:" USER + read -r -p "请输入你要使用的密码:" PASS + read -r -p "请输入你要使用的PSK Key:" PSK sudo docker run -d --name vpn --privileged \ - -e PSK=${PSK} \ - -e USERNAME=${USER} -e PASSWORD=${PASS} \ + -e PSK="${PSK}" \ + -e USERNAME="${USER}" -e PASSWORD="${PASS}" \ -p 500:500/udp \ -p 4500:4500/udp \ -p 1701:1701/tcp \ From 2ab6e2dc229ee3c531bfbe0fddba84f4c437ec89 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 9 Apr 2022 09:33:56 +0800 Subject: [PATCH 31/87] refine the document --- README.md | 91 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 64 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index fcc44b9a..df06726c 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-04-01 +更新时间:2022-04-09 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -301,10 +301,13 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 这样用 gost 在你的本机启动了一个 `Shadowsocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 ``` - +-------------------+ +-------------+ +-------------+ - | ShadowSocks Client|------>| Gost Client |------>| Gost Server | - +-------------------+ +-------------+ +-------------+ +┌─────────────┐ ┌─────────────┐ ┌─────────────┐ +│ ShadowSocks │ │ │ │ │ +│ Client ├──► Gost Client ├────────────► Gost Server │ +│ (PAC Auto) │ │ │ │ │ +└─────────────┘ └─────────────┘ └─────────────┘ ``` +**ShadowSocks Client 主要完成:自动设置操作系统代理服务器的 pac (自动设置翻墙或是不翻墙的路由)** 这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 @@ -431,7 +434,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: 所谓透明网关的意思是,一切都交给网关来做。最好的方式是你需要一个 OpenWRT 的路由器,推荐使用华硕的路由器,贵是贵一些,但是这几年用下来,非常不错。我用的是 **华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路** 。 -路由器买来后,要刷一下固件。首先Asuswrt是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:[https://github.com/RMerl/asuswrt-merlin](https://github.com/RMerl/asuswrt-merlin) +路由器买来后,要刷一下固件。首先 Asuswrt 是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:[https://github.com/RMerl/asuswrt-merlin](https://github.com/RMerl/asuswrt-merlin) 不必担心把路由器刷废了,华硕的路由器可以让你一键重置回来 @@ -449,9 +452,41 @@ VPS 上正常安装并配置好 V2Ray,注意两点: - `Allow SSH password login` - `是` + +接下来,在 WiFi 路由器上安装 Clash,就可以了。 + +大概的示意图如下所示。 + +``` + Phone/PC/Pad (无需设置) + │ + │ + │ 1 + │ + ┌────────▼──────┐ + │ │ + │ WiFi Router │ (安装 Clash 网关) + │ │ + └─────┬────┬────┘ + │ │ + │ │ 2 + │ └────────► 墙内 - China LAN + 3 │ + ┌─────▼──────┐ + │ VPS │ + │ Proxy │ + └─────┬──────┘ + │ + │ + ▼ + 墙外 - Internet WAN + +``` + + ### 7.2 通过树莓派做旁路网关 -如果你的路由器不能刷OpenWRT,也就是没发通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的Debain 7.5的操作系统。 +如果你的路由器不能刷 OpenWRT,也就是没发通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的 Debian 7.5的操作系统。 把它连上你的路由器上,然后, - 你需要把你设备上的IP地址、网关和DNS服务器都要手动设置到这个树莓派上。 @@ -463,26 +498,28 @@ VPS 上正常安装并配置好 V2Ray,注意两点: - 3 --> 3.1 或 3.2 是由树莓派来决走是否翻墙。 ``` - Phone/PC/Pad - + - | 1 - | - +-------v-------+ 2 +--------+ - | |-------------> | - | WiFi 路由器 | | 树莓派 | - | <-------------| | - +------+--+-----+ 3 +--------+ - | | - 3.1| | 3.2 - | +----------> China LAN - v - +---+---+ - | Proxy | - +---+---+ - | - | - v - Internet WAN + Phone/PC/Pad (设置"网关"和"DNS"为树莓派) + │ + │ + │ 1 + │ (安装 Clash 网关) + ┌────────▼──────┐ 2 ┌───────────┐ + │ ├──────────────► │ + │ WiFi Router │ │ 树莓派 │ + │ ◄──────────────┤ │ + └─────┬────┬────┘ 3 └───────────┘ + │ │ + │ │ 3.2 + │ └────────► 墙内 - China LAN + 3.1 │ + ┌─────▼──────┐ + │ VPS │ + │ Proxy │ + └─────┬──────┘ + │ + │ + ▼ + 墙外 - Internet WAN ``` @@ -492,7 +529,7 @@ Clash 的 Github项目是:[Dreamacro/clash](https://github.com/Dreamacro/clash Clash支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 -在你的 OpenWRT 或 树莓派 下用 `uname -m` 查看一下你的硬件架构是什么的,比如,我的是华硕和树莓派都是 `armv7l` 的,所以,需要下载 `clash-linux-armv7-....`的版本。 下载完解压后,加个可执行权限 `chmod +x clash` 就可以运行了,不过,还差一个界面和两个配置文件,它们的目录关系如下: +在你的 OpenWRT 或 树莓派 下用 `uname -m` 查看一下你的硬件架构是什么的,比如,我的是华硕和树莓派都是 `armv7l` 的,所以,需要下载 `clash-linux-armv7-....`的版本(注:根据 clash 官方仓库 [Dreamacro/clash#189](https://github.com/Dreamacro/clash/issues/189) 系列固件不适用 armv7l 架构的 AC68U,需选择 armv5)。 下载完解压后,加个可执行权限 `chmod +x clash` 就可以运行了,不过,还差一个界面和两个配置文件,它们的目录关系如下: ``` ├── clash <- 建一个 clash 的目录 From 917eded141636370f5cc4a478e28a7b1e5d23cbf Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 9 Apr 2022 13:12:08 +0800 Subject: [PATCH 32/87] update the doc --- README.md | 64 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index df06726c..b53228ff 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ - [3.1 设置Docker服务](#31-设置docker服务) - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) - [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) - - [3.4 设置Shadowsocks服务](#34-设置shadowsocks服务) + - [3.4 设置 ShadowSocks 服务](#34-设置-shadowsocks-服务) - [3.5 设置L2TP/IPSec服务](#35-设置l2tpipsec服务) - - [3.6 设置PPTP服务](#36-设置pptp服务) + - [3.6 设置 PPTP 服务](#36-设置-pptp-服务) - [4. 客户端设置](#4-客户端设置) - [4.1 gost 客户端](#41-gost-客户端) - [4.2 Shadowsocks 客户端](#42-shadowsocks-客户端) @@ -56,7 +56,7 @@ - Youtube 和 Vimeo 上的各种大会和教学视频,除了我自己要学,我的孩子也要学。 - Wikipedia 维基百科是我目前唯一信得过的百科全书,我在上面可以比较系统地翻阅各种词条。 -- Slideshare 上有很多的技术文档和资料的PPT,是我的知识学习的地方。 +- SlideShare 上有很多的技术文档和资料的PPT,是我的知识学习的地方。 - Quora 问答网站,在上面有很多有趣的问答。 - 博客和论文,很多博客和论文站点都被墙了,比如:Blogspot 和 Medium。 - Google 的各种服务,比如:Gmail, Map, Docs,Driver,照片,图片搜索,Voices,论文搜索……包括Google官方的各种技术文档…… @@ -109,9 +109,9 @@ > > - 香港网速应该是比较好的,但是香港的成本也是比较高的。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸(这里是基于北京和上海的情况) > -> - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是Linode,最后是Conoha和Vultr(如果你有更好的,请推荐) +> - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 Linode,最后是 Conoha 和 Vultr(如果你有更好的,请推荐) > -> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用Vultr(按时付费)翻墙,然后再到GCP上购买。 +> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用 Vultr(按时付费)翻墙,然后再到GCP上购买。 ### 2.2 CN2 线路 @@ -173,21 +173,21 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 -为了更为的隐蔽,你需要一个域名(可以上 Godaddy,但一定要使用美国版),然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 +为了更为的隐蔽,你需要一个域名(可以上 GoDaddy,但一定要使用美国版),然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你的域名): -``` +```shell $ sudo certbot certonly --standalone ``` 证书默认生成在 `/etc/letsencrypt/live/` 目录下,这个证书90天后就过期了,所以,需要使用一个 cron job 来定期更新(稍后给出) 接下来就是启动 gost 服务了,我们这里还是使用 Docker 的方式建立 gost 服务器。 -``` +```shell #!/bin/bash -## 下面的四个参数需要改成你的 +# 下面的四个参数需要改成你的 DOMAIN="YOU.DOMAIN.NAME" USER="username" PASS="password" @@ -211,7 +211,7 @@ sudo docker run -d --name gost \ 如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 -``` +```shell curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' ``` @@ -224,17 +224,17 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS 0 0 1 * * /usr/bin/certbot renew --force-renewal 5 0 1 * * /usr/bin/docker restart gost ``` - +S 这样,服务器就配置完成了。客户端请移动后面的客户端章节。 -### 3.4 设置Shadowsocks服务 +### 3.4 设置 ShadowSocks 服务 -**(注:Shadowsocks被查的机率非常大,不推荐使用)** +**(注:ShadowSocks 被查的机率非常大,不推荐使用)** -Shadowsocks 的 Docker 启动脚本 (其中的 `SS_PORT` 和 `SS_PASSWD` 需要重新定义一下) +ShadowSocks 的 Docker 启动脚本 (其中的 `SS_PORT` 和 `SS_PASSWD` 需要重新定义一下) -``` +```shell #!/bin/bash SS_PORT=1984 @@ -252,7 +252,7 @@ sudo docker run -dt --name ss \ L2TP/IPSec 的启动脚本,其中的三个环境变量 `USER`, `PASS` 和 `PSK` 需要替换一下。 -``` +```shell #!/bin/bash USER=someone @@ -269,18 +269,18 @@ sudo docker run -d --privileged \ siomiz/softethervpn ``` -### 3.6 设置PPTP服务 +### 3.6 设置 PPTP 服务 -**(注:PPTP不安全,请不要使用)** +**(注:PPTP 不安全,请不要使用)** -``` +```shell sudo docker run -d --privileged --net=host -v {/path_to_file/chap-secrets}:/etc/ppp/chap-secrets \ mobtitude/vpn-pptp ``` PPTP 使用 `/etc/ppp/chap-secrets` 文件设置用户名和密码,所以你需要给docker容器提供这个文件,下面是这个文件的示例: -``` +```conf # Secrets for authentication using PAP # client server secret acceptable local IP addresses fuckgfw * whosyourdaddy * @@ -291,14 +291,14 @@ PPTP 使用 `/etc/ppp/chap-secrets` 文件设置用户名和密码,所以你 ### 4.1 gost 客户端 -大多数的代理服务都支持 https 的代理,但是我们需要智能代理(也就是该翻的时候翻,不用翻的时候不翻),那么我们可以重用 Shadowsocks 的客户端。 +大多数的代理服务都支持 https 的代理,但是我们需要智能代理(也就是该翻的时候翻,不用翻的时候不翻),那么我们可以重用 ShadowSocks 的客户端。 对于电脑来说,你同样可以 [下载 gost 程序](https://github.com/ginuerzh/gost/releases),然后使用下面的命令行: ``` gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' ``` -这样用 gost 在你的本机启动了一个 `Shadowsocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 +这样用 gost 在你的本机启动了一个 `ShadowSocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ @@ -318,7 +318,7 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' **注明**:如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) 中的“注意”一节 ) -或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在SwitchyOmega配置代理为'127.0.0.1:1080'即可。比如: +或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。比如: ### 4.2 Shadowsocks 客户端 @@ -361,7 +361,7 @@ V2Ray 可以配置成一个非常隐蔽的代理软件。 - V2Ray 用户手册:[https://www.v2fly.org](https://www.v2fly.org) - V2Ray 项目地址:[https://github.com/v2fly/v2ray-core](https://github.com/v2fly/v2ray-core) -一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + Websocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://guide.v2fly.org/advanced/wss_and_web.html)》(需要翻墙)。 +一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + WebSocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://guide.v2fly.org/advanced/wss_and_web.html)》(需要翻墙)。 我个人觉得,配置起来比较复杂,而且环节太多,不如直接用 `gost` 的 https/http2 的方式配置起来简单,所以,没有放在前面。 @@ -385,7 +385,7 @@ wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/dou > 注意: 如果运行出现下载错误,可能是因为brook的下载文件名问题,你需要自己修改一下脚本: > -> ``` +> ```shell > Download_brook(){ > [[ ! -e ${file} ]] && mkdir ${file} > cd ${file} @@ -527,7 +527,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: Clash 的 Github项目是:[Dreamacro/clash](https://github.com/Dreamacro/clash) ,在它的 Release 页面上,你可以找到相关的下载。(注:在本文更新的时候,如果你需要支持 Tun,你需要下载 Clash 的 [Premium 版本](https://github.com/Dreamacro/clash/releases/tag/premium) -Clash支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 +Clash 支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 在你的 OpenWRT 或 树莓派 下用 `uname -m` 查看一下你的硬件架构是什么的,比如,我的是华硕和树莓派都是 `armv7l` 的,所以,需要下载 `clash-linux-armv7-....`的版本(注:根据 clash 官方仓库 [Dreamacro/clash#189](https://github.com/Dreamacro/clash/issues/189) 系列固件不适用 armv7l 架构的 AC68U,需选择 armv5)。 下载完解压后,加个可执行权限 `chmod +x clash` 就可以运行了,不过,还差一个界面和两个配置文件,它们的目录关系如下: @@ -550,7 +550,7 @@ Clash支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell 下面是个示例: -``` +```yaml port: 7890 socks-port: 7891 redir-port: 7892 @@ -652,7 +652,7 @@ rules: 这个时候你就可以启动 clash 了: -``` +```shell /path/to/clash/cash -d /path/to/clash & ``` @@ -660,7 +660,7 @@ rules: ### 7.4 设置 iptables 转发 -``` +```shell iptables -t nat -N CLASH iptables -t nat -A CLASH -d 10.0.0.0/8 -j RETURN iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN @@ -671,14 +671,14 @@ iptables -t nat -A CLASH -d 224.0.0.0/4 -j RETURN iptables -t nat -A CLASH -d 240.0.0.0/4 -j RETURN iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ``` -然后,你可以保存一下这些iptables的规则 +然后,你可以保存一下这些 iptables 的规则 -``` +```shell iptables-save > /etc/iptables.up.rules ``` 编辑 `//etc/network/if-pre-up.d/iptables`,在网卡启动的时候加载这些规则 -``` +```shell #!/bin/sh /sbin/iptables-restore < /etc/iptables.up.rules ``` From 05687e2e622f8f8984ff4a1325744f83f0bcfed4 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 9 Apr 2022 13:21:01 +0800 Subject: [PATCH 33/87] update the doc --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index b53228ff..2c0d770e 100644 --- a/README.md +++ b/README.md @@ -735,6 +735,21 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 172.20.0.0/16 ``` +注:你需要认真的按照 [EC2 NAT Instance](https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html) 的文档进行设置这个NAT实例。尤其需要设置下面几项: + +```shell +sudo sysctl -w net.ipv4.ip_forward=1 +sudo iptables -A FORWARD -i eth0 -j ACCEPT +sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +``` + +顺便科普一下: + +- `net.ipv4.ip_forward` 是内核参数,主要是用来把Linux当成路由器来用的参数。一般来说,一个路由器至少要有两个网络接口,一个是WAN,的一个是LAN的,为了让LAN和WAN的流量相通,需要进行内核上路由。 +- `iptables -A FORWARD -i eth0 -j ACCEPT` 通行所有需要转发的包,只有机器成为一个路由器时,需要在两个网卡间进行网络包转发时,才需要配置这条规则。 +- `iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE` 关键字 `MASQUERADE` 意思是“伪装“,NAT的工作原理是就像是一个宿舍收发室对学生宿舍一样,学生宿舍的地址外部不可见,邮递员只看得见整栋宿舍收发室的地址,邮递员把快递交给收发室,收发室再把快递转给学习宿舍(反之,如果学生要对外寄邮件,也是先到收发室,收发室传给邮局)。现在的问题是,所有的学生宿舍如何才能参与到任何快递的通信中,如果把学生宿舍地址发到外部,则没人能把信送回来。如果这个收发室是个自动化的机器人,他要干的事就是,把学生宿舍的地址换成收发室地址。这就是 `MASQUERADE` 的意思——**来自具有接收方 IP 地址的本地网络到达 Internet 某处的数据包必须进行修改,也就是让发送方的地址等于路由器的地**址。 + + ### 8.2 安装 Clash 在 EC2 NAT Instance 上安装 clash 透明网关,安装配置参看 [7.3 安装 Clash](#73-安装-clash) ,基本一致。 From 1af2a9e446e740f93c1e30f510be21009df53fb3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 9 Apr 2022 13:29:42 +0800 Subject: [PATCH 34/87] update the doc --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2c0d770e..be590624 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ ## 0. 序 -首先,我们先明确一下,我科学上网的目的主要是为了学习、工作、交友、查资料、和丰富自己的眼界,不是为了看黄片,或是干一些非法、政治或是见不得人的事。 +首先,我们先明确一下,我科学上网的目的主要是为了学习、工作、交友、查资料、和丰富自己的眼界,不是其它的事。 对我来说,科学上网很重要,下面罗列一下需要科学上网,我才能真正学习工作和生活的网站: @@ -83,19 +83,19 @@ ## 2. 购买VPS -然后,你需要一个VPS。 在这里,强烈建议通过自建的方式,可能成本会略高一点,但是,整体来说比共享的好很多了。 +然后,你需要一个VPS。 在这里,强烈建议通过自建的方式,可能成本会比托管的“机场”要高一些,而且还很麻烦,但是,在安全性方面会比较好一些。自己动手,自力更生,让人有更多的安全感。 (注:*当然,你也可以直接购买一些科学上网的服务,但我这里不推荐了,一方面是广告,另一方面通常这样的服务非常的不稳定,而且也容易被代理方做中间人攻击*) **现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得得改善。当然,线路好的得需要多花一些钱。**。 -(注:*我现在每个月投入在科学上网上的成本大概在不到1000元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 +(注:*我现在每个月投入在科学上网上的成本大概在不到500元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 ### 2.1 常规VPS 对于 VPS,下面是一些常规选项。 -- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,目前的Zone不多,推荐使用日本或新加坡(支持银联卡) +- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡) - [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) - [Google Cloud Platform](https://cloud.google.com/)提供免费试用,赠送300刀赠金(需要国际信用卡) - [Linode](https://www.linode.com)买个一月USD5刀的VPS From 9f85c519f820860980ab4a493db9db197846e187 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 23 Apr 2022 14:11:39 +0800 Subject: [PATCH 35/87] Update README.md --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index be590624..e5f804e9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-04-09 +更新时间:2022-04-23 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -411,6 +411,12 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 Cloudflare 只需免费方案足以,不必花钱。 +> **注**:如果你要用Cloudflare来代理 gost 服务的话,你得使用 Websocket协议 +> +> - **server**: `gost -L=mwss://user:password@:443` +> - **client**: `gost -L socks5://:1080 -F mwss://user:password@yourdomain:443` +> - **cloudflare**: `ssl/tls:full` + ### 6.2 V2Ray VPS 上正常安装并配置好 V2Ray,注意两点: From 727cb1d9b3119cbba7c0c4e14133d623272647bb Mon Sep 17 00:00:00 2001 From: Will Liu Date: Thu, 12 May 2022 07:44:38 +0800 Subject: [PATCH 36/87] =?UTF-8?q?gost=20=E6=9C=8D=E5=8A=A1=E7=AB=AF?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=A2=9E=E5=8A=A0=20auth=E5=8F=82=E6=95=B0?= =?UTF-8?q?=20=E7=9A=84=E8=AF=B4=E6=98=8E=20(#71)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e5f804e9..f5c9e720 100644 --- a/README.md +++ b/README.md @@ -209,6 +209,13 @@ sudo docker run -d --name gost \ **注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的`knock`参数配置的是`www.google.com`,所以,你需要先访问一下 `https://www.google.com` 让服务端返回一个 `407` 后,SwitchyOmega 才能正常工作。 +**注意**:如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置: +``` +gost -L :8080?auth=YWRtaW46MTIzNDU2 -F ss://:8338?auth=Y2hhY2hhMjA6QWEjJiEkMTIzNEA1Njc4 +``` +auth的值为user:passbase64编码值 + + 如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 ```shell From 1242c0cf1780fd79df7f77900b4e5bdae9abd6f7 Mon Sep 17 00:00:00 2001 From: Minxue Zhang Date: Mon, 18 Jul 2022 23:33:40 +0800 Subject: [PATCH 37/87] fix typo (#72) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5c9e720..2196b852 100644 --- a/README.md +++ b/README.md @@ -499,7 +499,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: ### 7.2 通过树莓派做旁路网关 -如果你的路由器不能刷 OpenWRT,也就是没发通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的 Debian 7.5的操作系统。 +如果你的路由器不能刷 OpenWRT,也就是没法通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的 Debian 7.5的操作系统。 把它连上你的路由器上,然后, - 你需要把你设备上的IP地址、网关和DNS服务器都要手动设置到这个树莓派上。 From e05f407ad2aee87236e671fbe9ef85f2689769ca Mon Sep 17 00:00:00 2001 From: hellojukay Date: Mon, 22 Aug 2022 14:12:50 +0800 Subject: [PATCH 38/87] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8A=E7=BD=91?= =?UTF-8?q?=E6=8A=80=E5=B7=A7=20#74=20(#75)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 添加上网技巧 #74 * 按照建议修改 #75 --- README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/README.md b/README.md index 2196b852..0af3b2cb 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,9 @@ - [9. 其它](#9-其它) - [9.1 其它方式](#91-其它方式) - [8.2 搭建脚本](#82-搭建脚本) + - [10. 代理技巧](#10-代理技巧) + - [10.1 HTTP隧道](#101-http隧道) + - [10.2 SSH隧道](#102-ssh隧道) ## 0. 序 @@ -868,6 +871,43 @@ $ kubectl edit cm nodelocaldns -n kube-system - [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) +## 10. 代理技巧 +看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 + +1. [SOCKS协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) +2. [HTTP隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) + +### 10.1 HTTP隧道 +常见的软件 curl , git, wget 都能通过设置 `HTTP_PROXY`,`HTTPS_PROXY`,`NO_PROXY` 来配置一个网络代理,`NO_PROXY`用来配置不需要代理的主机(多个用逗号隔开), 那么我们就可以编写一个 `bash ` 函数来运行需要走代理的命令: +``` +with_proxy(){ + HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 "$@" +} +``` +把上面的 `127.0.0.1:7890` 改成你自己的网络代理, 将上面脚本写入到 ~/.bashrc 中, `source ~/.bashrc` 后就能使用 `with_proxy` 这个函数了,比如我想要使用代理网络下载一个文件 `with_proxy wget https://....`, 想要使用代理网络从 `github` clone 一个项目 `with_proxy git clone https://...`, 当我们不用 `with_proxy` 这个函数的时候命令是不会走代理的,如果在 `windows` 上你也想要使用这样的功能,可以使用这个项目[with-env](https://github.com/hellojukay/with-env)。 + +另外,你也可以使用如下的两个 alias: +```shell +SOCKS="socks5://127.0.0.1:1085" +alias proxy="export http_proxy=${SOCKS} https_proxy=${SOCKS} all_proxy=${SOCKS}" +alias unproxy='unset all_proxy http_proxy https_proxy' +``` +这样,你就可以在需要代理的时候输入 proxy,不需要的时候输入 unproxy。 + +### 10.2 SSH隧道 +另外,我们可以使用 SSH Tunnel 来建立 SOCKS5 的代理(假设本地电脑无法访问,但是某台可以 SSH 的服务器能够访问外网,那么我们就可以使用如下的命令来建议翻墙代理: +```shell +ssh -D 1080 -qCN username@server:port +``` +``` +with_proxy(){ + HTTPS_PROXY=socks5://127.0.0.1:1080 HTTP_PROXY=socks5://127.0.0.1:1080 "$@" +} +``` +如果是浏览器,配置好`SwitchyOmega`插件也能实现上外网。 + + + 欢迎补充和改善! (全文完) From c3edddaa320cadccf669c812084db2da6a11295d Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 22 Aug 2022 14:21:35 +0800 Subject: [PATCH 39/87] update README.md --- README.md | 73 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 0af3b2cb..3c37de68 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-04-23 +更新时间:2022-08-22 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -48,8 +48,8 @@ - [9.1 其它方式](#91-其它方式) - [8.2 搭建脚本](#82-搭建脚本) - [10. 代理技巧](#10-代理技巧) - - [10.1 HTTP隧道](#101-http隧道) - - [10.2 SSH隧道](#102-ssh隧道) + - [10.1 HTTP 隧道](#101-http-隧道) + - [10.2 SSH 隧道](#102-ssh-隧道) ## 0. 序 @@ -109,7 +109,7 @@ > **注意** > - 在中国,因为有太多的网络提供商,所以,国内的网络也是很奇葩的,可以看到的是,不同的地方,不同的网络,到不同的国家完全不一样,而且还经常性地调整路由,所以,经常性地有时候快有时候慢,简直就是随机的。所以,像我这样要求比较高的人,一般会备3-5个不同国家地区的VPS,以保障上网的速度。 -> +> > - 香港网速应该是比较好的,但是香港的成本也是比较高的。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸(这里是基于北京和上海的情况) > > - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 Linode,最后是 Conoha 和 Vultr(如果你有更好的,请推荐) @@ -127,7 +127,7 @@ - **CN2 GT**: CN2 里属于Global Transit的产品(又名GIS-Global Internet Service),在CN2里等级低,省级/出国节点为 `202.97` 开头,国际骨干节点有2~4个 `59.43` 开头的CN2节点。在出国线路上拥堵程度一般,相对于163骨干网的稍强,相比CN2 GIA,性价比也较高。 - **CN2 GIA**: CN2 里属于Global Internet Access的产品,等级最高,省级/出国/国际骨干节点都以`59.43`开头,全程没有`202.97`开头的节点。在出国线路上表现最好,很少拥堵,理论上速度最快最稳定,当然,价格也相对 CN2 GT 偏高。 - + 关于 `CN2` 线路的主机提供商,下面罗列几个 - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) @@ -284,7 +284,7 @@ sudo docker run -d --privileged \ **(注:PPTP 不安全,请不要使用)** ```shell -sudo docker run -d --privileged --net=host +sudo docker run -d --privileged --net=host -v {/path_to_file/chap-secrets}:/etc/ppp/chap-secrets \ mobtitude/vpn-pptp ``` @@ -324,7 +324,7 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 对于手机端 - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 - - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) + - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) **注明**:如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) 中的“注意”一节 ) @@ -422,7 +422,7 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 Cloudflare 只需免费方案足以,不必花钱。 > **注**:如果你要用Cloudflare来代理 gost 服务的话,你得使用 Websocket协议 -> +> > - **server**: `gost -L=mwss://user:password@:443` > - **client**: `gost -L socks5://:1080 -F mwss://user:password@yourdomain:443` > - **cloudflare**: `ssl/tls:full` @@ -464,7 +464,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: - `Enable JFFS custom scripts and configs` - `是` -**4)打开 ssh 登录**。 `系统管理` -> `系统设置` -> `SSH Daemon` +**4)打开 ssh 登录**。 `系统管理` -> `系统设置` -> `SSH Daemon` - `Allow SSH password login` - `是` @@ -478,16 +478,16 @@ VPS 上正常安装并配置好 V2Ray,注意两点: │ │ │ 1 - │ - ┌────────▼──────┐ + │ + ┌────────▼──────┐ │ │ │ WiFi Router │ (安装 Clash 网关) │ │ - └─────┬────┬────┘ + └─────┬────┬────┘ │ │ │ │ 2 │ └────────► 墙内 - China LAN - 3 │ + 3 │ ┌─────▼──────┐ │ VPS │ │ Proxy │ @@ -527,7 +527,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: │ │ │ │ 3.2 │ └────────► 墙内 - China LAN - 3.1 │ + 3.1 │ ┌─────▼──────┐ │ VPS │ │ Proxy │ @@ -549,8 +549,8 @@ Clash 支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell ``` ├── clash <- 建一个 clash 的目录 -│   ├── clash <- 运行文件 -│   ├── config.yaml <- 配置文件 +│   ├── clash <- 运行文件 +│   ├── config.yaml <- 配置文件 │   ├── Country.mmdb <- IP地址库 │   └── ui <- Clash 的 UI │   ├── index.html @@ -660,7 +660,7 @@ rules: - DOMAIN-SUFFIX,nflxvideo.net,netflix # 最终规则(除了中国区的IP之外的,全部翻墙) - - GEOIP,CN,DIRECT + - GEOIP,CN,DIRECT - MATCH,auto ``` @@ -707,7 +707,7 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ### 8.1 AWS 网络构建 1. 构建一个 `172.20.0.0/16` 的 VPC,分成两个子网: - - 有公网IP的公有子网 - `172.20.1.0/24` + - 有公网IP的公有子网 - `172.20.1.0/24` - 无公网IP的私有子网 - `172.20.2.0/24` 2. 在公有子网里创建 [EC2 NAT Instance](https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html) @@ -758,7 +758,7 @@ sudo sysctl -w net.ipv4.ip_forward=1 sudo iptables -A FORWARD -i eth0 -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ``` - + 顺便科普一下: - `net.ipv4.ip_forward` 是内核参数,主要是用来把Linux当成路由器来用的参数。一般来说,一个路由器至少要有两个网络接口,一个是WAN,的一个是LAN的,为了让LAN和WAN的流量相通,需要进行内核上路由。 @@ -773,7 +773,7 @@ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE > 注:在实际操作中,没有设置 `iptables` 转发规则 -### 8.3 配置私有子网中的 EC2 +### 8.3 配置私有子网中的 EC2 只需要配置 `/etc/resolv.conf` 文件,把 EC2 NAT Instance 加入其中。如: @@ -788,7 +788,7 @@ search [zone].compute.internal K8s 里有两组 CoreDNS 部署和配置,一组是边缘的(或是叫本地的),一组是中心的。 -- 边缘的 Pod 名叫 `nodelocaldns`,侦听在本机。如:`169.254.25.10:53` +- 边缘的 Pod 名叫 `nodelocaldns`,侦听在本机。如:`169.254.25.10:53` - 中心的 Pod 名叫 `coredns`,侦听在 cluster IP 上,如:`10.233.0.3:53` 边缘的规则会把k8s的域名 `cluster.local`, `in-addr.arp` `ip6.arpa` 转给中心的 CoreDNS 处理,其它的交给本地的 `/etc/resolv.conf` 处理。 @@ -857,7 +857,7 @@ $ kubectl edit cm nodelocaldns -n kube-system 退出保存后,等大约30秒左右配置就会生效。 -## 9. 其它 +## 9. 其它 ### 9.1 其它方式 @@ -869,22 +869,23 @@ $ kubectl edit cm nodelocaldns -n kube-system 上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) -- [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) +- [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) ## 10. 代理技巧 看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 -1. [SOCKS协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) -2. [HTTP隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) +1. [SOCKS 协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) +2. [HTTP 隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) + +### 10.1 HTTP 隧道 -### 10.1 HTTP隧道 常见的软件 curl , git, wget 都能通过设置 `HTTP_PROXY`,`HTTPS_PROXY`,`NO_PROXY` 来配置一个网络代理,`NO_PROXY`用来配置不需要代理的主机(多个用逗号隔开), 那么我们就可以编写一个 `bash ` 函数来运行需要走代理的命令: -``` +```shell with_proxy(){ HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890 "$@" } ``` -把上面的 `127.0.0.1:7890` 改成你自己的网络代理, 将上面脚本写入到 ~/.bashrc 中, `source ~/.bashrc` 后就能使用 `with_proxy` 这个函数了,比如我想要使用代理网络下载一个文件 `with_proxy wget https://....`, 想要使用代理网络从 `github` clone 一个项目 `with_proxy git clone https://...`, 当我们不用 `with_proxy` 这个函数的时候命令是不会走代理的,如果在 `windows` 上你也想要使用这样的功能,可以使用这个项目[with-env](https://github.com/hellojukay/with-env)。 +把上面的 `127.0.0.1:7890` 改成你自己的网络代理, 将上面脚本写入到 `~/.bashrc` 中, `source ~/.bashrc` 后就能使用 `with_proxy` 这个函数了,比如我想要使用代理网络下载一个文件 `with_proxy wget https://....`, 想要使用代理网络从 `github` clone 一个项目 `with_proxy git clone https://...`, 当我们不用 `with_proxy` 这个函数的时候命令是不会走代理的,如果在 `windows` 上你也想要使用这样的功能,可以使用这个项目[with-env](https://github.com/hellojukay/with-env)。 另外,你也可以使用如下的两个 alias: ```shell @@ -892,14 +893,24 @@ SOCKS="socks5://127.0.0.1:1085" alias proxy="export http_proxy=${SOCKS} https_proxy=${SOCKS} all_proxy=${SOCKS}" alias unproxy='unset all_proxy http_proxy https_proxy' ``` -这样,你就可以在需要代理的时候输入 proxy,不需要的时候输入 unproxy。 +这样,你就可以在需要代理的时候输入 `proxy`,不需要的时候输入 `unproxy`。 -### 10.2 SSH隧道 +### 10.2 SSH 隧道 另外,我们可以使用 SSH Tunnel 来建立 SOCKS5 的代理(假设本地电脑无法访问,但是某台可以 SSH 的服务器能够访问外网,那么我们就可以使用如下的命令来建议翻墙代理: + ```shell ssh -D 1080 -qCN username@server:port ``` -``` +解释: + +- `-D`:本机SOCKS 服务端口 +- `-q` : quiet 模式,没有输出 +- `-C` : 数据压缩,可以节约一些带宽 +- `-N` : 不运行远程命令,只做端口转发 + +登录成功以后,本地 `1080`端口会开启一个 `SOCKS5` 协议的代理,只要配置好代理就能使用这个端口上网。 + +```shell with_proxy(){ HTTPS_PROXY=socks5://127.0.0.1:1080 HTTP_PROXY=socks5://127.0.0.1:1080 "$@" } From 0cfb5444e7f941cd7bb5721c8bac883a21819b6f Mon Sep 17 00:00:00 2001 From: runzhliu Date: Thu, 15 Sep 2022 08:30:57 +0800 Subject: [PATCH 40/87] fix typo (#77) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c37de68..e9df30c3 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS 0 0 1 * * /usr/bin/certbot renew --force-renewal 5 0 1 * * /usr/bin/docker restart gost ``` -S + 这样,服务器就配置完成了。客户端请移动后面的客户端章节。 ### 3.4 设置 ShadowSocks 服务 @@ -692,7 +692,7 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ```shell iptables-save > /etc/iptables.up.rules ``` -编辑 `//etc/network/if-pre-up.d/iptables`,在网卡启动的时候加载这些规则 +编辑 `/etc/network/if-pre-up.d/iptables`,在网卡启动的时候加载这些规则 ```shell #!/bin/sh @@ -865,7 +865,7 @@ $ kubectl edit cm nodelocaldns -n kube-system [Outline](https://getoutline.org/en/home) 是由 Google 旗下 [Jigsaw](https://jigsaw.google.com/) 团队开发的整套翻墙解决方案。Server 端使用 Shadowsocks,MacOS, Windows, iOS, Android 均有官方客户端。使用 Outline Manager 可以一键配置 DigitalOcean。其他平台例如 AWS, Google Cloud 也提供相应脚本。主要优点就是使用简单并且整个软件栈全部[开源](https://github.com/Jigsaw-Code/?q=outline),有专业团队长期维护。 -### 8.2 搭建脚本 +### 9.2 搭建脚本 上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) From 6196fb20a31ff02bf8f7baf7f6bf8dd22427630c Mon Sep 17 00:00:00 2001 From: Ming <67819201+ming-kang@users.noreply.github.com> Date: Tue, 27 Sep 2022 10:44:17 +0800 Subject: [PATCH 41/87] modified: README.md (#78) * modified: README.md * Update README.md --- README.md | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e9df30c3..9e7721f1 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 如果开启,请参看 《[开启TCP BBR拥塞控制算法](https://github.com/iMeiji/shadowsocks_install/wiki/开启-TCP-BBR-拥塞控制算法) 》 -### 3.3 用 Gost 设置 HTTPS 服务 +### 3.3.1 用 Gost 设置 HTTPS 服务 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 @@ -235,12 +235,29 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS 5 0 1 * * /usr/bin/docker restart gost ``` +### 3.3.2用Gost设置Websocket Over Tls服务(支持CDN) + +服务器端: +``` +gost -L=mwss://username:password@:443?cert=/path/to/your/cert/file\&key=/path/to/your/key/file +``` + +CloudFlare:将TLS/SSL设置为**完全** + +客户端: +``` +gost -L socks://:YourLocalPort -F mwss://username:password@example.com:443 +``` +然后在其他软件中设置socks5代理即可 + 这样,服务器就配置完成了。客户端请移动后面的客户端章节。 ### 3.4 设置 ShadowSocks 服务 **(注:ShadowSocks 被查的机率非常大,不推荐使用)** +**(如果有隧道转发,可以使用)** + ShadowSocks 的 Docker 启动脚本 (其中的 `SS_PORT` 和 `SS_PASSWD` 需要重新定义一下) @@ -421,11 +438,8 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 Cloudflare 只需免费方案足以,不必花钱。 -> **注**:如果你要用Cloudflare来代理 gost 服务的话,你得使用 Websocket协议 -> -> - **server**: `gost -L=mwss://user:password@:443` -> - **client**: `gost -L socks5://:1080 -F mwss://user:password@yourdomain:443` -> - **cloudflare**: `ssl/tls:full` +关于优选IP,可以手动更改本地hosts文件指向最佳IP。 + ### 6.2 V2Ray From 628fdf55fec1899f8ccfa4cbf0b2fe312ab69458 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 14 Nov 2022 17:18:08 +0800 Subject: [PATCH 42/87] refine the gost auth configuration --- README.md | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9e7721f1..8f7179b1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,8 @@ - [3. 搭建相关代理服务](#3-搭建相关代理服务) - [3.1 设置Docker服务](#31-设置docker服务) - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) - - [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) + - [3.3.1 用 Gost 设置 HTTPS 服务](#331-用-gost-设置-https-服务) + - [3.3.2用Gost设置Websocket Over Tls服务(支持CDN)](#332用gost设置websocket-over-tls服务支持cdn) - [3.4 设置 ShadowSocks 服务](#34-设置-shadowsocks-服务) - [3.5 设置L2TP/IPSec服务](#35-设置l2tpipsec服务) - [3.6 设置 PPTP 服务](#36-设置-pptp-服务) @@ -46,7 +47,7 @@ - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) - [9. 其它](#9-其它) - [9.1 其它方式](#91-其它方式) - - [8.2 搭建脚本](#82-搭建脚本) + - [9.2 搭建脚本](#92-搭建脚本) - [10. 代理技巧](#10-代理技巧) - [10.1 HTTP 隧道](#101-http-隧道) - [10.2 SSH 隧道](#102-ssh-隧道) @@ -212,12 +213,24 @@ sudo docker run -d --name gost \ **注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的`knock`参数配置的是`www.google.com`,所以,你需要先访问一下 `https://www.google.com` 让服务端返回一个 `407` 后,SwitchyOmega 才能正常工作。 -**注意**:如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置: -``` -gost -L :8080?auth=YWRtaW46MTIzNDU2 -F ss://:8338?auth=Y2hhY2hhMjA6QWEjJiEkMTIzNEA1Njc4 -``` -auth的值为user:passbase64编码值 +**注意**:如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置,下面是使用 `auth` 参数的例子(注意,需要 gost 在 2.9.2+ 以上版本): +```shell +DOMAIN="YOU.DOMAIN.NAME" +USER="username" +PASS="password" +PORT=443 +AUTH=$(echo -n ${USER}:${PASS} | base64) + +BIND_IP=0.0.0.0 +CERT_DIR=/etc/letsencrypt +CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem +KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem +sudo docker run -d --name gost \ + -v ${CERT_DIR}:${CERT_DIR}:ro \ + --net=host ginuerzh/gost \ + -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" +``` 如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 @@ -225,7 +238,6 @@ auth的值为user:passbase64编码值 curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' ``` - 接下来就是证书的自动化更新。 可以使用命令 `crontab -e` 来编辑定时任务: @@ -235,7 +247,7 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS 5 0 1 * * /usr/bin/docker restart gost ``` -### 3.3.2用Gost设置Websocket Over Tls服务(支持CDN) +### 3.3.2用Gost设置Websocket Over Tls服务(支持CDN) 服务器端: ``` From c50b41b6622ce5637a231378d5bcad500103f6f9 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 14 Nov 2022 17:36:05 +0800 Subject: [PATCH 43/87] refine the gost-cloudflare section --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 8f7179b1..4920ca7e 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,7 @@ - [3. 搭建相关代理服务](#3-搭建相关代理服务) - [3.1 设置Docker服务](#31-设置docker服务) - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) - - [3.3.1 用 Gost 设置 HTTPS 服务](#331-用-gost-设置-https-服务) - - [3.3.2用Gost设置Websocket Over Tls服务(支持CDN)](#332用gost设置websocket-over-tls服务支持cdn) + - [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) - [3.4 设置 ShadowSocks 服务](#34-设置-shadowsocks-服务) - [3.5 设置L2TP/IPSec服务](#35-设置l2tpipsec服务) - [3.6 设置 PPTP 服务](#36-设置-pptp-服务) @@ -173,7 +172,7 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 如果开启,请参看 《[开启TCP BBR拥塞控制算法](https://github.com/iMeiji/shadowsocks_install/wiki/开启-TCP-BBR-拥塞控制算法) 》 -### 3.3.1 用 Gost 设置 HTTPS 服务 +### 3.3 用 Gost 设置 HTTPS 服务 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 @@ -246,23 +245,24 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS 0 0 1 * * /usr/bin/certbot renew --force-renewal 5 0 1 * * /usr/bin/docker restart gost ``` +这样,服务器就配置完成了。客户端请移动后面的客户端章节。 -### 3.3.2用Gost设置Websocket Over Tls服务(支持CDN) - -服务器端: -``` -gost -L=mwss://username:password@:443?cert=/path/to/your/cert/file\&key=/path/to/your/key/file -``` - -CloudFlare:将TLS/SSL设置为**完全** - -客户端: -``` -gost -L socks://:YourLocalPort -F mwss://username:password@example.com:443 -``` -然后在其他软件中设置socks5代理即可 +> **使用 Cloudflare 的注意事项** +> +> 上述的方法并不支持 Cloudflare CDN,如果你想使用了 Cloudflare CDN,你需要使用 WebSocket 协议,如下所示,你需要使用 `mwss` 协议。 +> +> ```shell +> gost -L=mwss://username:password@:443?cert=/path/to/your/cert/file\&key=/path/to/your/key/file +> ``` +> 在 CloudFlare 上,请将TLS/SSL设置为 **完全** +> +> 如果你的客户端只能使用 socks 协议,你还要在客户端这边转一下: +> +>```shell +>gost -L socks://:YourLocalPort -F mwss://username:password@example.com:443 +> ``` +> 然后在其他软件中设置socks5代理即可 -这样,服务器就配置完成了。客户端请移动后面的客户端章节。 ### 3.4 设置 ShadowSocks 服务 From 23b24600df9cc8f72f80bb2ba387ae6178214d46 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 15 Nov 2022 14:43:08 +0800 Subject: [PATCH 44/87] update the CN2 GIA provider --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 4920ca7e..cec55f60 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-08-22 +更新时间:2022-11-15 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -110,15 +110,15 @@ > **注意** > - 在中国,因为有太多的网络提供商,所以,国内的网络也是很奇葩的,可以看到的是,不同的地方,不同的网络,到不同的国家完全不一样,而且还经常性地调整路由,所以,经常性地有时候快有时候慢,简直就是随机的。所以,像我这样要求比较高的人,一般会备3-5个不同国家地区的VPS,以保障上网的速度。 > -> - 香港网速应该是比较好的,但是香港的成本也是比较高的。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸(这里是基于北京和上海的情况) +> - 香港网速应该是比较好的,但是香港的成本也是比较高的。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸。但是,因为线路的问题,如果没有为中国区优化的线路,丢包率是非常大的,日本区 ping 值虽然很低,但是经常性的丢包,好的线路的美国的 ping 值虽然大,但是也会飞快。 > -> - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 Linode,最后是 Conoha 和 Vultr(如果你有更好的,请推荐) +> - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 [Linode](https://www.linode.com/),最后是 [Vultr](https://www.vultr.com/)(如果你有更好的,请推荐) > -> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用 Vultr(按时付费)翻墙,然后再到GCP上购买。 +> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用 [Vultr](https://www.vultr.com/)(按时付费)翻墙,然后再到GCP上购买。 ### 2.2 CN2 线路 -如果你需要更好更高速的网络服务(比如你要看Youtube的1080P),那么,你需要下面的这些服务器资源了(价格也会高一些) +如果你需要更好更高速的网络服务(比如你要看 Youtube 的 1080P),那么,你需要下面的这些服务器资源了(价格也会高一些) `CN2` 和 `GIA` 是两个关键词。**CN2 GIA** 全称 China telecom Next Carrier Network- Global Internet Access 电信国际精品网络,特征是路由线路上骨干节点均为59.43开头的IP。如果想要寻找接入CN2线路的国外VPS提供商,建议使用 `Next Carrier Network` 或者 `CN2` 这个关键词搜索即可。 @@ -128,11 +128,10 @@ - **CN2 GIA**: CN2 里属于Global Internet Access的产品,等级最高,省级/出国/国际骨干节点都以`59.43`开头,全程没有`202.97`开头的节点。在出国线路上表现最好,很少拥堵,理论上速度最快最稳定,当然,价格也相对 CN2 GT 偏高。 -关于 `CN2` 线路的主机提供商,下面罗列几个 +关于 `CN2` 线路的主机提供商,好些都不靠谱,只推荐下面两个,首推搬瓦工。 - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) -- [Gigsgigscloud](https://clientarea.gigsgigscloud.com/index.php?/cart/cloudlet-v-hk/&step=0) CN2 GIA 在香港的节点是很不错的,当然,价格也很不错(建议几个人一起平摊费用) -- [Hostdare](https://manage.hostdare.com/index.php) 的CN2 GIA产品也是三网直连,KVM和OpenVZ两种架构,KVM产品长期缺货 +- [Hostdare](https://bill.hostdare.com/aff.php?aff=3397) 的 CN2 GIA 产品也是三网直连,KVM 和 OpenVZ 两种架构,KVM 产品长期缺货 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From 60c2de634f2101877cfe7d30d8d44216cc825528 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 21 Dec 2022 12:42:03 +0800 Subject: [PATCH 45/87] add github/git ssh proxy --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index cec55f60..a5e74bd4 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ - [10. 代理技巧](#10-代理技巧) - [10.1 HTTP 隧道](#101-http-隧道) - [10.2 SSH 隧道](#102-ssh-隧道) + - [10.3 Github / Git SSH 代理](#103-github--git-ssh-代理) ## 0. 序 @@ -942,6 +943,18 @@ with_proxy(){ ``` 如果是浏览器,配置好`SwitchyOmega`插件也能实现上外网。 +### 10.3 Github / Git SSH 代理 + +现在访问 Github 速度很慢甚至不通,我们可以使用代理来加速,首先我们需要配置好代理,然后配置好 `git` 的代理,这样就能加速 `git clone` 和 `git push` 了。 + +当你使用 `git clone ssh://[user@]server/project.git` 或是 `git clone [user@]server:project.git` 的时候,你是在使用 SSH 协议。你需要配置 `~/.ssh/config` 来使用代理,比如我的本地有一个Sock5代理,端口是 1085,那么我可以这样配置: + +```s +### github.com +Host github.com + Hostname github.com + ProxyCommand nc -x localhost:1085 %h %p +``` 欢迎补充和改善! From 9f65621b5efe24c130be0722a5bbb3f2f61faf5b Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 21 Dec 2022 12:42:35 +0800 Subject: [PATCH 46/87] update the time --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5e74bd4..5764e911 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-11-15 +更新时间:2022-12-21 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 From 1d75630977630bd9016ee12fda09f362390d9040 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 21 Dec 2022 12:58:34 +0800 Subject: [PATCH 47/87] fix shell lint error --- scripts/install.ubuntu.18.04.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index 555ec35a..24f85b0c 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -108,7 +108,7 @@ create_cert() { install_gost() { if ! [ -x "$(command -v docker)" ]; then - echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" + echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" return fi @@ -121,7 +121,7 @@ install_gost() { read -r -p "请输入你要使用的域名:" DOMAIN read -r -p "请输入你要使用的用户名:" USER read -r -p "请输入你要使用的密码:" PASS - read -r -p "请输入HTTP/2需要侦听的端口号(443):" PORT + read -r -p "请输入HTTP/2需要侦听的端口号(443):" PORT if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 443 !${COLOR_NONE}" @@ -152,7 +152,7 @@ create_cron_job(){ echo "${COLOR_SUCC}证书renew定时作业已经安装过!${COLOR_NONE}" fi - if ! crontab_exists "docker restart gost"; then + if ! crontab_exists "docker restart gost"; then echo "5 0 1 * * /usr/bin/docker restart gost" >> /var/spool/cron/crontabs/root echo "${COLOR_SUCC}成功安装gost更新证书定时作业!${COLOR_NONE}" else @@ -162,7 +162,7 @@ create_cron_job(){ install_shadowsocks(){ if ! [ -x "$(command -v docker)" ]; then - echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" + echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" return fi @@ -173,23 +173,23 @@ install_shadowsocks(){ echo "准备启动 ShadowSocks 代理程序,为了安全,需要使用用户名与密码进行认证." read -r -p "请输入你要使用的密码:" PASS - read -r -p "请输入ShadowSocks需要侦听的端口号(1984):" PORT + read -r -p "请输入ShadowSocks需要侦听的端口号(1984):" PORT BIND_IP=0.0.0.0 if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 1984 !${COLOR_NONE}" PORT=1984 - fi + fi sudo docker run -dt --name ss \ - -p ${PORT}:${PORT} mritd/shadowsocks \ + -p "${PORT}:${PORT}" mritd/shadowsocks \ -s "-s ${BIND_IP} -p ${PORT} -m aes-256-cfb -k ${PASS} --fast-open" } install_vpn(){ if ! [ -x "$(command -v docker)" ]; then - echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" + echo -e "${COLOR_ERROR}未发现Docker,请求安装 Docker ! ${COLOR_NONE}" return fi @@ -232,7 +232,7 @@ init(){ COLUMNS=50 echo -e "\n菜单选项\n" - while true + while true do PS3="Please select a option:" re='^[0-9]+$' @@ -254,7 +254,7 @@ init(){ break; elif (( REPLY == 2 )) ; then install_docker - break + break elif (( REPLY == 3 )) ; then create_cert #loop=1 From 7852e0b9a6b5bc717e301d5599ee9f87a90b7987 Mon Sep 17 00:00:00 2001 From: darcy Date: Wed, 21 Dec 2022 13:00:50 +0800 Subject: [PATCH 48/87] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Lightsail=20?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BF=A1=E6=81=AF=20(#85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 从 Lightsail 的[价格页面](https://aws.amazon.com/lightsail/pricing/)了解到亚马逊现在限期内提供为期3个月的免费试用 > For a limited time, Lightsail is extending its free tier to include three months free on select bundles. The offer applies to new or existing AWS accounts that started Lightsail usage on or after 7/8/2021. Offer only applies to one bundle per account. Standard charges apply after first 750 hours of usage of the selected bundle each month. > Three months free on Linux/Unix bundles: $3.50 USD/month, $5 USD/month, and $10 USD/month Co-authored-by: Hao Chen --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5764e911..36415a9a 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ 对于 VPS,下面是一些常规选项。 -- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡) +- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡)。现对 2021/8/7 之后使用 Lightsail 的用户提供3个月的免费试用。 - [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) - [Google Cloud Platform](https://cloud.google.com/)提供免费试用,赠送300刀赠金(需要国际信用卡) - [Linode](https://www.linode.com)买个一月USD5刀的VPS From 34f9f5e9636e43e5f584a538eec515434f5cedba Mon Sep 17 00:00:00 2001 From: tiantian1645 <1541365185@qq.com> Date: Wed, 1 Feb 2023 11:25:29 +0800 Subject: [PATCH 49/87] =?UTF-8?q?=E8=A1=A5=E5=85=85=20windows=E4=B8=8Bgit?= =?UTF-8?q?=20=E7=9A=84ssh=20=E4=BB=A3=E7=90=86=E9=85=8D=E7=BD=AE=20(#88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ncat 也行就是有的版本有点小问题 https://superuser.com/questions/714845/tunneling-ssh-via-a-socks5-proxy-on-windows --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 36415a9a..9a2f3b7b 100644 --- a/README.md +++ b/README.md @@ -954,6 +954,8 @@ with_proxy(){ Host github.com Hostname github.com ProxyCommand nc -x localhost:1085 %h %p + # git-for-windows 下可以用 connect 代替 nc + # ProxyCommand connect -S localhost:1085 %h %p ``` From b246f146b0c5635f729d81d26c8df4436bb5cec2 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 2 Feb 2023 18:20:06 +0800 Subject: [PATCH 50/87] add guide to change the resolv.conf --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a2f3b7b..e5a594fd 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2022-12-21 +更新时间:2023-02-02 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -809,6 +809,19 @@ nameserver 172.20.1.1 #<--- 透明网关 EC2 NAT 实例 nameserver 172.20.0.2 #<--- AWS 的 DNS 服务 search [zone].compute.internal ``` +> Note +> +> 新版的 Ubuntu 已经把 DNS Resolver 托管给了 systemd 的 `systemd-resolved` 服务,所以需要把 `/etc/resolv.conf` 文件改成软链接,指向 `systemd-resolved` 的配置文件,如: +> +> ```bash +> sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf +> ``` +> +> 然后,在 `/etc/systemd/resolved.conf` 文件中,把 `DNS` 和 `Domains` 配置项加上,如: +> +> ```conf +> DNS=172.20.0.2 +> ``` ### 8.4 私有子网中的 Kubernetes From dc1a0d16d2f59d8131a3b5dd692fbc12995dea23 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 25 Mar 2023 19:34:25 +0800 Subject: [PATCH 51/87] add cloudflare warp section --- README.md | 165 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 142 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index e5a594fd..635f3e0a 100644 --- a/README.md +++ b/README.md @@ -44,13 +44,14 @@ - [8.2 安装 Clash](#82-安装-clash) - [8.3 配置私有子网中的 EC2](#83-配置私有子网中的-ec2) - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) - - [9. 其它](#9-其它) - - [9.1 其它方式](#91-其它方式) - - [9.2 搭建脚本](#92-搭建脚本) - - [10. 代理技巧](#10-代理技巧) - - [10.1 HTTP 隧道](#101-http-隧道) - - [10.2 SSH 隧道](#102-ssh-隧道) - - [10.3 Github / Git SSH 代理](#103-github--git-ssh-代理) + - [9. 代理技巧](#9-代理技巧) + - [9.1 HTTP 隧道](#91-http-隧道) + - [9.2 SSH 隧道](#92-ssh-隧道) + - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) + - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) + - [10. 其它](#10-其它) + - [10.1 其它方式](#101-其它方式) + - [10.2 搭建脚本](#102-搭建脚本) ## 0. 序 @@ -896,27 +897,15 @@ $ kubectl edit cm nodelocaldns -n kube-system 退出保存后,等大约30秒左右配置就会生效。 -## 9. 其它 -### 9.1 其它方式 -如下还有一些其它的方式(注:均由网友提供,我没有验证过) - -[Outline](https://getoutline.org/en/home) 是由 Google 旗下 [Jigsaw](https://jigsaw.google.com/) 团队开发的整套翻墙解决方案。Server 端使用 Shadowsocks,MacOS, Windows, iOS, Android 均有官方客户端。使用 Outline Manager 可以一键配置 DigitalOcean。其他平台例如 AWS, Google Cloud 也提供相应脚本。主要优点就是使用简单并且整个软件栈全部[开源](https://github.com/Jigsaw-Code/?q=outline),有专业团队长期维护。 - -### 9.2 搭建脚本 - -上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) - -- [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) - -## 10. 代理技巧 +## 9. 代理技巧 看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 1. [SOCKS 协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) 2. [HTTP 隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) -### 10.1 HTTP 隧道 +### 9.1 HTTP 隧道 常见的软件 curl , git, wget 都能通过设置 `HTTP_PROXY`,`HTTPS_PROXY`,`NO_PROXY` 来配置一个网络代理,`NO_PROXY`用来配置不需要代理的主机(多个用逗号隔开), 那么我们就可以编写一个 `bash ` 函数来运行需要走代理的命令: ```shell @@ -934,7 +923,7 @@ alias unproxy='unset all_proxy http_proxy https_proxy' ``` 这样,你就可以在需要代理的时候输入 `proxy`,不需要的时候输入 `unproxy`。 -### 10.2 SSH 隧道 +### 9.2 SSH 隧道 另外,我们可以使用 SSH Tunnel 来建立 SOCKS5 的代理(假设本地电脑无法访问,但是某台可以 SSH 的服务器能够访问外网,那么我们就可以使用如下的命令来建议翻墙代理: ```shell @@ -956,7 +945,7 @@ with_proxy(){ ``` 如果是浏览器,配置好`SwitchyOmega`插件也能实现上外网。 -### 10.3 Github / Git SSH 代理 +### 9.3 Github / Git SSH 代理 现在访问 Github 速度很慢甚至不通,我们可以使用代理来加速,首先我们需要配置好代理,然后配置好 `git` 的代理,这样就能加速 `git clone` 和 `git push` 了。 @@ -970,7 +959,137 @@ Host github.com # git-for-windows 下可以用 connect 代替 nc # ProxyCommand connect -S localhost:1085 %h %p ``` +### 9.4 Cloudflare Warp 原生 IP + +很多我们需要访问的网站都需要使用“原生 IP”,比如:[Disney+](https://www.disneyplus.com/), [ChatGPT](https://chat.openai.com),[New Bing](https://www.bing.com/) 等。 + +所谓“原生 IP”就是指该网站的 IP 地址和其机房的 IP 地址是一致的,但是,很多 IDC 提供商的 IP 都是从其它国家调配来的,这导致我们就算是翻墙了,也是使用了美国的 VPS,但是还是访问不了相关的服务。所以,我们需要使用 Cloudflare Warp 来访问这些网站。 + +下面是一个在 Ubuntu 20.10 上安装 Cloudflare Warp 的教程。 + +注: 你也可以使用这个一键安装的脚本来完成 https://github.com/P3TERX/warp.sh + +**1) 安装软件包** + +```shell +sudo apt-get install net-tools openresolv wireguard +``` + +**2) 安装 Cloudflare Warp** + +[ViRb3/wgcf](https://github.com/ViRb3/wgcf) 是一个 Cloudflare Warp 的非官方客户端,它可以帮助我们生成 Cloudflare Warp 的配置文件。 + +注意替换下面命令行的中 Github Release 的版本号,最新的版本号可以在 [ViRb3/wgcf Release](https://github.com/ViRb3/wgcf/releases) 里查找。 + +```shell +# create and enter the folder +mkdir warp && cd warp + +# install wgcf +wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.14/wgcf_2.2.14_linux_amd64 + +# change permission +chmod +x wgcf +``` + +**3)注册 Cloudflare Warp** + +```shell +./wgcf register +``` + +**4)生成 wgcf 配置文件** + +```shell +./wgcf generate +``` +执行完当前目录会生成2个文件: + +- WARP注册文件:`wgcf-account.toml`; +- WireGuard 配置文件:`wgcf-profile.conf`。 + +**5)复制 WireGuard 配置文件到 `/etc/wireguard/` 目录** +```shell +sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf +``` + +**6) 修改 WireGuard 配置文件** + +你一定要修改 `wgcf-profile.conf` 文件,你把你的 VPS 的公网 IP 加进去,否则,你的 VPS 会失连。 + +``` +PostUp = ip rule add from <服务器 Public IP> lookup main +PostDown = ip rule delete from <服务器 Public IP> lookup main +``` + +下面是配置文件的示例: + +```ini +[Interface] +PrivateKey = XXXXXXXXXXXXXxxxxxxxxxxxxx= +Address = 172.16.0.2/32,2606:4700:110:8d9b:bc8f:16f:668:d891/128 +DNS = 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844 +MTU = 1420 +PostUp = ip -4 rule add from 10.10.10.10 lookup main prio 18 +PostDown = ip -4 rule delete from 10.10.10.10 lookup main prio 18 + +[Peer] +PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= +AllowedIPs = 0.0.0.0/0,::/0 +Endpoint = 162.159.192.1:2408 +``` + +注意: +- `10.10.10.10` 只是一个示例,你要把它替换成你的 VPS 的公网 IP +- `162.159.192.1` 是域名的 `engage.cloudflareclient.com` 的 IP 地址,你可以使用 `nslookup engage.cloudflareclient.com` 获得。 +- 配置文件中默认的 DNS 是 `1.1.1.1` 这里使用了 Google 的 DNS,因为会快一些。 + +**7)启动 WireGuard** + +临时启用网络接口(命令中的 `wgcf` 对应的是配置文件 `/etc/wireguard/wgcf.conf` 的文件名前缀) + +```shell +sudo wg-quick up wgcf +``` + +使用 `curl ipinfo.io` 命令来检查你的 IP 地址,如果显示的是 Cloudflare 的 IP 地址,那么恭喜你,你已经成功了。如: + +```json +{ + "ip": "104.28.227.191", + "city": "Los Angeles", + "region": "California", + "country": "US", + "loc": "34.0522,-118.2437", + "org": "AS13335 Cloudflare, Inc.", + "postal": "90009", + "timezone": "America/Los_Angeles", + "readme": "https://ipinfo.io/missingauth" +} +``` + +**8)设置开机自启动** + +```shell +sudo systemctl enable wg-quick@wgcf +sudo systemctl start wg-quick@wgcf +``` + + +## 10. 其它 + +### 10.1 其它方式 + +如下还有一些其它的方式(注:均由网友提供,我没有验证过) + +[Outline](https://getoutline.org/en/home) 是由 Google 旗下 [Jigsaw](https://jigsaw.google.com/) 团队开发的整套翻墙解决方案。Server 端使用 Shadowsocks,MacOS, Windows, iOS, Android 均有官方客户端。使用 Outline Manager 可以一键配置 DigitalOcean。其他平台例如 AWS, Google Cloud 也提供相应脚本。主要优点就是使用简单并且整个软件栈全部[开源](https://github.com/Jigsaw-Code/?q=outline),有专业团队长期维护。 + +### 10.2 搭建脚本 + +上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) + +- [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) 欢迎补充和改善! From 2b7afae50d0d279f10cf6984bae84510d8724051 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 25 Mar 2023 19:37:45 +0800 Subject: [PATCH 52/87] slightly refine --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 635f3e0a..e9e61189 100644 --- a/README.md +++ b/README.md @@ -967,7 +967,9 @@ Host github.com 下面是一个在 Ubuntu 20.10 上安装 Cloudflare Warp 的教程。 -注: 你也可以使用这个一键安装的脚本来完成 https://github.com/P3TERX/warp.sh +> **Note**: +> +> 你也可以使用这个一键安装的脚本来完成 https://github.com/P3TERX/warp.sh **1) 安装软件包** @@ -1016,7 +1018,7 @@ sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf **6) 修改 WireGuard 配置文件** -你一定要修改 `wgcf-profile.conf` 文件,你把你的 VPS 的公网 IP 加进去,否则,你的 VPS 会失连。 +**你一定要修改 `wgcf-profile.conf` 文件,你把你的 VPS 的公网 IP 加进去,否则,你的 VPS 会失连。** ``` PostUp = ip rule add from <服务器 Public IP> lookup main @@ -1040,7 +1042,7 @@ AllowedIPs = 0.0.0.0/0,::/0 Endpoint = 162.159.192.1:2408 ``` -注意: +注: - `10.10.10.10` 只是一个示例,你要把它替换成你的 VPS 的公网 IP - `162.159.192.1` 是域名的 `engage.cloudflareclient.com` 的 IP 地址,你可以使用 `nslookup engage.cloudflareclient.com` 获得。 - 配置文件中默认的 DNS 是 `1.1.1.1` 这里使用了 Google 的 DNS,因为会快一些。 From 645f3863289552a2533eb010eeaa43cf73eef2c3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 25 Mar 2023 20:55:34 +0800 Subject: [PATCH 53/87] add cloudflare warp script installation --- README.md | 63 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index e9e61189..3d81d973 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ - [9.2 SSH 隧道](#92-ssh-隧道) - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) + - [9.4.1 脚本安装](#941-脚本安装) + - [9.4.2 手动安装](#942-手动安装) - [10. 其它](#10-其它) - [10.1 其它方式](#101-其它方式) - [10.2 搭建脚本](#102-搭建脚本) @@ -965,11 +967,44 @@ Host github.com 所谓“原生 IP”就是指该网站的 IP 地址和其机房的 IP 地址是一致的,但是,很多 IDC 提供商的 IP 都是从其它国家调配来的,这导致我们就算是翻墙了,也是使用了美国的 VPS,但是还是访问不了相关的服务。所以,我们需要使用 Cloudflare Warp 来访问这些网站。 -下面是一个在 Ubuntu 20.10 上安装 Cloudflare Warp 的教程。 -> **Note**: -> -> 你也可以使用这个一键安装的脚本来完成 https://github.com/P3TERX/warp.sh +#### 9.4.1 脚本安装 + +你可以使用这个一键安装的脚本来快速完成安装 https://github.com/P3TERX/warp.sh + +下载脚本 +```shell +wget git.io/warp.sh +chmod +x warp.sh +``` +运行脚本 中文菜单 +```shell +./wrap.sh menu +``` +先后执行如下安装: + - 1 - 安装 Cloudflare WARP 官方客户端 + - 4 - 安装 WireGuard 相关组件 + - 7 - 自动配置 WARP WireGuard 双栈全局网络 + + +使用 `curl ipinfo.io` 命令来检查你的 IP 地址,如果显示的是 Cloudflare 的 IP 地址,那么恭喜你,你已经成功了。如: + +```json +{ + "ip": "104.28.227.191", + "city": "Los Angeles", + "region": "California", + "country": "US", + "loc": "34.0522,-118.2437", + "org": "AS13335 Cloudflare, Inc.", + "postal": "90009", + "timezone": "America/Los_Angeles", + "readme": "https://ipinfo.io/missingauth" +} +``` + + +#### 9.4.2 手动安装 **1) 安装软件包** @@ -1047,28 +1082,18 @@ Endpoint = 162.159.192.1:2408 - `162.159.192.1` 是域名的 `engage.cloudflareclient.com` 的 IP 地址,你可以使用 `nslookup engage.cloudflareclient.com` 获得。 - 配置文件中默认的 DNS 是 `1.1.1.1` 这里使用了 Google 的 DNS,因为会快一些。 -**7)启动 WireGuard** +**7)启停 WireGuard** -临时启用网络接口(命令中的 `wgcf` 对应的是配置文件 `/etc/wireguard/wgcf.conf` 的文件名前缀) +启用网络接口(命令中的 `wgcf` 对应的是配置文件 `/etc/wireguard/wgcf.conf` 的文件名前缀) ```shell sudo wg-quick up wgcf ``` -使用 `curl ipinfo.io` 命令来检查你的 IP 地址,如果显示的是 Cloudflare 的 IP 地址,那么恭喜你,你已经成功了。如: +停止网络接口如下: -```json -{ - "ip": "104.28.227.191", - "city": "Los Angeles", - "region": "California", - "country": "US", - "loc": "34.0522,-118.2437", - "org": "AS13335 Cloudflare, Inc.", - "postal": "90009", - "timezone": "America/Los_Angeles", - "readme": "https://ipinfo.io/missingauth" -} +```shell +sudo wg-quick down wgcf ``` **8)设置开机自启动** From f8f0548bd21834ced507abee48a7b9e5e8d385f3 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sun, 26 Mar 2023 00:33:32 +0800 Subject: [PATCH 54/87] add notes --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 3d81d973..b0583f7a 100644 --- a/README.md +++ b/README.md @@ -986,6 +986,21 @@ chmod +x warp.sh - 4 - 安装 WireGuard 相关组件 - 7 - 自动配置 WARP WireGuard 双栈全局网络 +>**Note:** +> 1. 如果没有 ipv6 网络,那么第 7 步可以换成第 5 步 自动配置 WARP WireGuard IPv4 网络,或是执行 `./warp.sh 4`。 +> +> 2. 你需要备份一下你的帐号和配置文件,在 `/etc/warp/` 目录下,主要是两个文件,一个是 `wgcf-account.toml`,一个是 `wgcf-profile.conf` +> +> 3. 这个脚本会启动两个 Systemd 服务,一个是 `warp-svc`,另一个是 `wg-quick@wgcf`。第一个是 Cloudflare Warp 的服务,第二个是 WireGuard 的服务。 +> +> 4. 你可以使用 `./warp.sh status` 来查看服务的状态,如果正常的话,会显示如下的信息。如果你的服务没有正常启动,那么会自动 `disable wg-quick@wgcf`,如果这样的话,你可以使用 `./warp.sh d`(ipv4 + ipv6 双栈网格)或是 `./warp.sh 4`(ipv4 网络) 来重头走一遍所有的安装过程。 +> ``` +> WireGuard : Running +> IPv4 Network : WARP +> IPv6 Network : WARP +> ``` +> + 使用 `curl ipinfo.io` 命令来检查你的 IP 地址,如果显示的是 Cloudflare 的 IP 地址,那么恭喜你,你已经成功了。如: @@ -1006,6 +1021,10 @@ chmod +x warp.sh #### 9.4.2 手动安装 +> **Note:** +> +> 最好还是通过上面的脚本来安装,但是如果你想手动安装,那么你可以参考下面的步骤。 + **1) 安装软件包** ```shell From 7aa50539126f4593dd214c6ca5bede5a55d6b298 Mon Sep 17 00:00:00 2001 From: richzw <1590890+richzw@users.noreply.github.com> Date: Mon, 27 Mar 2023 08:56:47 +0800 Subject: [PATCH 55/87] fix invalid linkurl (#92) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b0583f7a..6ab677ef 100644 --- a/README.md +++ b/README.md @@ -387,7 +387,7 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 对于L2TP/IPSec,几乎所有的客户端操作系统(无论是Windows/Mac/Linux的电脑,还是iPhone/Android)都支持,你可以自行Google。 -- [Mac OS X PPTP/L2TP设置教程](https://www.jianshu.com/p/24e48cfb574f) +- [Mac OS X PPTP/L2TP设置教程](http://www.it-shit.com/74.html) - [Windows 7操作系统配置L2TP VPN方法](http://nic.upc.edu.cn/2016/0928/c7809a132077/page.htm) ## 5. 流量伪装和其它方式 From 93a95ffb5a69297349562dd5c0ada03ac513b379 Mon Sep 17 00:00:00 2001 From: Logan lv Date: Mon, 27 Mar 2023 08:57:06 +0800 Subject: [PATCH 56/87] docs: fix typo (#93) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ab677ef..26a59538 100644 --- a/README.md +++ b/README.md @@ -979,7 +979,7 @@ chmod +x warp.sh ``` 运行脚本 中文菜单 ```shell -./wrap.sh menu +./warp.sh menu ``` 先后执行如下安装: - 1 - 安装 Cloudflare WARP 官方客户端 From b0a21d84512c94714b726a0fae25f6ce0a2d3cff Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 28 Mar 2023 10:55:15 +0800 Subject: [PATCH 57/87] cloudflare WARP proxy mode --- README.md | 155 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 93 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 26a59538..0f2c4d9b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-02-02 +更新时间:2023-03-28 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -49,8 +49,8 @@ - [9.2 SSH 隧道](#92-ssh-隧道) - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) - - [9.4.1 脚本安装](#941-脚本安装) - - [9.4.2 手动安装](#942-手动安装) + - [9.4.1 WARP 模式](#941-warp-模式) + - [9.4.2 代理模式](#942-代理模式) - [10. 其它](#10-其它) - [10.1 其它方式](#101-其它方式) - [10.2 搭建脚本](#102-搭建脚本) @@ -968,7 +968,9 @@ Host github.com 所谓“原生 IP”就是指该网站的 IP 地址和其机房的 IP 地址是一致的,但是,很多 IDC 提供商的 IP 都是从其它国家调配来的,这导致我们就算是翻墙了,也是使用了美国的 VPS,但是还是访问不了相关的服务。所以,我们需要使用 Cloudflare Warp 来访问这些网站。 -#### 9.4.1 脚本安装 +#### 9.4.1 WARP 模式 + +WARP 模式是 Cloudflare 提供的一种全局代理模式,就是一个客户端的 VPN,它会将你的所有流量都通过 Cloudflare 的网络,这样就能访问到原生 IP 了。 你可以使用这个一键安装的脚本来快速完成安装 https://github.com/P3TERX/warp.sh @@ -987,13 +989,13 @@ chmod +x warp.sh - 7 - 自动配置 WARP WireGuard 双栈全局网络 >**Note:** -> 1. 如果没有 ipv6 网络,那么第 7 步可以换成第 5 步 自动配置 WARP WireGuard IPv4 网络,或是执行 `./warp.sh 4`。 +> 1. 如果没有 IPv6 网络,那么第 7 步可以换成第 5 步 自动配置 WARP WireGuard IPv4 网络,或是执行 `./warp.sh 4`。 > > 2. 你需要备份一下你的帐号和配置文件,在 `/etc/warp/` 目录下,主要是两个文件,一个是 `wgcf-account.toml`,一个是 `wgcf-profile.conf` > > 3. 这个脚本会启动两个 Systemd 服务,一个是 `warp-svc`,另一个是 `wg-quick@wgcf`。第一个是 Cloudflare Warp 的服务,第二个是 WireGuard 的服务。 > -> 4. 你可以使用 `./warp.sh status` 来查看服务的状态,如果正常的话,会显示如下的信息。如果你的服务没有正常启动,那么会自动 `disable wg-quick@wgcf`,如果这样的话,你可以使用 `./warp.sh d`(ipv4 + ipv6 双栈网格)或是 `./warp.sh 4`(ipv4 网络) 来重头走一遍所有的安装过程。 +> 4. 你可以使用 `./warp.sh status` 来查看服务的状态,如果正常的话,会显示如下的信息。如果你的服务没有正常启动,那么会自动 `disable wg-quick@wgcf`,如果这样的话,你可以使用 `./warp.sh d`(IPv4 + IPv6 双栈网格)或是 `./warp.sh 4`(IPv4 网络) 来重头走一遍所有的安装过程。 > ``` > WireGuard : Running > IPv4 Network : WARP @@ -1019,109 +1021,138 @@ chmod +x warp.sh ``` -#### 9.4.2 手动安装 +#### 9.4.2 代理模式 + +如果 WARP 模式安装不能成功,那么你可以使用如下的代理模式。代理模式也就是通过一个代理来访问 Cloudflare WARP 的服务,这样就可以访问到原生 IP 了。 > **Note:** > -> 最好还是通过上面的脚本来安装,但是如果你想手动安装,那么你可以参考下面的步骤。 +> 下面的步骤主要使用 Cloudflare 的官方客户端,也许会随时间流逝导致过时,你可以参考 [Cloudflare WARP 的官方文档](https://developers.cloudflare.com/warp-client/get-started/linux/) + **1) 安装软件包** +如果是 Ubuntu,那么可以使用以下命令在添加安装源: + ```shell -sudo apt-get install net-tools openresolv wireguard +sudo apt install curl +curl https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg +echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list ``` -**2) 安装 Cloudflare Warp** - -[ViRb3/wgcf](https://github.com/ViRb3/wgcf) 是一个 Cloudflare Warp 的非官方客户端,它可以帮助我们生成 Cloudflare Warp 的配置文件。 - -注意替换下面命令行的中 Github Release 的版本号,最新的版本号可以在 [ViRb3/wgcf Release](https://github.com/ViRb3/wgcf/releases) 里查找。 +添加完源后,安装 Cloudflare WARP 客户端: ```shell -# create and enter the folder -mkdir warp && cd warp +sudo apt update +sudo apt install cloudflare-warp +``` + +**2) 配置 Cloudflare WARP** -# install wgcf -wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.14/wgcf_2.2.14_linux_amd64 +如果是第一次安装,你需要先注册一个帐号。其注册信息会在这里`/var/lib/cloudflare-warp/reg.json` -# change permission -chmod +x wgcf +```shell +warp-cli register ``` -**3)注册 Cloudflare Warp** +然后设置代理模式,这点非常重要,因为默认是 WARP 模式,这个会把你的整个 VPS 带到 Cloudflare 的 VPN 网络中,那么就会出现无法连接的情况。 ```shell -./wgcf register +warp-cli set-mode proxy ``` - -**4)生成 wgcf 配置文件** +然后,设置永久连接模式。 ```shell -./wgcf generate +warp-cli enable-always-on ``` -执行完当前目录会生成2个文件: -- WARP注册文件:`wgcf-account.toml`; -- WireGuard 配置文件:`wgcf-profile.conf`。 +配置完后,你可以使用 `warp-cli settings` 来查看配置。你也可以通过查看配置文件来看是否配置成功,配置文件在 `/var/lib/cloudflare-warp/settings.json`。 -**5)复制 WireGuard 配置文件到 `/etc/wireguard/` 目录** +**3) 连接 Cloudflare WARP** + +使用如下命令来连接 Cloudflare WARP: ```shell -sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf +warp-cli connect ``` +你可以使用 `warp-cli status` 来查看连接状态。如: -**6) 修改 WireGuard 配置文件** +```shell +> warp-cli status +Status update: Connected +Success +``` -**你一定要修改 `wgcf-profile.conf` 文件,你把你的 VPS 的公网 IP 加进去,否则,你的 VPS 会失连。** +连接成功后,你可以会在本地有一个 Socks5 代理, `127.0.0.1:40000`,你可以使用如下命令来查看: +**4)验证 Cloudflare WARP** + +你可以使用如下命令来验证是否成功: + +```shell +curl -x "socks5://127.0.0.1:40000" ipinfo.io ``` -PostUp = ip rule add from <服务器 Public IP> lookup main -PostDown = ip rule delete from <服务器 Public IP> lookup main -``` -下面是配置文件的示例: - -```ini -[Interface] -PrivateKey = XXXXXXXXXXXXXxxxxxxxxxxxxx= -Address = 172.16.0.2/32,2606:4700:110:8d9b:bc8f:16f:668:d891/128 -DNS = 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844 -MTU = 1420 -PostUp = ip -4 rule add from 10.10.10.10 lookup main prio 18 -PostDown = ip -4 rule delete from 10.10.10.10 lookup main prio 18 - -[Peer] -PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= -AllowedIPs = 0.0.0.0/0,::/0 -Endpoint = 162.159.192.1:2408 +如果输出现如下的信息,那么恭喜你,你已经成功了 + +```json +{ + "ip": "104.28.247.70", + "org": "AS13335 Cloudflare, Inc." +} ``` -注: -- `10.10.10.10` 只是一个示例,你要把它替换成你的 VPS 的公网 IP -- `162.159.192.1` 是域名的 `engage.cloudflareclient.com` 的 IP 地址,你可以使用 `nslookup engage.cloudflareclient.com` 获得。 -- 配置文件中默认的 DNS 是 `1.1.1.1` 这里使用了 Google 的 DNS,因为会快一些。 +**5)配置 Gost 路由转发** -**7)启停 WireGuard** +你可以使用如下命令来启动 gost 转发规则。下面的命行行意思是,把本地的 8080 端口转发到 Cloudflare WARP 的 Socks5 代理上。 -启用网络接口(命令中的 `wgcf` 对应的是配置文件 `/etc/wireguard/wgcf.conf` 的文件名前缀) +```shell +gost -L "http://:8080" -F "socks5://127.0.0.1:4000" +``` +当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。下面是加上了Cloudflare WARP 转发的 Docker 启动: + +- 原来的 443 端口不转发到 Cloudflare WARP +- 新增了 8443 端口转发到 Cloudflare WARP 的 Socks5 代理上 ```shell -sudo wg-quick up wgcf +# 下面的四个参数需要改成你的 +DOMAIN="YOU.DOMAIN.NAME" +USER="username" +PASS="password" +PORT=443 + +BIND_IP=0.0.0.0 +CERT_DIR=/etc/letsencrypt +CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem +KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem +sudo docker run -d --name gost \ + -v ${CERT_DIR}:${CERT_DIR}:ro \ + --net=host ginuerzh/gost \ + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" \ + -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000 ``` -停止网络接口如下: +**其它** + +`warp-cli` 是 `warp-svc` 的客户端,真正的程序是 `warp-svc`,你可以使用如下命令来查看: ```shell -sudo wg-quick down wgcf +systemctl status warp-svc ``` -**8)设置开机自启动** +另外,如果你的程序出现文件描述不足的情况: ```shell -sudo systemctl enable wg-quick@wgcf -sudo systemctl start wg-quick@wgcf +warp-cli connect +Status update: Unable to connect. Reason: Insufficient system resource: file descriptor ``` +你需要修改文件描述符的限制,这类的文章比较多,你自行 Google,这里就不再赘述了。如果你想配置 Cloudflare WARP 文件描述符的限制,你可以编辑 `/lib/systemd/system/warp-svc.service`,在 `[Service]` 下面添加如下内容: +```shell +[Service] +LimitNOFILE=65535 +LimitNOFILESoft=65535 +``` ## 10. 其它 From d93aee09932ffc5f2b1afb6811f0c7264fe092de Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 28 Mar 2023 10:57:33 +0800 Subject: [PATCH 58/87] slightly refine --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0f2c4d9b..e7f104fe 100644 --- a/README.md +++ b/README.md @@ -1111,7 +1111,7 @@ gost -L "http://:8080" -F "socks5://127.0.0.1:4000" ``` 当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。下面是加上了Cloudflare WARP 转发的 Docker 启动: -- 原来的 443 端口不转发到 Cloudflare WARP +- 原来的 443 端口直接代理 - 新增了 8443 端口转发到 Cloudflare WARP 的 Socks5 代理上 ```shell @@ -1148,7 +1148,7 @@ Status update: Unable to connect. Reason: Insufficient system resource: file des ``` 你需要修改文件描述符的限制,这类的文章比较多,你自行 Google,这里就不再赘述了。如果你想配置 Cloudflare WARP 文件描述符的限制,你可以编辑 `/lib/systemd/system/warp-svc.service`,在 `[Service]` 下面添加如下内容: -```shell +```ini [Service] LimitNOFILE=65535 LimitNOFILESoft=65535 From ef181eef991edc810d52b077d60c8f63b71561a5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 28 Mar 2023 11:10:05 +0800 Subject: [PATCH 59/87] add v2ray route --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e7f104fe..78182d38 100644 --- a/README.md +++ b/README.md @@ -1132,7 +1132,7 @@ sudo docker run -d --name gost \ -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000 ``` -**其它** +**其它事宜** `warp-cli` 是 `warp-svc` 的客户端,真正的程序是 `warp-svc`,你可以使用如下命令来查看: @@ -1154,6 +1154,10 @@ LimitNOFILE=65535 LimitNOFILESoft=65535 ``` +最后,如果你用 V2Ray,你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。你可以使用预定义域名列表 g`eolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 + + + ## 10. 其它 ### 10.1 其它方式 From 1d274df451d212993d18189ac7a1999b69ae610f Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 28 Mar 2023 11:38:40 +0800 Subject: [PATCH 60/87] typo fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 78182d38..33ef719a 100644 --- a/README.md +++ b/README.md @@ -1107,7 +1107,7 @@ curl -x "socks5://127.0.0.1:40000" ipinfo.io 你可以使用如下命令来启动 gost 转发规则。下面的命行行意思是,把本地的 8080 端口转发到 Cloudflare WARP 的 Socks5 代理上。 ```shell -gost -L "http://:8080" -F "socks5://127.0.0.1:4000" +gost -L "http://:8080" -F "socks5://127.0.0.1:40000" ``` 当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。下面是加上了Cloudflare WARP 转发的 Docker 启动: From d09da6c98c105d10768259f9ce8f31f4b0107719 Mon Sep 17 00:00:00 2001 From: Yvan Zhu Date: Wed, 29 Mar 2023 07:05:37 +0800 Subject: [PATCH 61/87] Update README.md (#99) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 33ef719a..4fd65995 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ (注:*当然,你也可以直接购买一些科学上网的服务,但我这里不推荐了,一方面是广告,另一方面通常这样的服务非常的不稳定,而且也容易被代理方做中间人攻击*) -**现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得得改善。当然,线路好的得需要多花一些钱。**。 +**现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得到改善。当然,线路好的得需要多花一些钱。**。 (注:*我现在每个月投入在科学上网上的成本大概在不到500元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 From 085746725dd86e0e12e694c922f8c8b9213a73fe Mon Sep 17 00:00:00 2001 From: mofelee Date: Sat, 1 Apr 2023 14:44:32 +0800 Subject: [PATCH 62/87] Update README.md (#102) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fd65995..d4914993 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ NCP线路全长13,000公里,连接美国俄勒冈州希尔斯伯勒,连接 关于 `NCP` 线路的主机提供商,下面罗列两个(欢迎补充) - [50KVM VPS](https://www.50kvm.com) 截止2018年12月2日KVM 产品最低价格¥81.60/月。 -- [OLVPS](https://t667.com/) 截止2018年12月2日KVM 产品最低价格¥22/月。(**特别注意** : 在 OLVPS 上的《[服务条款](https://olvps.com/index.php?rp=/knowledgebase/1/TOS.html)》 中有一条说明:“**禁止OpenV*P*N/Socks5/PPTP/L2TP等软件、公共代理**”,所以,可能OLPVS并不太适合) +- [OLVPS](https://www.olvps.com/) 截止2018年12月2日KVM 产品最低价格¥22/月。(**特别注意** : 在 OLVPS 上的《[服务条款](https://olvps.com/index.php?rp=/knowledgebase/1/TOS.html)》 中有一条说明:“**禁止OpenV*P*N/Socks5/PPTP/L2TP等软件、公共代理**”,所以,可能OLPVS并不太适合) ## 3. 搭建相关代理服务 From e5e12e52ac7761d7485d1f9165877023d65eeed7 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 1 Apr 2023 19:32:04 +0800 Subject: [PATCH 63/87] fix the gost proxy to cloudflare-warp, close #100 --- README.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d4914993..92003350 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-03-28 +更新时间:2023-04-01 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -76,8 +76,6 @@ - 编程,有很多编程的场景需要翻墙,比如,Go语言编程时的 go get 中的很多库是放在 Google的服务器上, 然而Google是全部被墙,包括 Android 和其它一些文档和资源也是一样。包括 SourceForge 的某些项目也需要科学上网,Docker Registry也有部分被墙,还有偶尔抽风的Github,以及不能访问的gist…… - ……等等 -是的,我的互联网不是——全是骗子的百度、充满广告的微信朋友圈、质量低下的公众号、娱乐至死的新浪微博、只有抖机灵和“怎么看XX”的知乎、毫无营养的今日头条…… 在这样的网络空间里,我真的无法生存…… 这根本不是互联网,不是为我服务的互联网,而是在消费我的互联网,是让我变傻变笨的互联网…… 我不能忍,因为它影响到了我的生存…… - ## 1. 英文能力 @@ -1109,10 +1107,12 @@ curl -x "socks5://127.0.0.1:40000" ipinfo.io ```shell gost -L "http://:8080" -F "socks5://127.0.0.1:40000" ``` -当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。下面是加上了Cloudflare WARP 转发的 Docker 启动: +当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。 + +为了使用两种不同的代理,Gost需要启动两个服务: -- 原来的 443 端口直接代理 -- 新增了 8443 端口转发到 Cloudflare WARP 的 Socks5 代理上 +- 一个是通过 443 端口直接代理 +- 另一个是通过 8443 端口转发到 Cloudflare WARP 的 Socks5 代理上 ```shell # 下面的四个参数需要改成你的 @@ -1128,10 +1128,18 @@ KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem sudo docker run -d --name gost \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" \ + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" + +sudo docker run -d --name gost \ + -v ${CERT_DIR}:${CERT_DIR}:ro \ + --net=host ginuerzh/gost \ -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000 ``` +> **Note:** +> +> 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 g`eolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 + **其它事宜** `warp-cli` 是 `warp-svc` 的客户端,真正的程序是 `warp-svc`,你可以使用如下命令来查看: @@ -1154,7 +1162,6 @@ LimitNOFILE=65535 LimitNOFILESoft=65535 ``` -最后,如果你用 V2Ray,你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。你可以使用预定义域名列表 g`eolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 From f405468b057982061a7f22a3289aaea0c536b438 Mon Sep 17 00:00:00 2001 From: Ryan <709224218@qq.com> Date: Sat, 1 Apr 2023 19:37:41 +0800 Subject: [PATCH 64/87] fix typo (#104) Co-authored-by: Hao Chen --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 92003350..71bfc6a2 100644 --- a/README.md +++ b/README.md @@ -1130,10 +1130,10 @@ sudo docker run -d --name gost \ --net=host ginuerzh/gost \ -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -sudo docker run -d --name gost \ +sudo docker run -d --name gost-warp \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000 + -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000" ``` > **Note:** From eb1647da3fcb7189243434062b996749538b88a5 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Sat, 1 Apr 2023 19:42:25 +0800 Subject: [PATCH 65/87] typo fix --- README.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 71bfc6a2..b05b1062 100644 --- a/README.md +++ b/README.md @@ -810,7 +810,7 @@ nameserver 172.20.1.1 #<--- 透明网关 EC2 NAT 实例 nameserver 172.20.0.2 #<--- AWS 的 DNS 服务 search [zone].compute.internal ``` -> Note +> **Note** > > 新版的 Ubuntu 已经把 DNS Resolver 托管给了 systemd 的 `systemd-resolved` 服务,所以需要把 `/etc/resolv.conf` 文件改成软链接,指向 `systemd-resolved` 的配置文件,如: > @@ -986,7 +986,7 @@ chmod +x warp.sh - 4 - 安装 WireGuard 相关组件 - 7 - 自动配置 WARP WireGuard 双栈全局网络 ->**Note:** +>**Note** > 1. 如果没有 IPv6 网络,那么第 7 步可以换成第 5 步 自动配置 WARP WireGuard IPv4 网络,或是执行 `./warp.sh 4`。 > > 2. 你需要备份一下你的帐号和配置文件,在 `/etc/warp/` 目录下,主要是两个文件,一个是 `wgcf-account.toml`,一个是 `wgcf-profile.conf` @@ -1023,7 +1023,7 @@ chmod +x warp.sh 如果 WARP 模式安装不能成功,那么你可以使用如下的代理模式。代理模式也就是通过一个代理来访问 Cloudflare WARP 的服务,这样就可以访问到原生 IP 了。 -> **Note:** +> **Note** > > 下面的步骤主要使用 Cloudflare 的官方客户端,也许会随时间流逝导致过时,你可以参考 [Cloudflare WARP 的官方文档](https://developers.cloudflare.com/warp-client/get-started/linux/) @@ -1136,9 +1136,9 @@ sudo docker run -d --name gost-warp \ -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000" ``` -> **Note:** +> **Note** > -> 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 g`eolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 +> 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 `geolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 **其它事宜** @@ -1162,9 +1162,6 @@ LimitNOFILE=65535 LimitNOFILESoft=65535 ``` - - - ## 10. 其它 ### 10.1 其它方式 From 1c91800be7e660b7b74be2ee81f63f1394025666 Mon Sep 17 00:00:00 2001 From: PY Date: Tue, 4 Apr 2023 23:11:20 +0800 Subject: [PATCH 66/87] fix typo (#105) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b05b1062..0701c173 100644 --- a/README.md +++ b/README.md @@ -900,7 +900,7 @@ $ kubectl edit cm nodelocaldns -n kube-system ## 9. 代理技巧 -看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 +看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一些技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 1. [SOCKS 协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) 2. [HTTP 隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) From 987feea4802f1e7acf28ccb2f4dbaf9d8a262226 Mon Sep 17 00:00:00 2001 From: Ethan Zhang Date: Tue, 4 Apr 2023 23:11:31 +0800 Subject: [PATCH 67/87] Update README.md (#107) --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/README.md b/README.md index 0701c173..7839c147 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) - [9.4.1 WARP 模式](#941-warp-模式) - [9.4.2 代理模式](#942-代理模式) + - [9.4.3 Docker 代理](#943-docker-代理) - [10. 其它](#10-其它) - [10.1 其它方式](#101-其它方式) - [10.2 搭建脚本](#102-搭建脚本) @@ -1162,6 +1163,38 @@ LimitNOFILE=65535 LimitNOFILESoft=65535 ``` +#### 9.4.3 Docker 代理 + +用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令: + +```shell +docker run -v $HOME/.warp:/var/lib/cloudflare-warp:rw --restart=always --name=cloudflare-warp e7h4n/cloudflare-warp +``` + +这条命令会在容器上的 40001 开启一个 socks5 代理,接下来查看这个容器的 ip: + +```shell +docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cloudflare-warp +``` + +然后可以通过 curl 镜像来测试,例如,如果容器的 ip 是 `172.17.0.2`,则可以运行: + +```shell +docker run --rm curlimages/curl --connect-timeout 2 -x "socks5://172.17.0.2:40001" ipinfo.io +``` + +返回的结果中 `org` 字段应该能看到 Cloudflare 相关的信息。 + +接下来我们给 Gost 增加一个条件转发规则,转发我们希望的域名、地址到 cloudflare 的 warp 网络: + +``` +-F=socks5://172.17.0.2:40001?notls=true&bypass=~*.openai.com,openai.com +``` + +`bypass=~` 的含义是,只有命中后面规则时才转发请求到 `172.17.0.2:40001` 这个 socks5 代理。 + +接下来,通过这个 Gost 代理访问 openai.com 时,就会走 warp 网络了。 + ## 10. 其它 ### 10.1 其它方式 From 4e1a35449d0174b641611a6389de5bbcfd1b7041 Mon Sep 17 00:00:00 2001 From: zhhbstudio Date: Sun, 9 Apr 2023 19:27:45 +0800 Subject: [PATCH 68/87] add necessary step (#114) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7839c147..1b94ddd7 100644 --- a/README.md +++ b/README.md @@ -178,9 +178,9 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 [gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 -为了更为的隐蔽,你需要一个域名(可以上 GoDaddy,但一定要使用美国版),然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 +为了更为的隐蔽,你需要一个域名(可以上 GoDaddy,但一定要使用美国版),将域名或一个子域名解析到你的 vps 上,然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 -接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你的域名): +接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你解析到 vps 的域名): ```shell $ sudo certbot certonly --standalone From b3ed27eff0f7296377c1bf157d793b653dc3775b Mon Sep 17 00:00:00 2001 From: mingkeYao <33944326+mingkeYao@users.noreply.github.com> Date: Mon, 10 Apr 2023 06:50:33 +0800 Subject: [PATCH 69/87] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20aes-128-gcm=20?= =?UTF-8?q?=E6=9D=A5=E5=90=AF=E5=8A=A8gost=E7=9A=84ssr=E8=BD=AC=E5=8F=91?= =?UTF-8?q?=20(#109)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b94ddd7..0f15e4e0 100644 --- a/README.md +++ b/README.md @@ -337,7 +337,8 @@ PPTP 使用 `/etc/ppp/chap-secrets` 文件设置用户名和密码,所以你 对于电脑来说,你同样可以 [下载 gost 程序](https://github.com/ginuerzh/gost/releases),然后使用下面的命令行: ``` -gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' +# 此处的ss服务端加密协议(eg: aes-128-gcm)必须是ss客户端支持的协议 +gost -L ss://aes-128-gcm:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' ``` 这样用 gost 在你的本机启动了一个 `ShadowSocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 @@ -380,7 +381,8 @@ gost -L ss://aes-128-cfb:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' > - [5分钟注册美国区Apple ID(18年亲测有效)](https://zhuanlan.zhihu.com/p/36574047) > - [2018年6月亲测:注册美国地区苹果apple ID帐号终极教程](https://www.jianshu.com/p/b32da641e849) > - [iOS开发之注册美国Apple Id不需要绑定信用卡,亲测可用](https://blog.csdn.net/ziyuzhiye/article/details/82769129) - +> - 关于ss客户端的配制 +> - 加密协议必须是跟ss服务端相一致。可以自行约定在ss的服务端和客户端使用何种协议。eg:4.1章节示例中使用的是 aes-128-gcm 。 ### 4.3 VPN 客户端 From 27ff2355cbde4484fb01d43ef2e30de0b19b7097 Mon Sep 17 00:00:00 2001 From: Vincent Date: Tue, 11 Apr 2023 21:10:07 +0800 Subject: [PATCH 70/87] Update Gost bypass configuration (#116) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f15e4e0..d89c0135 100644 --- a/README.md +++ b/README.md @@ -1190,7 +1190,7 @@ docker run --rm curlimages/curl --connect-timeout 2 -x "socks5://172.17.0.2:4000 接下来我们给 Gost 增加一个条件转发规则,转发我们希望的域名、地址到 cloudflare 的 warp 网络: ``` --F=socks5://172.17.0.2:40001?notls=true&bypass=~*.openai.com,openai.com +-F=socks5://172.17.0.2:40001?bypass=~*.openai.com,openai.com¬ls=true ``` `bypass=~` 的含义是,只有命中后面规则时才转发请求到 `172.17.0.2:40001` 这个 socks5 代理。 From 9fe201d44ba377704abcd3aa1f48f443d8e2f1cd Mon Sep 17 00:00:00 2001 From: codepiano Date: Fri, 14 Apr 2023 00:49:14 +0800 Subject: [PATCH 71/87] fix gost error when do not type http2 port (#119) --- scripts/install.ubuntu.18.04.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index 24f85b0c..ec281044 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -177,7 +177,7 @@ install_shadowsocks(){ BIND_IP=0.0.0.0 - if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then + if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! ([ "$PORT" -ge 1 ] && [ "$PORT" -le 65535 ]); then echo -e "${COLOR_ERROR}非法端口,使用默认端口 1984 !${COLOR_NONE}" PORT=1984 fi From 8ebd42cf35c364838839d7b59296b3df4bf1f1af Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 17 Apr 2023 10:53:23 +0800 Subject: [PATCH 72/87] refine the doc --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d89c0135..4df36066 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ - [9.4.1 WARP 模式](#941-warp-模式) - [9.4.2 代理模式](#942-代理模式) - [9.4.3 Docker 代理](#943-docker-代理) +- [用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令:](#用-docker-可以更方便地部署起一个-cloudflare-warp-proxy只需要一行命令) - [10. 其它](#10-其它) - [10.1 其它方式](#101-其它方式) - [10.2 搭建脚本](#102-搭建脚本) @@ -968,6 +969,9 @@ Host github.com 所谓“原生 IP”就是指该网站的 IP 地址和其机房的 IP 地址是一致的,但是,很多 IDC 提供商的 IP 都是从其它国家调配来的,这导致我们就算是翻墙了,也是使用了美国的 VPS,但是还是访问不了相关的服务。所以,我们需要使用 Cloudflare Warp 来访问这些网站。 +下面有几种安装方式: +- 全局模式。这种模式下,所有流量都会通过 Cloudflare 的网络,相当于VPN。 +- 代理模式。通过在服务器本机启动一个 SOCKS5 代理,然后把需要的流量转发到这个代理上。 #### 9.4.1 WARP 模式 @@ -1136,7 +1140,8 @@ sudo docker run -d --name gost \ sudo docker run -d --name gost-warp \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ - -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -F "socks://localhost:40000" + -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" \ + -F "socks://localhost:40000 ``` > **Note** @@ -1160,14 +1165,21 @@ Status update: Unable to connect. Reason: Insufficient system resource: file des 你需要修改文件描述符的限制,这类的文章比较多,你自行 Google,这里就不再赘述了。如果你想配置 Cloudflare WARP 文件描述符的限制,你可以编辑 `/lib/systemd/system/warp-svc.service`,在 `[Service]` 下面添加如下内容: ```ini -[Service] LimitNOFILE=65535 LimitNOFILESoft=65535 ``` +然后,重启服务: +<<<<<<< HEAD #### 9.4.3 Docker 代理 用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令: +======= +```shell +sudo systemctl daemon-reload +sudo systemctl restart warp-svc.service +``` +>>>>>>> 71a4636 (refine the doc) ```shell docker run -v $HOME/.warp:/var/lib/cloudflare-warp:rw --restart=always --name=cloudflare-warp e7h4n/cloudflare-warp From d98456f3cc23186f79f825404aaeef2f66640e23 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 17 Apr 2023 11:02:30 +0800 Subject: [PATCH 73/87] refine the doc --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 4df36066..74f9db07 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,6 @@ - [9.4.1 WARP 模式](#941-warp-模式) - [9.4.2 代理模式](#942-代理模式) - [9.4.3 Docker 代理](#943-docker-代理) -- [用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令:](#用-docker-可以更方便地部署起一个-cloudflare-warp-proxy只需要一行命令) - [10. 其它](#10-其它) - [10.1 其它方式](#101-其它方式) - [10.2 搭建脚本](#102-搭建脚本) @@ -1116,7 +1115,7 @@ gost -L "http://:8080" -F "socks5://127.0.0.1:40000" ``` 当然,上面的配置是不够好的,我们最好使用有证书的 HTTPS 代理。这里的内容参见于 前的面 [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务)。 -为了使用两种不同的代理,Gost需要启动两个服务: +为了使用两种不同的代理,你可以启动两个 gost 服务: - 一个是通过 443 端口直接代理 - 另一个是通过 8443 端口转发到 Cloudflare WARP 的 Socks5 代理上 @@ -1146,7 +1145,10 @@ sudo docker run -d --name gost-warp \ > **Note** > -> 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 `geolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 +> 1) 你也可以使用 gost 的 `bypass`参数来让相应的域名的流量转发到 Cloudflare WARP 的 Socks5 代理上。如:` +-F=socks5://localhost:40000?bypass=~*.openai.com,openai.com¬ls=true` +> +> 2) 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 `geolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 **其它事宜** @@ -1170,19 +1172,18 @@ LimitNOFILESoft=65535 ``` 然后,重启服务: -<<<<<<< HEAD -#### 9.4.3 Docker 代理 - -用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令: -======= ```shell sudo systemctl daemon-reload sudo systemctl restart warp-svc.service ``` ->>>>>>> 71a4636 (refine the doc) + +#### 9.4.3 Docker 代理 + +用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令: ```shell -docker run -v $HOME/.warp:/var/lib/cloudflare-warp:rw --restart=always --name=cloudflare-warp e7h4n/cloudflare-warp +docker run -v $HOME/.warp:/var/lib/cloudflare-warp:rw \ + --restart=always --name=cloudflare-warp e7h4n/cloudflare-warp ``` 这条命令会在容器上的 40001 开启一个 socks5 代理,接下来查看这个容器的 ip: @@ -1205,9 +1206,9 @@ docker run --rm curlimages/curl --connect-timeout 2 -x "socks5://172.17.0.2:4000 -F=socks5://172.17.0.2:40001?bypass=~*.openai.com,openai.com¬ls=true ``` -`bypass=~` 的含义是,只有命中后面规则时才转发请求到 `172.17.0.2:40001` 这个 socks5 代理。 - -接下来,通过这个 Gost 代理访问 openai.com 时,就会走 warp 网络了。 +> **Note** +> +> `bypass=~` 的含义是,只有命中后面规则时才转发请求到 `172.17.0.2:40001` 这个 socks5 代理。接下来,通过这个 Gost 代理访问 `openai.com` 时,就会走 warp 网络了。 ## 10. 其它 From 5393bbf7dc83b6160fcba921e8a470d516a38209 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 17 Apr 2023 11:03:01 +0800 Subject: [PATCH 74/87] update the date --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74f9db07..bfab13b3 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-04-01 +更新时间:2023-04-17 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 From 53ccdbdda1d0abb2304f8be3b498c9be7438a2f8 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Mon, 17 Apr 2023 11:34:12 +0800 Subject: [PATCH 75/87] refine the doc --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bfab13b3..2912e441 100644 --- a/README.md +++ b/README.md @@ -1050,6 +1050,19 @@ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyr sudo apt update sudo apt install cloudflare-warp ``` +> **Note** +> +> 安装过程中,可能会出现如下错误: +> ``` +> The following packages have unmet dependencies: +> cloudflare-warp : Depends: nftables but it is not going to be installed +> Depends: gnupg2 but it is not going to be installed +> Depends: desktop-file-utils but it is not going to be installed +> Depends: libnss3-tools but it is not going to be installed +> linux-headers-aws : Depends: linux-headers-5.3.0-1028-aws but it is not going to be installed +> E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). +> ``` +> 你先执行 `sudo apt --fix-broken install`,然后再执行 `sudo apt install cloudflare-warp` 即可。 **2) 配置 Cloudflare WARP** @@ -1100,10 +1113,8 @@ curl -x "socks5://127.0.0.1:40000" ipinfo.io 如果输出现如下的信息,那么恭喜你,你已经成功了 ```json -{ "ip": "104.28.247.70", "org": "AS13335 Cloudflare, Inc." -} ``` **5)配置 Gost 路由转发** @@ -1140,7 +1151,7 @@ sudo docker run -d --name gost-warp \ -v ${CERT_DIR}:${CERT_DIR}:ro \ --net=host ginuerzh/gost \ -L "http2://${USER}:${PASS}@${BIND_IP}:8443?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" \ - -F "socks://localhost:40000 + -F "socks://localhost:40000" ``` > **Note** From f692fce553f084b63d7a0748da66a3e1a2ee416e Mon Sep 17 00:00:00 2001 From: codepiano Date: Tue, 18 Apr 2023 09:47:10 +0800 Subject: [PATCH 76/87] Update install.ubuntu.18.04.sh (#120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update install.ubuntu.18.04.sh 上一个 pr 漏了一个地方 修复: 添加了括号调整运算符优先级,修复对端口号的校验 修改端口号上限为 65535 * Update install.ubuntu.18.04.sh --- scripts/install.ubuntu.18.04.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install.ubuntu.18.04.sh b/scripts/install.ubuntu.18.04.sh index ec281044..d494a77d 100755 --- a/scripts/install.ubuntu.18.04.sh +++ b/scripts/install.ubuntu.18.04.sh @@ -123,7 +123,7 @@ install_gost() { read -r -p "请输入你要使用的密码:" PASS read -r -p "请输入HTTP/2需要侦听的端口号(443):" PORT - if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! [ "$PORT" -ge 1 ] && [ "$PORT" -le 655535 ]; then + if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! { [ "$PORT" -ge 1 ] && [ "$PORT" -le 65535 ]; }; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 443 !${COLOR_NONE}" PORT=443 fi @@ -177,7 +177,7 @@ install_shadowsocks(){ BIND_IP=0.0.0.0 - if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! ([ "$PORT" -ge 1 ] && [ "$PORT" -le 65535 ]); then + if [[ -z "${PORT// }" ]] || ! [[ "${PORT}" =~ ^[0-9]+$ ]] || ! { [ "$PORT" -ge 1 ] && [ "$PORT" -le 65535 ]; }; then echo -e "${COLOR_ERROR}非法端口,使用默认端口 1984 !${COLOR_NONE}" PORT=1984 fi From 3545863687894c48b918556f8c38374f293a2acf Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 18 Apr 2023 17:26:25 +0800 Subject: [PATCH 77/87] update hostdare --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2912e441..efd62351 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-04-17 +更新时间:2023-04-18 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -134,7 +134,7 @@ 关于 `CN2` 线路的主机提供商,好些都不靠谱,只推荐下面两个,首推搬瓦工。 - [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) -- [Hostdare](https://bill.hostdare.com/aff.php?aff=3397) 的 CN2 GIA 产品也是三网直连,KVM 和 OpenVZ 两种架构,KVM 产品长期缺货 +- [HostDare](https://bill.hostdare.com/aff.php?aff=3397) 的 CN2 GIA 产品也是三网直连。专门有两个分类针对中国的 CN2 GIA,一个是 Premium China Optimized NVMeKVM,一组是 Premium China Optimized KVM。支持支付宝和银联。 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From c497e847e12cce32db980d886f5d5ef5f98170f0 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 18 Apr 2023 23:26:20 +0800 Subject: [PATCH 78/87] update --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index efd62351..4e5299b3 100644 --- a/README.md +++ b/README.md @@ -133,8 +133,9 @@ 关于 `CN2` 线路的主机提供商,好些都不靠谱,只推荐下面两个,首推搬瓦工。 -- [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) -- [HostDare](https://bill.hostdare.com/aff.php?aff=3397) 的 CN2 GIA 产品也是三网直连。专门有两个分类针对中国的 CN2 GIA,一个是 Premium China Optimized NVMeKVM,一组是 Premium China Optimized KVM。支持支付宝和银联。 +- [搬瓦工](https://bwh8.net/aff.php?aff=39384) 这应该是美区最好的一个用来科学上网的VPS提供商了,实测飞快,无论在中国哪个地方都很快。购买时你需要注意VPS规格上的 `CN2` 和 `GIA` 的描述。(注:点击主页右上角的 `regisiter` 以后,你可以看到页面上方有两个导航条,在下面的导航条上点 `Services` -> `Order New Services` 就可以看到所有的列表了。买完后,你可能需要重装一下操作系统,装成64位带BBR的 ) + +- [HostDare](https://bill.hostdare.com/aff.php?aff=3397) 的 CN2 GIA 产品也是三网直连。专门有两个分类针对中国的 CN2 GIA,一个是 Premium China Optimized NVMeKVM,一组是 Premium China Optimized KVM。支持支付宝和银联。购买后要等一段时间(2-4个小时)才会创建好,IP 有可能会给你是一个已经被封了的,如果是这样,你要在3天内申请换IP,都是免费的。时间长了也可以换,就是时间比较长,而且还要花一定的费用(3美金)。线路质量还不错,不过没有搬瓦工快。 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) From 321f57c7e2160dfe17f7a11c102eb254398f7956 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 19 Apr 2023 15:43:36 +0800 Subject: [PATCH 79/87] add azure and remove conoha --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4e5299b3..0fda1b44 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-04-18 +更新时间:2023-04-19 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -103,9 +103,9 @@ - [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡)。现对 2021/8/7 之后使用 Lightsail 的用户提供3个月的免费试用。 - [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) +- [Microsoft Azure](https://azure.microsoft.com/zh-cn/)提供免费一年的服务(B1S实例),而且每个月有 100G 的免费流量,并赠送200刀赠金。(需要国际信用卡) - [Google Cloud Platform](https://cloud.google.com/)提供免费试用,赠送300刀赠金(需要国际信用卡) - [Linode](https://www.linode.com)买个一月USD5刀的VPS -- [Conoha](https://www.conoha.jp/zh/)上买一个日本的VPS,一个月900日元 (可以支付宝) - [Vultr](https://www.vultr.com)上买一个日本的VPS,一个月5刀 (可以支付宝)(注:据说被墙的IP太多) - [Oracle Cloud](https://www.oracle.com/cloud/free/)两台VPS无限期使用,可选美日韩等地(需要国际信用卡) @@ -113,7 +113,7 @@ > **注意** > - 在中国,因为有太多的网络提供商,所以,国内的网络也是很奇葩的,可以看到的是,不同的地方,不同的网络,到不同的国家完全不一样,而且还经常性地调整路由,所以,经常性地有时候快有时候慢,简直就是随机的。所以,像我这样要求比较高的人,一般会备3-5个不同国家地区的VPS,以保障上网的速度。 > -> - 香港网速应该是比较好的,但是香港的成本也是比较高的。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸。但是,因为线路的问题,如果没有为中国区优化的线路,丢包率是非常大的,日本区 ping 值虽然很低,但是经常性的丢包,好的线路的美国的 ping 值虽然大,但是也会飞快。 +> - 香港网速应该是比较好的,但是香港的成本也是比较高的(使用 Microsoft Azure 的 East Asia 可以把 VPS 买在香港区)。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸。但是,因为线路的问题,如果没有为中国区优化的线路,丢包率是非常大的,日本区 ping 值虽然很低,但是经常性的丢包,好的线路的美国的 ping 值虽然大,但是也会飞快。 > > - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 [Linode](https://www.linode.com/),最后是 [Vultr](https://www.vultr.com/)(如果你有更好的,请推荐) > From 017aee441d1522985174a95bd871876b0166dced Mon Sep 17 00:00:00 2001 From: Jiapeng Li Date: Tue, 25 Apr 2023 13:35:15 +0800 Subject: [PATCH 80/87] added gost android client configuration guide link (#125) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fda1b44..ff989cb1 100644 --- a/README.md +++ b/README.md @@ -357,7 +357,7 @@ gost -L ss://aes-128-gcm:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' 对于手机端 - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 - - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin) + - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin),参考 [#33](https://github.com/xausky/ShadowsocksGostPlugin/issues/33) 进行配置 **注明**:如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) 中的“注意”一节 ) From e243635db11243f13bf8181480d07384b34e2ffa Mon Sep 17 00:00:00 2001 From: Friends A Date: Wed, 26 Apr 2023 08:27:08 +0800 Subject: [PATCH 81/87] fix:link not fond (#126) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ff989cb1..047fc661 100644 --- a/README.md +++ b/README.md @@ -485,7 +485,7 @@ VPS 上正常安装并配置好 V2Ray,注意两点: 不必担心把路由器刷废了,华硕的路由器可以让你一键重置回来 -**1)下载固件**。先到 [https://asuswrt.lostrealm.ca/download](https://asuswrt.lostrealm.ca/download) 下载相应的固件,并解压。(我下载的是 `RT-AC68U_380.61_0.zip` ) +**1)下载固件**。先到 [https://www.asuswrt-merlin.net/download](https://www.asuswrt-merlin.net/download) 下载相应的固件,并解压。(我下载的是 `RT-AC68U_380.61_0.zip` ) **2)升级固件**。登录到你的路由器后台 `http://192.168.1.1/` ,在 `系统管理` -> `固件升级` 中上传固件文件(我上传的是:`RT-AC68U_380.61_0.trx`) From 69abdd291536c970e11cb0e34fb676b1a326b059 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Fri, 28 Apr 2023 09:53:36 +0800 Subject: [PATCH 82/87] adding the warp-svc memory leak issue --- README.md | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 047fc661..83d77762 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # 科学上网 作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-04-19 +更新时间:2023-04-28 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 @@ -1162,32 +1162,38 @@ sudo docker run -d --name gost-warp \ > > 2) 你也可以使用 V2Ray 的路由模式,参见 [V2Ray 的路由功能](https://www.v2ray.com/chapter_02/03_routing.html)。V2Ray的路由模式就比 gost 要强很多。你还可以通过使用预定义域名列表 `geolocation-cn` 把其的路由转发到 Cloudflare WARP 的 Socks5 代理上,以避免你的 VPS 的 IP 被暴露。 -**其它事宜** +**6)其它事宜** -`warp-cli` 是 `warp-svc` 的客户端,真正的程序是 `warp-svc`,你可以使用如下命令来查看: +- **查看运行状态**。 `warp-cli` 是 `warp-svc` 的客户端,真正的程序是 `warp-svc`,你可以使用如下命令来查看: -```shell -systemctl status warp-svc -``` + ```shell + systemctl status warp-svc + ``` -另外,如果你的程序出现文件描述不足的情况: +- **内存泄漏问题**。 目前,`warp-svc` 这个程序有内存泄漏的问题(参看 [#124](https://github.com/haoel/haoel.github.io/issues/124)),所以,你需要定期重启服务。你可以使用cronjob来重启服务。运行 `crontab -e`,然后添加如下内容: -```shell -warp-cli connect -Status update: Unable to connect. Reason: Insufficient system resource: file descriptor -``` -你需要修改文件描述符的限制,这类的文章比较多,你自行 Google,这里就不再赘述了。如果你想配置 Cloudflare WARP 文件描述符的限制,你可以编辑 `/lib/systemd/system/warp-svc.service`,在 `[Service]` 下面添加如下内容: + ```cron + 0 * * * * /bin/systemctl resetart warp-svc + ``` -```ini -LimitNOFILE=65535 -LimitNOFILESoft=65535 -``` -然后,重启服务: +- **文件描述符不足**。另外,如果你的程序出现文件描述不足的情况: -```shell -sudo systemctl daemon-reload -sudo systemctl restart warp-svc.service -``` + ```shell + warp-cli connect + Status update: Unable to connect. Reason: Insufficient system resource: file descriptor + ``` + 你需要修改文件描述符的限制,这类的文章比较多,你自行 Google,这里就不再赘述了。如果你想配置 Cloudflare WARP 文件描述符的限制,你可以编辑 `/lib/systemd/system/warp-svc.service`,在 `[Service]` 下面添加如下内容: + + ```ini + LimitNOFILE=65535 + LimitNOFILESoft=65535 + ``` + 然后,重启服务: + + ```shell + sudo systemctl daemon-reload + sudo systemctl restart warp-svc.service + ``` #### 9.4.3 Docker 代理 From 6ef73d6c7520fbce482b882ff545efebe43d8f33 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 2 May 2023 12:29:19 +0800 Subject: [PATCH 83/87] revise the document to make it much more clear --- README.md | 528 +++++++++++++++++++++++++++++++--------------- images/cover.jpg | Bin 456513 -> 0 bytes images/cover.webp | Bin 0 -> 119696 bytes 3 files changed, 362 insertions(+), 166 deletions(-) delete mode 100644 images/cover.jpg create mode 100644 images/cover.webp diff --git a/README.md b/README.md index 83d77762..59f4aaff 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,56 @@ -# 科学上网 +

科学上网

作者:左耳朵 [http://coolshell.cn](http://coolshell.cn) -更新时间:2023-04-28 +更新时间:2023-05-02 这篇文章可以写的更好,欢迎到 [https://github.com/haoel/haoel.github.io](https://github.com/haoel/haoel.github.io) 更新 -![](./images/cover.jpg) - -- [科学上网](#科学上网) - - [0. 序](#0-序) - - [1. 英文能力](#1-英文能力) - - [2. 购买VPS](#2-购买vps) - - [2.1 常规VPS](#21-常规vps) - - [2.2 CN2 线路](#22-cn2-线路) - - [2.3 NCP 线路](#23-ncp-线路) - - [3. 搭建相关代理服务](#3-搭建相关代理服务) - - [3.1 设置Docker服务](#31-设置docker服务) - - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) - - [3.3 用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) - - [3.4 设置 ShadowSocks 服务](#34-设置-shadowsocks-服务) - - [3.5 设置L2TP/IPSec服务](#35-设置l2tpipsec服务) - - [3.6 设置 PPTP 服务](#36-设置-pptp-服务) - - [4. 客户端设置](#4-客户端设置) - - [4.1 gost 客户端](#41-gost-客户端) - - [4.2 Shadowsocks 客户端](#42-shadowsocks-客户端) - - [4.3 VPN 客户端](#43-vpn-客户端) - - [5. 流量伪装和其它方式](#5-流量伪装和其它方式) - - [5.1 V2Ray](#51-v2ray) - - [5.2 Brook](#52-brook) - - [6. 针对 IP 被封的解决方案](#6-针对-ip-被封的解决方案) - - [6.1 Cloudflare](#61-cloudflare) - - [6.2 V2Ray](#62-v2ray) - - [6.3 补充](#63-补充) - - [7. 家用透明网关](#7-家用透明网关) - - [7.1 OpenWRT 路由器](#71-openwrt-路由器) - - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) - - [7.3 安装 Clash](#73-安装-clash) - - [7.4 设置 iptables 转发](#74-设置-iptables-转发) - - [8. 数据中心透明网关](#8-数据中心透明网关) - - [8.1 AWS 网络构建](#81-aws-网络构建) - - [8.2 安装 Clash](#82-安装-clash) - - [8.3 配置私有子网中的 EC2](#83-配置私有子网中的-ec2) - - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) - - [9. 代理技巧](#9-代理技巧) - - [9.1 HTTP 隧道](#91-http-隧道) - - [9.2 SSH 隧道](#92-ssh-隧道) - - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) - - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) - - [9.4.1 WARP 模式](#941-warp-模式) - - [9.4.2 代理模式](#942-代理模式) - - [9.4.3 Docker 代理](#943-docker-代理) - - [10. 其它](#10-其它) - - [10.1 其它方式](#101-其它方式) - - [10.2 搭建脚本](#102-搭建脚本) +![](./images/cover.webp) + +- [0. 序](#0-序) +- [1. 机场 vs 自建](#1-机场-vs-自建) +- [2. 购买VPS](#2-购买vps) + - [2.1 常规VPS](#21-常规vps) + - [2.2 CN2 线路](#22-cn2-线路) +- [3. 搭建相关代理服务](#3-搭建相关代理服务) + - [3.1 设置Docker服务](#31-设置docker服务) + - [3.2 开启 TCP BBR 拥塞控制算法](#32-开启-tcp-bbr-拥塞控制算法) + - [3.3 申请域名和证书](#33-申请域名和证书) + - [3.4 用 Gost 设置 HTTPS 服务](#34-用-gost-设置-https-服务) + - [3.5 设置 ShadowSocks 服务 (不推荐)](#35-设置-shadowsocks-服务-不推荐) + - [3.6 设置L2TP/IPSec服务 (不推荐)](#36-设置l2tpipsec服务-不推荐) +- [4. 客户端设置](#4-客户端设置) + - [4.1 电脑端设置](#41-电脑端设置) + - [4.1.1 Chrome 代理设置](#411-chrome-代理设置) + - [4.1.2 全局 Clash 代理设置](#412-全局-clash-代理设置) + - [4.2 手机端设置](#42-手机端设置) +- [5. 流量伪装和其它方式](#5-流量伪装和其它方式) + - [5.1 流量伪装](#51-流量伪装) + - [5.2 其它方式](#52-其它方式) +- [6. 针对 IP 被封的解决方案](#6-针对-ip-被封的解决方案) +- [7. 家用透明网关](#7-家用透明网关) + - [7.1 OpenWRT 路由器](#71-openwrt-路由器) + - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) + - [7.3 安装 Clash](#73-安装-clash) + - [7.4 设置 iptables 转发](#74-设置-iptables-转发) +- [8. 数据中心透明网关](#8-数据中心透明网关) + - [8.1 AWS 网络构建](#81-aws-网络构建) + - [8.2 安装 Clash](#82-安装-clash) + - [8.3 配置私有子网中的 EC2](#83-配置私有子网中的-ec2) + - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) +- [9. 代理技巧](#9-代理技巧) + - [9.1 HTTP 隧道](#91-http-隧道) + - [9.2 SSH 隧道](#92-ssh-隧道) + - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) + - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) + - [9.4.1 WARP 模式](#941-warp-模式) + - [9.4.2 代理模式](#942-代理模式) + - [9.4.3 Docker 代理](#943-docker-代理) +- [10. 其它](#10-其它) + - [10.1 其它方式](#101-其它方式) + - [10.2 搭建脚本](#102-搭建脚本) ## 0. 序 @@ -77,47 +73,65 @@ - 编程,有很多编程的场景需要翻墙,比如,Go语言编程时的 go get 中的很多库是放在 Google的服务器上, 然而Google是全部被墙,包括 Android 和其它一些文档和资源也是一样。包括 SourceForge 的某些项目也需要科学上网,Docker Registry也有部分被墙,还有偶尔抽风的Github,以及不能访问的gist…… - ……等等 - -## 1. 英文能力 - -**首先,你应该对英文读写没什么问题!** +所以,科学上网后,英文是一件很重要的事。 为什么这么说?**这主要是针对计算机相关的知识,逻辑是这样的,如果你上了Google还是在用中文关键词,那么你好不容易出来了,结果又回去了,所以没什么意义。** 换言之,科学上网的目的是为了进入广阔的世界范围与全世界的人交流,所以,英文是必备的,如果你英文有问题,VPN过去的用处也不大。 所以,我把这个前提条件放在第一的位置,就是说—— **真正的墙不是GFW,而是人的大脑!** 意思是,屏蔽你获得信息能力的不是墙,而很大一部分则是我们自己的语言能力! +## 1. 机场 vs 自建 + +对于科学上网,我强烈建议通过自建的方式。因为使用一些“机场”会有如下的几个问题: + +1. 机场主需要公开售卖,使用的人也比较多,所以,都会被重点关注,非常容易被封; +2. 机场需要购买一堆服务器,所以,很容易经营不善跑路; +3. 使用机场很容易泄漏自己的隐私,因为你的所有流量都经过了机场的服务器; + +自建梯子会是一条很好的路,不过,问题就是,自建梯子需要一定的技术能力,成本和门槛都比机场要高,但是,在安全性方面会比较好一些。自己动手,自力更生,让人有更多的安全感。 + +所以,如果你不是很有技术能力,或者不想花钱,那么,还是使用“机场”吧。 + +本文主要是针对自建的文档! + ## 2. 购买VPS -然后,你需要一个VPS。 在这里,强烈建议通过自建的方式,可能成本会比托管的“机场”要高一些,而且还很麻烦,但是,在安全性方面会比较好一些。自己动手,自力更生,让人有更多的安全感。 +自建梯需要购买一台服务器 VPS。**现在你买一台VPS也不贵了,一个月几十元钱。当然,如果需要好的线路得需要多花一些钱,但是也不贵。**。 + +购买的 VPS 有几个要点 - “**流量**” 和 “**位置**”: -(注:*当然,你也可以直接购买一些科学上网的服务,但我这里不推荐了,一方面是广告,另一方面通常这样的服务非常的不稳定,而且也容易被代理方做中间人攻击*) +- **配置**。服务器的配置不需要很高,用最小的型号就可以了,一般来说,1个CPU,1GB内存,50GB硬盘是足够了; +- **流量**。服务器主是要要年有没有足够的流量和带宽,很多VPS提供商在流量和带宽上会收额外的费用,要小心。一般来说,1TB流量和30Mbps带宽是足够了,如果不看电影的话,500GB左右一个月的流量也够了; +- **位置**。服务器的线路和地理位置还是比较重要的,一般来说,香港,台湾,日本,韩国,新加坡,美国,欧洲都是不错的选择。 + - **线路**。 经过我长期的实践,GIA CN2 的线路是非常好的。**但是你要小心,很多VPS提供商会在宣传上说自己是 CN2 的线路,但是,实际上并不是**。 + - **原生 IP**。很多海外的应用都有地区限制,会屏蔽IP,所以,使用美国的原生 IP 也是很重要的。 -**现在你买一台VPS也不贵了,也就是一个月10美金左右(70元),我个人觉得一个月花70元钱不算奢侈的事,而且会让你的生活质量得到改善。当然,线路好的得需要多花一些钱。**。 +上述的这些东西在后面都会讲到。**另外,VPS 建议安装成 Ubuntu,版本用 18.04,20.04,22.04 都行**。 -(注:*我现在每个月投入在科学上网上的成本大概在不到500元人民币左右,常备3-5个不同国家的VPS,因为国内的网络路由经常性的变化,所以,为了确保总是有一条快的,所以,得多备几个*)。 ### 2.1 常规VPS -对于 VPS,下面是一些常规选项。 +对于常规 VPS,主要是一个云服务提供商,大的原厂商都提供免费使用和赠金,所以,可以白嫖一段时间。 -- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡)。现对 2021/8/7 之后使用 Lightsail 的用户提供3个月的免费试用。 -- [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) +- [AWS LightSail](https://lightsail.aws.amazon.com/) 是一个非常便宜好用的服务,最低配置一个月 $3.5 美金,流量不限,目前的Zone不多,推荐使用日本,新加坡或美国俄勒冈(支持银联卡)。现对 2021/8/7 之后使用 LightSail 的用户提供3个月的免费试用。 - [Microsoft Azure](https://azure.microsoft.com/zh-cn/)提供免费一年的服务(B1S实例),而且每个月有 100G 的免费流量,并赠送200刀赠金。(需要国际信用卡) - [Google Cloud Platform](https://cloud.google.com/)提供免费试用,赠送300刀赠金(需要国际信用卡) -- [Linode](https://www.linode.com)买个一月USD5刀的VPS -- [Vultr](https://www.vultr.com)上买一个日本的VPS,一个月5刀 (可以支付宝)(注:据说被墙的IP太多) - [Oracle Cloud](https://www.oracle.com/cloud/free/)两台VPS无限期使用,可选美日韩等地(需要国际信用卡) +- [RackNerd](https://my.racknerd.com/aff.php?aff=1134),价格在一年 10 刀-20 刀(如下所示)。支持支付宝、银联。购买的时候,有个 Location 选项,可以选择机房位置,后面有相应的 IP,你可以测试一下 ping 值,选择最低的那个。 +- [AWS EC2](https://aws.amazon.com/cn/)香港、日本或韩国申请个免费试用一年的EC2 VPS (支持银联卡) +- [Linode](https://www.linode.com)买个一月USD5刀的VPS +- [Vultr](https://www.vultr.com?ref=7609494)上买一个日本的VPS,一个月5刀 - 6刀 (可以支付宝) -> **注意** -> - 在中国,因为有太多的网络提供商,所以,国内的网络也是很奇葩的,可以看到的是,不同的地方,不同的网络,到不同的国家完全不一样,而且还经常性地调整路由,所以,经常性地有时候快有时候慢,简直就是随机的。所以,像我这样要求比较高的人,一般会备3-5个不同国家地区的VPS,以保障上网的速度。 +> **Note** > -> - 香港网速应该是比较好的,但是香港的成本也是比较高的(使用 Microsoft Azure 的 East Asia 可以把 VPS 买在香港区)。台湾的网速也是不错的,日本的网速其次,新加坡再次之,然后是美国的东海岸。但是,因为线路的问题,如果没有为中国区优化的线路,丢包率是非常大的,日本区 ping 值虽然很低,但是经常性的丢包,好的线路的美国的 ping 值虽然大,但是也会飞快。 +> - 你要知道很多云厂商的 VPS 服务器和流量是分开计费的,所以,你要确认一下你的云帐单以免出现不预期的费用。所以,最好购买包流量的 VPS。比如:AWS 的 LightSail, RackNerd 等。 > -> - 日本区的网络质量并不一定很好,有时候快的飞快,但有时候会有很大的丢包率(不同的网络不一样),有时候会很慢。上述的这几个VPS服务商中,AWS韩国和日本会好点,然后是 [Linode](https://www.linode.com/),最后是 [Vultr](https://www.vultr.com/)(如果你有更好的,请推荐) +> - 在中国,因为有太多的网络提供商,所以,不同的地方,不同的网络,不同的时间,到不同的国家完全不一样,而且还经常性地调整路由,所以,经常性地有时候快有时候慢,简直就是随机的。如果你对上网要求比较高的人,最好会备 2-3个不同国家地区的VPS。 > -> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用 [Vultr](https://www.vultr.com/)(按时付费)翻墙,然后再到GCP上购买。 +> - 香港网速应该是比较好的,但是香港的成本也是比较高的(使用 Microsoft Azure 的 East Asia 可以把 VPS 买在香港区)。台湾的网速也是不错的(可以通过 Google Cloud 购买),日本的网速其次,新加坡再次之,然后是美国的东海岸。但是,因为线路的问题,如果没有为中国区优化的线路,丢包率是非常大的,日本区 ping 值虽然很低,但是经常性的丢包,好的线路的美国的 ping 值虽然大,但是也会飞快。 +> +> - Google Cloud Platform - GCP 的香港和台湾节点也是很快的。但是你要能买GCP的主机,你还得先翻墙,所以,感觉有点死锁了。所以,你可能先用其它方式翻墙,然后再到GCP上购买。 ### 2.2 CN2 线路 @@ -139,20 +153,7 @@ 更多的可以参考这篇文章《[CN2 GIA VPS主机收集整理汇总-电信,联通,移动三网CN2 GIA线路VPS主机](https://wzfou.com/cn2-gia-vps/)》(注:随时间推移,这篇文章的内容可能会失效) -重点说一下,**CN2 GIA + 香港机房**,你会得到巨快无比的上网速度(无论你在中国的哪个位置,无论使用哪家运营商,CN2 GIA都是最优的),然而,香港地区的VPS的确是有点贵了。在Youtube.com上看 4K 的视频毫无压力。虽然阿里云和腾讯的也有,但是被查到的风险基本上是100%,不建议使用,被抓了别怪我没警告过你。 - -### 2.3 NCP 线路 -**NCP** 全称 New Cross Pacific(新跨太平洋海底光缆系统)。 -2018年11月底,中国到美国之间的海底光缆新开通了NCP线路,并且容量更大(系统设计容量超过80Tbps),路由更少(中国上海到美国中间路由节点只有11个,ping值110ms)。 - -NCP线路全长13,000公里,连接美国俄勒冈州希尔斯伯勒,连接崇明(中国大陆),南汇(中国大陆),临港(中国大陆),釜山(韩国),头城(台湾),和丸山(日本)。 - -相对于第二条中美直达海底光缆系统(跨太平洋快线,TPE),现阶段NCP线路的网络流量更少更稳定。特征是华东/中地区流量会经过NCP直达路由节点,IP地址为202.97.95.201/202。 - -关于 `NCP` 线路的主机提供商,下面罗列两个(欢迎补充) - -- [50KVM VPS](https://www.50kvm.com) 截止2018年12月2日KVM 产品最低价格¥81.60/月。 -- [OLVPS](https://www.olvps.com/) 截止2018年12月2日KVM 产品最低价格¥22/月。(**特别注意** : 在 OLVPS 上的《[服务条款](https://olvps.com/index.php?rp=/knowledgebase/1/TOS.html)》 中有一条说明:“**禁止OpenV*P*N/Socks5/PPTP/L2TP等软件、公共代理**”,所以,可能OLPVS并不太适合) +重点说一下,**CN2 GIA + 香港机房**,你会得到巨快无比的上网速度(无论你在中国的哪个位置,无论使用哪家运营商,CN2 GIA都是最优的),然而,香港地区的VPS的确是有点贵了。在 Youtube上看 4K 的视频毫无压力。虽然阿里云和腾讯的也有,但是被查到的风险基本上是100%,不建议使用,被抓了别怪我没警告过你。 ## 3. 搭建相关代理服务 @@ -175,13 +176,19 @@ BBR之后移植入Linux内核4.9版本,并且对于QUIC可用。 如果开启,请参看 《[开启TCP BBR拥塞控制算法](https://github.com/iMeiji/shadowsocks_install/wiki/开启-TCP-BBR-拥塞控制算法) 》 -### 3.3 用 Gost 设置 HTTPS 服务 +### 3.3 申请域名和证书 -[gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 +为了更为的隐蔽,使用 HTTPS 服务,你需要完成如下工作: -为了更为的隐蔽,你需要一个域名(可以上 GoDaddy,但一定要使用美国版),将域名或一个子域名解析到你的 vps 上,然后使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 +1) 一个域名(可以上 [GoDaddy](https://www.godaddy.com/en-us),但一定要使用美国版) -接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你解析到 vps 的域名): +2) 然后在 GoDaddy 上修改域名解析服务器,把其指向 [Cloudflare](https://cloudflare.com) —— 当你注册完 Cloudflare 帐号后,Cloudflare 会告诉你怎么做。 + +3)然后,你在 Cloudflare 上创建一个子域名解析到你的 VPS 上 IP 上(注:不要开启 Cloudflare 的 Proxy 模式) + +4)最后,使用 [Let's Encrypt](https://letsencrypt.org) 来签 一个证书。使用 Let's Encrypt 证书你需要在服务器上安装一个 [certbot](https://certbot.eff.org/instructions),点击 [certbot](https://certbot.eff.org/instructions) 这个链接,你可以选择你的服务器,操作系统,然后就跟着指令走吧。 + +接下来,你需要申请一个证书(我们使用standalone的方式,然后,你需要输入你的电子邮件和你解析到 VPS 的域名): ```shell $ sudo certbot certonly --standalone @@ -189,7 +196,14 @@ $ sudo certbot certonly --standalone 证书默认生成在 `/etc/letsencrypt/live/` 目录下,这个证书90天后就过期了,所以,需要使用一个 cron job 来定期更新(稍后给出) -接下来就是启动 gost 服务了,我们这里还是使用 Docker 的方式建立 gost 服务器。 + +### 3.4 用 Gost 设置 HTTPS 服务 + + +[gost](https://github.com/ginuerzh/gost) 是一个非常强的代理服务,它可以设置成 HTTPS 代理,然后把你的服务伪装成一个Web服务器,**我感觉这比其它的流量伪装更好,也更隐蔽。这也是这里强烈推荐的一个方式**。 + +接下来就是启动 gost 服务了,我们这里使用 Docker 的方式建立 gost 服务器。 + ```shell #!/bin/bash @@ -267,7 +281,7 @@ curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PAS > 然后在其他软件中设置socks5代理即可 -### 3.4 设置 ShadowSocks 服务 +### 3.5 设置 ShadowSocks 服务 (不推荐) **(注:ShadowSocks 被查的机率非常大,不推荐使用)** @@ -287,8 +301,7 @@ sudo docker run -dt --name ss \ -s "-s 0.0.0.0 -p ${SS_PORT} -m aes-256-cfb -k ${SS_PASSWD} --fast-open" ``` - -### 3.5 设置L2TP/IPSec服务 +### 3.6 设置L2TP/IPSec服务 (不推荐) **(注:VPN方式被查的机率非常大,不推荐使用)** @@ -311,94 +324,288 @@ sudo docker run -d --privileged \ siomiz/softethervpn ``` -### 3.6 设置 PPTP 服务 -**(注:PPTP 不安全,请不要使用)** -```shell -sudo docker run -d --privileged --net=host - -v {/path_to_file/chap-secrets}:/etc/ppp/chap-secrets \ - mobtitude/vpn-pptp -``` -PPTP 使用 `/etc/ppp/chap-secrets` 文件设置用户名和密码,所以你需要给docker容器提供这个文件,下面是这个文件的示例: +## 4. 客户端设置 -```conf -# Secrets for authentication using PAP -# client server secret acceptable local IP addresses - fuckgfw * whosyourdaddy * -``` +### 4.1 电脑端设置 +#### 4.1.1 Chrome 代理设置 -## 4. 客户端设置 +如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#34-用-gost-设置-https-服务) 中的“注意”一节 ) -### 4.1 gost 客户端 +或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。比如: -大多数的代理服务都支持 https 的代理,但是我们需要智能代理(也就是该翻的时候翻,不用翻的时候不翻),那么我们可以重用 ShadowSocks 的客户端。 +#### 4.1.2 全局 Clash 代理设置 -对于电脑来说,你同样可以 [下载 gost 程序](https://github.com/ginuerzh/gost/releases),然后使用下面的命令行: +在电脑上,使用 [Clash](https://github.com/Dreamacro/clash) 一个就可以了。Clash 支持很多翻墙协议:ShadowSocks(R), Vmess, Socks5, HTTP(s),Snell,Trojan。 而且支持多个代理服务器的分组和负载均衡。 -``` -# 此处的ss服务端加密协议(eg: aes-128-gcm)必须是ss客户端支持的协议 -gost -L ss://aes-128-gcm:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' -``` -这样用 gost 在你的本机启动了一个 `ShadowSocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 +Clash 的客户端支持多种平台,包括 Windows, MacOS, Linux 等,你可以在 [Clash 的 Release 页面](https://github.com/Dreamacro/clash/releases) 下载到最新的版本。这个是命令行版本,但配置其实并不复杂。 + +另外,有一些比较高级的功能,如:开启 Tun 网卡,需要使用 [Clash Premium](https://github.com/Dreamacro/clash/releases/tag/premium),这个版本不收费,但是是闭源的。 + +当然,如果你要安装 GUI 版本,你可以通过如下的项目安装: + +- [Clash for Windows](https://github.com/Fndroid/clash_for_windows_pkg/releases)。注意:**这个软件是闭源软件**。 +- [Clash for MacOS](https://github.com/yichengchen/clashX) +- [Clash for Android](https://github.com/Kr328/ClashForAndroid) + +下面是 Clash 安装完后的配置目录结构: ``` -┌─────────────┐ ┌─────────────┐ ┌─────────────┐ -│ ShadowSocks │ │ │ │ │ -│ Client ├──► Gost Client ├────────────► Gost Server │ -│ (PAC Auto) │ │ │ │ │ -└─────────────┘ └─────────────┘ └─────────────┘ +├── clash <- 建一个 clash 的目录 +│   ├── clash <- 运行文件 +│   ├── config.yaml <- 配置文件 +│   ├── Country.mmdb <- IP地址库 +│   └── ui <- Clash 的 UI +│   ├── index.html +│   ├── ... ``` -**ShadowSocks Client 主要完成:自动设置操作系统代理服务器的 pac (自动设置翻墙或是不翻墙的路由)** +说明一下: -这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 +- UI界面可以到 [haishah/yacd](https://github.com/haishanh/yacd) 下载。放到clash的配置目录下 `ui` 目录下 +- 一个是 `Country.mmdb` 这是IP地址的在哪个国家的数据库。你需要到这里下载 - [Country.mmdb](https://github.com/Dreamacro/maxmind-geoip/releases/latest/download/Country.mmdb) (当然,clash启动时,会自动下载,我这里给你一个手动下载的链接) +- 另一个是 `config.yaml` 文件,这个文件详细解释可参看 - [官方Wiki](https://github.com/Dreamacro/clash/wiki/configuration) -对于手机端 - - iPhone,可以考虑使用 `ShadowRocket` (需要付费),其中使用 HTTPS 的代理,配置上就好了。 - - Android,可以考虑使用这个Plugin - [ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin),参考 [#33](https://github.com/xausky/ShadowsocksGostPlugin/issues/33) 进行配置 +下面是个示例: -**注明**:如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#33-用-gost-设置-https-服务) 中的“注意”一节 ) +```yaml +port: 7890 +socks-port: 7891 +redir-port: 7892 +mixed-port: 7893 +ipv6: false +allow-lan: true +mode: Rule +log-level: info +external-controller: '0.0.0.0:9090' +external-ui: ui +secret: '' +tun: + enable: true + stack: system + dns-hijack: + - tcp://8.8.8.8:53 + - udp://8.8.8.8:53 +dns: + enable: true + ipv6: false + listen: 0.0.0.0:53 + default-nameserver: + - 114.114.114.114 + #enhanced-mode: redir-host + enhanced-mode: fake-ip #如果要玩netflix,需要使用fake-ip + fake-ip-range: 198.18.0.1/16 + nameserver: + - 114.114.114.114 + - 223.5.5.5 + - tls://8.8.8.8:853 + fallback: + - tls://8.8.8.8:853 -或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。比如: +# 两个代理服务器 +proxies: + # http + - name: "https01" + type: http + server: https.server.domain + port: 443 + username: user + password: "password" + tls: true # https + skip-cert-verify: true + - name: "https01" + type: http + server: https.server.domain + port: 443 + username: user + password: "passowrd" + tls: true # https + skip-cert-verify: true + +# 配置 Group +proxy-groups: + # 自动切换 + - name: "auto" + type: url-test + proxies: + - us01_https + #- us02_https + #- hk_https + # tolerance: 150 + url: 'https://www.google.com/' + interval: 300 + # 按需选择 - 可以在UI上选择 + - name: "netflix" + type: select + proxies: + - us01_https + - us02_https + - hk_https + +rules: +# LAN + - 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 + +# Netflix + - DOMAIN-SUFFIX,fast.com,netflix + - DOMAIN-SUFFIX,api-global.netflix.com,netflix + - DOMAIN-SUFFIX,netflix.com,netflix + - DOMAIN-SUFFIX,netflix.net,netflix + - DOMAIN-SUFFIX,nflxext.com,netflix + - DOMAIN-SUFFIX,nflximg.com,netflix + - DOMAIN-SUFFIX,nflximg.net,netflix + - DOMAIN-SUFFIX,nflxso.net,netflix + - DOMAIN-SUFFIX,nflxvideo.net,netflix +# 最终规则(除了中国区的IP之外的,全部翻墙) + - GEOIP,CN,DIRECT + - MATCH,auto -### 4.2 Shadowsocks 客户端 +``` -对于 Shadowsocks 客户端,可以到这里查看 [Shadowsocks Clients](https://shadowsocks.org/en/download/clients.html) +更多的规则网上可以找到很多,也可以参看这里:[SS-Rule-Snippet/LAZY_RULES/clash.yaml](https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/LAZY_RULES/clash.yaml) -- MacOS 上你可以下载 [ShadowsocksX-NG](https://github.com/shadowsocks/ShadowsocksX-NG/releases) -- Windows上你可以下载 [Shadowsocks-Windows](https://github.com/shadowsocks/shadowsocks-windows/releases),需要先安装 [.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework-runtime) -- Android的客户端,你可以用手机访问并下载 [Shadowsocks-Android](https://github.com/shadowsocks/shadowsocks-android/releases) -- iPhone 端就比较麻烦了。因为国内全都被下架了。 - 1. 你需要注册一个美国的苹果ID. - 2. 然后 iTunes/App Store 用这个美区的ID登录(不是退出iCloud ,而是退出App Store) - 3. 然后搜索 `Potatso Lite` ,`ShadowRocket`, `Wingy`, `Quantumult` 等。(我使用前两个) +

-> **注意** +> **Note** +> +> 除了 Clash 外,你可以安装原生的客户端。如: +> +> **1) VPN 客户端** +> +> 对于L2TP/IPSec,几乎所有的客户端操作系统(无论是Windows/Mac/Linux的电脑,还是iPhone/Android)都支持,你可以自行Google。 +> +> - [全平台配置 IPsec/L2TP VPN 客户端](https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md) +> - [Apple 官网:在 Mac 上设置 VPN 连接](https://support.apple.com/zh-cn/guide/mac-help/mchlp2963/mac) +> - [Windows 7操作系统配置L2TP VPN方法](http://nic.upc.edu.cn/2016/0928/c7809a132077/page.htm) > -> - 关于如何注册美区Apple ID账号,你可以参看如下的这几篇文章(我不保证这些文章可不可用,但是你可以自行Google)。 -> - [5分钟注册美国区Apple ID(18年亲测有效)](https://zhuanlan.zhihu.com/p/36574047) -> - [2018年6月亲测:注册美国地区苹果apple ID帐号终极教程](https://www.jianshu.com/p/b32da641e849) -> - [iOS开发之注册美国Apple Id不需要绑定信用卡,亲测可用](https://blog.csdn.net/ziyuzhiye/article/details/82769129) -> - 关于ss客户端的配制 -> - 加密协议必须是跟ss服务端相一致。可以自行约定在ss的服务端和客户端使用何种协议。eg:4.1章节示例中使用的是 aes-128-gcm 。 +> **2) Shadowsocks 客户端** +> +> 对于 Shadowsocks 客户端,可以到这里查看 [Shadowsocks Clients](https://github.com/shadowsocks) +> - MacOS 上你可以下载 [ShadowsocksX-NG](https://github.com/shadowsocks/ShadowsocksX-NG/releases) +> - Windows上你可以下载 [Shadowsocks-Windows](https://github.com/shadowsocks/shadowsocks-windows/releases),需要先安装 [.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework-runtime) +> +> 注:关于 Shadowsocks 客户端的配制, 加密协议必须是跟 Shadowsocks 服务端相一致。可以自行约定在 Shadowsocks , 如:之前章节示例中使用的是 `aes-128-gcm` 。 +> +> **3) Gost 客户端** +> +> Gost 并不支持智能代理(也就是该翻的时候翻,不用翻的时候不翻), 所以我们可以重用 ShadowSocks 的客户端。 +> +> 对于电脑来说,你同样可以 [下载 gost 程序](https://github.com/ginuerzh/gost/releases),然后使用下面的命令行: +> +> ``` +> # 此处的ss服务端加密协议(eg: aes-128-gcm)必须是ss客户端支持的协议 +> gost -L ss://aes-128-gcm:passcode@:1984 -F 'https://USER:PASS@DOMAIN:443' +> ``` +> 这样用 gost 在你的本机启动了一个 `ShadowSocks` 的服务,然后,把请求转到你在上面配置的 HTTPS服务器上,这样就完成转接。 +> +> ``` +> ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ +> │ ShadowSocks │ │ │ WAN │ │ +> │ Client ├──► Gost Client ├────────────► Gost Server │ +> │ (PAC Auto) │ │ │ │ │ +> └─────────────┘ └─────────────┘ └─────────────┘ +> ``` +> **ShadowSocks Client 主要完成:自动设置操作系统代理服务器的 pac (自动设置翻墙或是不翻墙的路由)** +> +> 这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 + + + -### 4.3 VPN 客户端 +### 4.2 手机端设置 + +对于手机端来说,在 Android 端可以安装 [Clash for Android](https://github.com/Kr328/ClashForAndroid) + +对于 Apple 上的 iPhone/iPad,就比较麻烦了。因为相关的客户端在国内的 App Store 上全都被下架了。所以,你需要注册一个美国的苹果ID,然后 iTunes/App Store 用这个美区的ID登录(不是退出iCloud ,而是退出App Store)。 + +关于如何注册美区Apple ID账号,你可以参看如下的这几篇文章(我不保证这些文章可不可用,但是你可以自行Google)。 +- [5分钟注册美国区Apple ID(18年亲测有效)](https://zhuanlan.zhihu.com/p/36574047) +- [2018年6月亲测:注册美国地区苹果apple ID帐号终极教程](https://www.jianshu.com/p/b32da641e849) +- [iOS开发之注册美国Apple Id不需要绑定信用卡,亲测可用](https://blog.csdn.net/ziyuzhiye/article/details/82769129) + +iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个客户端都支持很多协议,如:ShadowSocks, HTTP(s), VMess, Socks5,等。 + +- [ShadowRocket](https://apps.apple.com/us/app/shadowrocket/id932747118),又叫小火箭,其中使用 HTTPS 的代理,配置上就好了。 +- [Quantumult](https://apps.apple.com/us/app/quantumult/id1252015438) + +> **Note** +> +> [Potatso](https://apps.apple.com/us/app/potatso-lite/id1239860606) 作为 shadowsocks 的客户端也是可以的,而且免费,但是无法使用 Gost 的 HTTPS 代理,所以,我不推荐使用。 -对于L2TP/IPSec,几乎所有的客户端操作系统(无论是Windows/Mac/Linux的电脑,还是iPhone/Android)都支持,你可以自行Google。 -- [Mac OS X PPTP/L2TP设置教程](http://www.it-shit.com/74.html) -- [Windows 7操作系统配置L2TP VPN方法](http://nic.upc.edu.cn/2016/0928/c7809a132077/page.htm) ## 5. 流量伪装和其它方式 -无论你用VPN,SS,SSR,都有可能被识别,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,V2Ray客户端 + Nginx + V2Ray服务端的方式,或是gost的HTTPS的方式,基本上来说,在网络四层上看到的都是TLS的包,很难被识别。这种代理服务我觉得只能做探测,或是得到更多的算力来做统计学分析。所以,V2Ray 和 gost 的服务器端用 nginx 再挡一道,那么就很难被发现了。 +### 5.1 流量伪装 + +无论你用VPN,SS,SSR,都有可能被识别,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,使用Gost 的 HTTPS 的方式 再加上防探测,基本上来说,在网络四层上看到的都是TLS的包,很难被识别,我用了很多时间了,一直都很稳。(注:V2Ray客户端 + Nginx + V2Ray服务端的方式也是可以,不过配置起来比较复杂) + +也就是说,在启动 Gost 的时候,需要设置 `probe_resist` 参数,关于这个参数,我们在上面的章节中已经提到过了,这里再说一下。 + +你可以先创建一个 如下的 `/var/www/html/index.html` 的文件: + +```html + + + +Codestin Search App + + + +

Welcome to nginx!

+

If you see this page, the nginx web server is successfully installed and +working. Further configuration is required.

+ +

For online documentation and support please refer to +nginx.org.
+Commercial support is available at +nginx.com.

+ +

Thank you for using nginx.

+ + +``` + +然后,在 Gost 的启动上加上这个参数:`probe_resist=file:/var/www/html/index.html`,这样,当有人探测你的端口的时候,会返回这个文件的内容,这样,就会让探测者以为你的端口是一个 Web 服务器,而不是一个代理服务器。 + +完整的启动脚本如下: + +```bash +#!/bin/bash + +# 下面的四个参数需要改成你的 +DOMAIN="YOU.DOMAIN.NAME" +USER="username" +PASS="password" +PORT=443 + +BIND_IP=0.0.0.0 +CERT_DIR=/etc/letsencrypt +CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem +KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem +sudo docker run -d --name gost \ + -v ${CERT_DIR}:${CERT_DIR}:ro \ + --net=host ginuerzh/gost \ + -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=file:/var/www/html/index.html&knock=www.google.com" +``` + -> **注:** 说句老实话,我其时并不想害怕别人知道自己的上什么样的网站,因为我觉得我访问的都是合法的网站,但是就今天这个局势我也没办法——为什么要让像我这样的光明正大的良民搞得跟偷鸡摸狗之徒一样…… +### 5.2 其它方式 -### 5.1 V2Ray +**1)V2Ray** V2Ray 可以配置成一个非常隐蔽的代理软件。 @@ -410,7 +617,7 @@ V2Ray 可以配置成一个非常隐蔽的代理软件。 我个人觉得,配置起来比较复杂,而且环节太多,不如直接用 `gost` 的 https/http2 的方式配置起来简单,所以,没有放在前面。 -### 5.2 Brook +**2)Brook** Brook是一个由 Go语言编写的跨平台代理软件,支持 Linux/MacOS/Windows/Android/iOS 各个平台。 @@ -447,29 +654,17 @@ wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/dou 花钱购买的 VPS 即便做了流量伪装依然有很大的几率 IP 被封锁,大多 VPS 服务商并不提供更换 IP 的服务,使用 CDN 可以让被封锁的 VPS 继续发挥翻墙功能。 -### 6.1 Cloudflare - Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可以作为跳板来实现翻墙。 -注册 Cloudflare 帐号,并有一个空闲域名(三级域名即可),交给 Cloudflare 托管并将域名指向被封的 VPS IP,注意开启 Proxied 并且 SSL-TLS 使用 Flexible 选项。 - -Cloudflare 只需免费方案足以,不必花钱。 - -关于优选IP,可以手动更改本地hosts文件指向最佳IP。 +注册 Cloudflare 帐号,并有一个空闲域名( 需要使用二级域名),交给 Cloudflare 托管并将域名指向被封的 VPS IP。Cloudflare 只需免费方案足以,不必花钱。 +使用 Cloudflare 进行套壳需要有如下的条件: -### 6.2 V2Ray +- 无论是 V2Ray 还是 gost,都需要使用 WebSocket 传输协议 +- Cloudflare 的端口号只能代理有限的几个, 推荐使用: `80`, `8080`, `443` 或 `8443` +- 客户端这边需要使用对应的客户端,比如 gost 或 v2ray 的客户端进行 WebSocket 的连接 -VPS 上正常安装并配置好 V2Ray,注意两点: - -1. 传输协议必须要使用 ws -2. 要使用 80 或者 8080 端口 - -如果端口有其他用途,那么用 Nginx/Caddy 之类软件,做一个 WebSocket proxy 到 V2Ray 即可。 - -### 6.3 补充 - -客户端注意使用网址来连接。 +关于优选IP,可以手动更改本地hosts文件指向最佳IP。 目前支持 WebSocket 的免费 CDN 似乎只有 Cloudflare 一家,国内 CDN 服务商既不支持也不安全,不要考虑了。如果有更好的服务商欢迎补充。 @@ -904,6 +1099,7 @@ $ kubectl edit cm nodelocaldns -n kube-system ## 9. 代理技巧 + 看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一些技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 1. [SOCKS 协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) diff --git a/images/cover.jpg b/images/cover.jpg deleted file mode 100644 index 069d18c10dfea002ae17b252f505db70049856fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456513 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%0D&L>bA5JdS_YWkS6y}E0+NxeNtgJ0;dW`$QA2+{ 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

y!XD*#qL7m+C?nQ|xW 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�Pd@R1*C{bD-JA2Du;@$)! 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�PabZGEqfpkAFRdk%J8m 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

n;1zkKj9bt{`2Vh`n`t56`I2z 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

  • }1x01?WeG%HN4~O~e}>UL09_ADQ6a~Q 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 Date: Tue, 2 May 2023 12:35:18 +0800 Subject: [PATCH 84/87] refine a bit --- README.md | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 59f4aaff..8f82f37a 100644 --- a/README.md +++ b/README.md @@ -227,26 +227,28 @@ sudo docker run -d --name gost \ 关于 gost 的参数, 你可以参看其文档:[Gost Wiki](https://docs.ginuerzh.xyz/gost/),上面我设置一个参数 `probe_resist=code:404` 意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:`probe_resist=file:/path/to/file.txt` 或其它网站 `probe_resist=web:example.com/page.html`) -**注意**:开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的`knock`参数配置的是`www.google.com`,所以,你需要先访问一下 `https://www.google.com` 让服务端返回一个 `407` 后,SwitchyOmega 才能正常工作。 - -**注意**:如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置,下面是使用 `auth` 参数的例子(注意,需要 gost 在 2.9.2+ 以上版本): - -```shell -DOMAIN="YOU.DOMAIN.NAME" -USER="username" -PASS="password" -PORT=443 -AUTH=$(echo -n ${USER}:${PASS} | base64) - -BIND_IP=0.0.0.0 -CERT_DIR=/etc/letsencrypt -CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem -KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem -sudo docker run -d --name gost \ - -v ${CERT_DIR}:${CERT_DIR}:ro \ - --net=host ginuerzh/gost \ - -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" -``` +> **Note** +> +> 1. 开启了探测防御功能后,当认证失败时服务器默认不会响应 `407 Proxy Authentication Required`,但某些情况下客户端需要服务器告知代理是否需要认证(例如Chrome中的 SwitchyOmega 插件)。通过knock参数设置服务器才会发送407响应。对于上面的例子,我们的`knock`参数配置的是`www.google.com`,所以,你需要先访问一下 `https://www.google.com` 让服务端返回一个 `407` 后,SwitchyOmega 才能正常工作。 +> +> 2. 如果认证信息(也就是用户名和密码)中包含特殊字符,则可以(应该是必须!否则客户端一侧会有很多不兼容)通过auth参数来设置,下面是使用 `auth` 参数的例子(注意,需要 gost 在 2.9.2+ 以上版本): +> +> ```shell +> DOMAIN="YOU.DOMAIN.NAME" +> USER="username" +> PASS="password" +> PORT=443 +> AUTH=$(echo -n ${USER}:${PASS} | base64) +> +> BIND_IP=0.0.0.0 +> CERT_DIR=/etc/letsencrypt +> CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem +> KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem +> sudo docker run -d --name gost \ +> -v ${CERT_DIR}:${CERT_DIR}:ro \ +> --net=host ginuerzh/gost \ +> -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.go ogle.> com" +> ``` 如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 @@ -325,7 +327,6 @@ sudo docker run -d --privileged \ ``` - ## 4. 客户端设置 ### 4.1 电脑端设置 @@ -517,8 +518,6 @@ rules: > 这样,你的ShadowSocks客户端只需要简单的配置一个本机的 SS 配置就好了。 - - ### 4.2 手机端设置 对于手机端来说,在 Android 端可以安装 [Clash for Android](https://github.com/Kr328/ClashForAndroid) @@ -533,14 +532,13 @@ rules: iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个客户端都支持很多协议,如:ShadowSocks, HTTP(s), VMess, Socks5,等。 - [ShadowRocket](https://apps.apple.com/us/app/shadowrocket/id932747118),又叫小火箭,其中使用 HTTPS 的代理,配置上就好了。 -- [Quantumult](https://apps.apple.com/us/app/quantumult/id1252015438) +- [Quantumult](https://apps.apple.com/us/app/quantumult/id1252015438)。这个工具以前用的不多,最近 1-2 年都在有这个工具,感觉还是很好用的。对了,大家一定要不要跟 `Quantumult X` 搞混,我个人觉得 `Quantumult X` 非常难用。 > **Note** > > [Potatso](https://apps.apple.com/us/app/potatso-lite/id1239860606) 作为 shadowsocks 的客户端也是可以的,而且免费,但是无法使用 Gost 的 HTTPS 代理,所以,我不推荐使用。 - ## 5. 流量伪装和其它方式 ### 5.1 流量伪装 From 5a7649fe60719de14c79a2eb966fbaa6d8164ade Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 2 May 2023 12:49:22 +0800 Subject: [PATCH 85/87] add gost checking --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f82f37a..415386da 100644 --- a/README.md +++ b/README.md @@ -250,7 +250,13 @@ sudo docker run -d --name gost \ > -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.go ogle.> com" > ``` -如无意外,你的服务就启起来了。你可以使用下面的命令验证你的 gost 服务是否正常。 +如无意外,你的服务就启起来了。 你可以使用如下命令在检查有没有启动成功: + +- `sudo docker ps` 来查看 gost 是否在运行。 +- `netstat -nolp | grep 443` 来查看 gost 是否在监听 443 端口。 +- `sudo docker logs gost` 来查看 gost 的日志。 + +你可以使用下面的命令验证你的 gost 服务是否正常。 ```shell curl -v "https://www.google.com" --proxy "https://DOMAIN" --proxy-user 'USER:PASS' From c6ca5677c1251e294bf2588614f58b9b20a09449 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Wed, 3 May 2023 09:45:05 +0800 Subject: [PATCH 86/87] add the phone and payment --- README.md | 211 +++++++++++++++++++++++++++--------------------------- 1 file changed, 105 insertions(+), 106 deletions(-) diff --git a/README.md b/README.md index 415386da..9f461fb1 100644 --- a/README.md +++ b/README.md @@ -26,31 +26,32 @@ - [4.1.1 Chrome 代理设置](#411-chrome-代理设置) - [4.1.2 全局 Clash 代理设置](#412-全局-clash-代理设置) - [4.2 手机端设置](#42-手机端设置) -- [5. 流量伪装和其它方式](#5-流量伪装和其它方式) - - [5.1 流量伪装](#51-流量伪装) - - [5.2 其它方式](#52-其它方式) -- [6. 针对 IP 被封的解决方案](#6-针对-ip-被封的解决方案) -- [7. 家用透明网关](#7-家用透明网关) - - [7.1 OpenWRT 路由器](#71-openwrt-路由器) - - [7.2 通过树莓派做旁路网关](#72-通过树莓派做旁路网关) - - [7.3 安装 Clash](#73-安装-clash) - - [7.4 设置 iptables 转发](#74-设置-iptables-转发) -- [8. 数据中心透明网关](#8-数据中心透明网关) - - [8.1 AWS 网络构建](#81-aws-网络构建) - - [8.2 安装 Clash](#82-安装-clash) - - [8.3 配置私有子网中的 EC2](#83-配置私有子网中的-ec2) - - [8.4 私有子网中的 Kubernetes](#84-私有子网中的-kubernetes) -- [9. 代理技巧](#9-代理技巧) - - [9.1 HTTP 隧道](#91-http-隧道) - - [9.2 SSH 隧道](#92-ssh-隧道) - - [9.3 Github / Git SSH 代理](#93-github--git-ssh-代理) - - [9.4 Cloudflare Warp 原生 IP](#94-cloudflare-warp-原生-ip) - - [9.4.1 WARP 模式](#941-warp-模式) - - [9.4.2 代理模式](#942-代理模式) - - [9.4.3 Docker 代理](#943-docker-代理) -- [10. 其它](#10-其它) - - [10.1 其它方式](#101-其它方式) - - [10.2 搭建脚本](#102-搭建脚本) +- [5. 美国手机和支付](#5-美国手机和支付) + - [5.1 美国手机](#51-美国手机) + - [5.2 美国支付](#52-美国支付) +- [6. 流量伪装和防探测](#6-流量伪装和防探测) +- [7. 针对 IP 被封的解决方案](#7-针对-ip-被封的解决方案) +- [8. 家用透明网关](#8-家用透明网关) + - [8.1 OpenWRT 路由器](#81-openwrt-路由器) + - [8.2 通过树莓派做旁路网关](#82-通过树莓派做旁路网关) + - [8.3 安装 Clash](#83-安装-clash) + - [8.4 设置 `iptables` 转发](#84-设置-iptables-转发) +- [9. 数据中心透明网关](#9-数据中心透明网关) + - [9.1 AWS 网络构建](#91-aws-网络构建) + - [9.2 安装 Clash](#92-安装-clash) + - [9.3 配置私有子网中的 EC2](#93-配置私有子网中的-ec2) + - [9.4 私有子网中的 Kubernetes](#94-私有子网中的-kubernetes) +- [10. 代理技巧](#10-代理技巧) + - [10.1 HTTP 隧道](#101-http-隧道) + - [10.2 SSH 隧道](#102-ssh-隧道) + - [10.3 Github / Git SSH 代理](#103-github--git-ssh-代理) + - [10.4 Cloudflare Warp 原生 IP](#104-cloudflare-warp-原生-ip) + - [10.4.1 WARP 模式](#1041-warp-模式) + - [10.4.2 代理模式](#1042-代理模式) + - [10.4.3 Docker 代理](#1043-docker-代理) +- [11. 其它](#11-其它) + - [11.1 其它方式](#111-其它方式) + - [11.2 搭建脚本](#112-搭建脚本) ## 0. 序 @@ -157,7 +158,7 @@ ## 3. 搭建相关代理服务 -> 注:如下的搭建和安装脚本可参看本库的 scripts 目录下的脚本,如: [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) (感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) +> 注:如下的搭建和安装脚本可参看本库的 scripts 目录下的脚本,如: [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) (感谢网友 [@gongzili456](https://github.com/gongzili456) 开发),另外,**这个脚本可能年久失修,不一定能用,但是可以参考,如果有问题,可以提交 PR**。 ### 3.1 设置Docker服务 @@ -339,9 +340,17 @@ sudo docker run -d --privileged \ #### 4.1.1 Chrome 代理设置 -如果你之前使用了Chrome插件 SwitchyOmega,如果无法直接配置HTTPS代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#34-用-gost-设置-https-服务) 中的“注意”一节 ) +你可以使用 Chrome 插件 [SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif)进行代理设置。在 SwitchyOmega 中,你需要设置一个代理服务器。 -或是,干脆使用gost客户端在本机启动一个 SOCKS5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。比如: +1. 打开 SwitchyOmega 的设置页面,点击左边导航栏上的“New Profile”,输入一个名字,比如“代理”。 +2. 然后在 `Protocol` 中选择 `HTTPS`, 填上你的 Gost 的 VPS 服务器和端口号。 +3. 点后面的 `🔒` 按钮,输入 Gost 服务器的用户名和密码。 + +具体的教程可以参看官方教程 - 《[最新 SwitchyOmega 使用教程快速入门篇](https://switchyomega.org/)》 + +如果无法直接配置 HTTPS 代理,具体原因可能是因为你设置了`probe_resist`以开启探测防御功能。这里,你需要在服务器端设置 `knock` 参数(参看 [用 Gost 设置 HTTPS 服务](#34-用-gost-设置-https-服务) 中的“注意”一节 ) + +或是,干脆使用 gost 客户端在本机启动一个 SOCKS 5的代理服务用来代替(`gost -L socks5://:1080 -F 'https://USER:PASS@DOMAIN:443'`),然后在 SwitchyOmega 配置代理为'127.0.0.1:1080'即可。 #### 4.1.2 全局 Clash 代理设置 @@ -530,10 +539,14 @@ rules: 对于 Apple 上的 iPhone/iPad,就比较麻烦了。因为相关的客户端在国内的 App Store 上全都被下架了。所以,你需要注册一个美国的苹果ID,然后 iTunes/App Store 用这个美区的ID登录(不是退出iCloud ,而是退出App Store)。 -关于如何注册美区Apple ID账号,你可以参看如下的这几篇文章(我不保证这些文章可不可用,但是你可以自行Google)。 -- [5分钟注册美国区Apple ID(18年亲测有效)](https://zhuanlan.zhihu.com/p/36574047) -- [2018年6月亲测:注册美国地区苹果apple ID帐号终极教程](https://www.jianshu.com/p/b32da641e849) -- [iOS开发之注册美国Apple Id不需要绑定信用卡,亲测可用](https://blog.csdn.net/ziyuzhiye/article/details/82769129) +关于如何注册美区 Apple ID账号,你需要有两个前提条件: + +- 你需要有一个美国的手机号码。 +- 还需要有一个美国的 PayPal 账号。 + +关于如何搞到美国的手机号以及美国的 PayPal 账号以及其必要性,可以参看[5. 美国手机和支付]((#5-美国手机和支付)) + +然后,你就可以用电脑登录 https://appleid.apple.com/ 全新注册一个帐号,注册的时候,你需要选择美国的地区,然后,你需要用你的美国手机号码接收验证码,最后,你需要用你的美国 PayPal 账号来绑定你的信用卡。 iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个客户端都支持很多协议,如:ShadowSocks, HTTP(s), VMess, Socks5,等。 @@ -544,12 +557,44 @@ iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个 > > [Potatso](https://apps.apple.com/us/app/potatso-lite/id1239860606) 作为 shadowsocks 的客户端也是可以的,而且免费,但是无法使用 Gost 的 HTTPS 代理,所以,我不推荐使用。 +## 5. 美国手机和支付 + +现在越来越多 APP 需要使用海外的手机和支付,所以,你需要有一个美国的手机号码和美国的支付方式。 + +### 5.1 美国手机 + +美国的手机号目前最好的方式是购买 [Ultra Mobile 的 PayGo](https://www.ultramobile.com/zh/paygo/) 月租 3 美金,你可以上淘宝上购买。这个卡是真实的美国手机号码,在中国漫游时,短信和接听电脑会产生漫游费用,所以,你一定要[开启 WiFi Calling](https://www.ultramobile.com/zh/ufaqs/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%89%8B%E6%9C%BA%E4%B8%8A%E8%AE%BE%E7%BD%AEwifi%E9%80%9A%E8%AF%9D%E5%92%8C%E7%9F%AD%E4%BF%A1/)。有时候,你的网络可能无法让你开启 WiFi Calling,这个可能是运营上 block 了相关路由,你可能需要设置你的路由器,这里[有篇文章](https://zhuanlan.zhihu.com/p/411052451)你可以了解一下. + +这里不推荐使用 [Google Voice](https://voice.google.com)。 因为你注册 Google Voice 的时候也需要一个实体卡,如果你有朋友在美国的话,你可以借用朋友的手机帮你生成一个,但是就算是生成了,美国也有很多 APP 无法接收 Google Voice 的验证码,因为风控的问题不支持虚拟运营商。 + +### 5.2 美国支付 -## 5. 流量伪装和其它方式 +关于美国的支付,你可以注册一个美国的 PayPal,这个对于 iPhone/iPad 转美区 App Store 来说是很方便的。 -### 5.1 流量伪装 +你可以使用你在国内的币种(支持 VISA/MasterCard)的信用卡来开国际 PayPal 帐号。开通国际 PayPal 帐号需要以下几个条件: -无论你用VPN,SS,SSR,都有可能被识别,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,使用Gost 的 HTTPS 的方式 再加上防探测,基本上来说,在网络四层上看到的都是TLS的包,很难被识别,我用了很多时间了,一直都很稳。(注:V2Ray客户端 + Nginx + V2Ray服务端的方式也是可以,不过配置起来比较复杂) +- 身在美国(系统会自动检测IP地址) +- 有效美国地址(最好是私人地址,必要时能提交地址证明) +- 有效美国手机号码(必需是能接收短信) + +**注意:如果你没有美国的 SSN 或是美国的银行帐号,你是可以支付的,但是不能收款的。所以,千万不要用来收款!** + +但是,现在很多美国的公司都不使用 PayPal 做他们的支付网关,而是使用 [Stripe](https://stripe.com/),这两家公司是竞争关系,所以,你是不能使用 PayPal 来支付的,而 Stripe 的风控比较严格,所以你需要有一个美国的信用卡。 + +拥有一个美国的信用卡是一件极其麻烦的事,因为你首先需要有一个美国的银行帐户,而美国的银行帐户也分对公和对私,对公的帐户是需要有美国的公司才能开的,对私的帐户是需要你有美国的 SSN 才能开的。所以,这个事情就变得很复杂了。 + +下面是一些可行的操作,你可以参考一下: + +- 找你美国的朋友,让他们帮你开一个虚拟信用卡。 +- 通过支付加密货币USDT到 [Depay](https://www.depay.one/?lang=zh-cn) 上开通虚拟信用卡,操作复杂。 +- 找淘宝店帮你支付可能会是一个比较好的选择,代价就是你需要把你的帐号和密码给他们,这个风险你需要自己承担。 +- 有美国B1/B2旅游签证就可以在美国的银行开户。 + +如果大家有更好的方式,欢迎提交PR。 + +## 6. 流量伪装和防探测 + +无论你用VPN,SS,SSR,都有可以被识别, 我实践下来的结果是,**只有使用 HTTP over TLS 的样子,才会跟正常的流量混在一起,很难被识别**,所以,目前来说,使用Gost 的 HTTPS 的方式 再加上防探测的机制,基本上来说,在网络四层上看到的都是TLS的包,很难被识别。另外,用V2Ray客户端 + Nginx + V2Ray服务端的方式也是可以,不过配置起来比较复杂。 (注:关于流量识别和探测的细节,你可以看查看[这篇文章](https://gfw.report/publications/usenixsecurity23/zh/) ) 也就是说,在启动 Gost 的时候,需要设置 `probe_resist` 参数,关于这个参数,我们在上面的章节中已经提到过了,这里再说一下。 @@ -606,55 +651,7 @@ sudo docker run -d --name gost \ -L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=file:/var/www/html/index.html&knock=www.google.com" ``` - -### 5.2 其它方式 - -**1)V2Ray** - -V2Ray 可以配置成一个非常隐蔽的代理软件。 - - - V2Ray 用户手册:[https://www.v2fly.org](https://www.v2fly.org) - - V2Ray 项目地址:[https://github.com/v2fly/v2ray-core](https://github.com/v2fly/v2ray-core) - -一般来说,祼用 V2Ray 不是一个很好的方式,现在比较流行的是使用nginx来代理,也就是 V2Ray + WebSocket + TLS + Nginx,可以参看这篇文章《[V2Ray+WebSocket+TLS+Nginx配置与使用教程](https://guide.v2fly.org/advanced/wss_and_web.html)》(需要翻墙)。 - -我个人觉得,配置起来比较复杂,而且环节太多,不如直接用 `gost` 的 https/http2 的方式配置起来简单,所以,没有放在前面。 - - -**2)Brook** - -Brook是一个由 Go语言编写的跨平台代理软件,支持 Linux/MacOS/Windows/Android/iOS 各个平台。 - -- Brook Github项目:[https://github.com/txthinking/brook](https://github.com/txthinking/brook) -- Github Wiki教程:[https://github.com/txthinking/brook/wiki/使用说明(中文)](https://github.com/txthinking/brook/wiki/使用说明(中文)) - -服务器一行命令安装: - -``` -wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/brook.sh && chmod +x brook.sh && bash brook.sh -``` - -运行 `brook.sh` 会出菜单项,你可以按菜单项来,主要就是设置端口号,密码。很简单的,我这里就不截图了,因为这个脚本运行起来中文菜单式的。 - -然后你可以在 Brook 项目的 Github 首页上下载不同平台的客户端。设置起来也很简单! - -> 注意: 如果运行出现下载错误,可能是因为brook的下载文件名问题,你需要自己修改一下脚本: -> -> ```shell -> Download_brook(){ -> [[ ! -e ${file} ]] && mkdir ${file} -> cd ${file} -> if [[ ${bit} == "x86_64" ]]; then -> - wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook" -> + wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook_linux_amd64" -> + mv brook_linux_amd64 brook -> else -> wget --no-check-certificate -N "https://github.com/txthinking/brook/releases/download/${brook_new_ver}/brook_linux_386" -> mv brook_linux_386 brook -> fi -> ``` - -## 6. 针对 IP 被封的解决方案 +## 7. 针对 IP 被封的解决方案 花钱购买的 VPS 即便做了流量伪装依然有很大的几率 IP 被封锁,大多 VPS 服务商并不提供更换 IP 的服务,使用 CDN 可以让被封锁的 VPS 继续发挥翻墙功能。 @@ -674,9 +671,9 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 网络延迟比直连增加不少,如果是频繁操作会很痛苦。网络带宽如果运气好可能比直连还优化了,用来看 Youtube 搞不好更流畅。 -## 7. 家用透明网关 +## 8. 家用透明网关 -### 7.1 OpenWRT 路由器 +### 8.1 OpenWRT 路由器 所谓透明网关的意思是,一切都交给网关来做。最好的方式是你需要一个 OpenWRT 的路由器,推荐使用华硕的路由器,贵是贵一些,但是这几年用下来,非常不错。我用的是 **华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路** 。 @@ -730,7 +727,7 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 ``` -### 7.2 通过树莓派做旁路网关 +### 8.2 通过树莓派做旁路网关 如果你的路由器不能刷 OpenWRT,也就是没法通过SSH登录上去装软件,你就用一个别的设备。比如用一个树莓派。我正好有一个很老旧的树莓派,刷了一个老旧的 Debian 7.5的操作系统。 @@ -769,7 +766,7 @@ Cloudflare 是一个 CDN 服务商,目前国内依然能正常的访问,可 ``` -### 7.3 安装 Clash +### 8.3 安装 Clash Clash 的 Github项目是:[Dreamacro/clash](https://github.com/Dreamacro/clash) ,在它的 Release 页面上,你可以找到相关的下载。(注:在本文更新的时候,如果你需要支持 Tun,你需要下载 Clash 的 [Premium 版本](https://github.com/Dreamacro/clash/releases/tag/premium) @@ -904,7 +901,7 @@ rules: 然后,你就可以把你的上网设备上的 路由网关 和 DNS 服务器都手动地配置成这个网关就好了(OpenWRT应该不用配置了,树莓派的方式需要手动配置一下) -### 7.4 设置 iptables 转发 +### 8.4 设置 `iptables` 转发 ```shell iptables -t nat -N CLASH @@ -930,11 +927,11 @@ iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 ``` 然后,再 `chmod +x /etc/network/if-pre-up.d/iptables` 加上可执行权限就好了。 -## 8. 数据中心透明网关 +## 9. 数据中心透明网关 这里仅针对 AWS 进行说明,其它云平台应该大同小异,大家可以补充。 -### 8.1 AWS 网络构建 +### 9.1 AWS 网络构建 1. 构建一个 `172.20.0.0/16` 的 VPC,分成两个子网: - 有公网IP的公有子网 - `172.20.1.0/24` @@ -996,14 +993,14 @@ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE - `iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE` 关键字 `MASQUERADE` 意思是“伪装“,NAT的工作原理是就像是一个宿舍收发室对学生宿舍一样,学生宿舍的地址外部不可见,邮递员只看得见整栋宿舍收发室的地址,邮递员把快递交给收发室,收发室再把快递转给学习宿舍(反之,如果学生要对外寄邮件,也是先到收发室,收发室传给邮局)。现在的问题是,所有的学生宿舍如何才能参与到任何快递的通信中,如果把学生宿舍地址发到外部,则没人能把信送回来。如果这个收发室是个自动化的机器人,他要干的事就是,把学生宿舍的地址换成收发室地址。这就是 `MASQUERADE` 的意思——**来自具有接收方 IP 地址的本地网络到达 Internet 某处的数据包必须进行修改,也就是让发送方的地址等于路由器的地**址。 -### 8.2 安装 Clash +### 9.2 安装 Clash -在 EC2 NAT Instance 上安装 clash 透明网关,安装配置参看 [7.3 安装 Clash](#73-安装-clash) ,基本一致。 +在 EC2 NAT Instance 上安装 clash 透明网关,安装配置参看 [8.3 安装 Clash](#83-安装-clash) ,基本一致。 > 注:在实际操作中,没有设置 `iptables` 转发规则 -### 8.3 配置私有子网中的 EC2 +### 9.3 配置私有子网中的 EC2 只需要配置 `/etc/resolv.conf` 文件,把 EC2 NAT Instance 加入其中。如: @@ -1027,7 +1024,7 @@ search [zone].compute.internal > DNS=172.20.0.2 > ``` -### 8.4 私有子网中的 Kubernetes +### 9.4 私有子网中的 Kubernetes K8s 里有两组 CoreDNS 部署和配置,一组是边缘的(或是叫本地的),一组是中心的。 @@ -1102,14 +1099,14 @@ $ kubectl edit cm nodelocaldns -n kube-system -## 9. 代理技巧 +## 10. 代理技巧 看到这里,相信已经能够按照上面的教程搭建好自己的上网环境,但是灵活的应用网络,你还需要了解一些技巧,比如 SOCKS 协议, http 隧道 和 ssh 网络隧道等。 1. [SOCKS 协议](https://zh.m.wikipedia.org/zh-hans/SOCKS) 2. [HTTP 隧道](https://zh.m.wikipedia.org/zh-hans/HTTP%E9%9A%A7%E9%81%93) -### 9.1 HTTP 隧道 +### 10.1 HTTP 隧道 常见的软件 curl , git, wget 都能通过设置 `HTTP_PROXY`,`HTTPS_PROXY`,`NO_PROXY` 来配置一个网络代理,`NO_PROXY`用来配置不需要代理的主机(多个用逗号隔开), 那么我们就可以编写一个 `bash ` 函数来运行需要走代理的命令: ```shell @@ -1127,7 +1124,7 @@ alias unproxy='unset all_proxy http_proxy https_proxy' ``` 这样,你就可以在需要代理的时候输入 `proxy`,不需要的时候输入 `unproxy`。 -### 9.2 SSH 隧道 +### 10.2 SSH 隧道 另外,我们可以使用 SSH Tunnel 来建立 SOCKS5 的代理(假设本地电脑无法访问,但是某台可以 SSH 的服务器能够访问外网,那么我们就可以使用如下的命令来建议翻墙代理: ```shell @@ -1149,7 +1146,7 @@ with_proxy(){ ``` 如果是浏览器,配置好`SwitchyOmega`插件也能实现上外网。 -### 9.3 Github / Git SSH 代理 +### 10.3 Github / Git SSH 代理 现在访问 Github 速度很慢甚至不通,我们可以使用代理来加速,首先我们需要配置好代理,然后配置好 `git` 的代理,这样就能加速 `git clone` 和 `git push` 了。 @@ -1163,7 +1160,7 @@ Host github.com # git-for-windows 下可以用 connect 代替 nc # ProxyCommand connect -S localhost:1085 %h %p ``` -### 9.4 Cloudflare Warp 原生 IP +### 10.4 Cloudflare Warp 原生 IP 很多我们需要访问的网站都需要使用“原生 IP”,比如:[Disney+](https://www.disneyplus.com/), [ChatGPT](https://chat.openai.com),[New Bing](https://www.bing.com/) 等。 @@ -1173,7 +1170,7 @@ Host github.com - 全局模式。这种模式下,所有流量都会通过 Cloudflare 的网络,相当于VPN。 - 代理模式。通过在服务器本机启动一个 SOCKS5 代理,然后把需要的流量转发到这个代理上。 -#### 9.4.1 WARP 模式 +#### 10.4.1 WARP 模式 WARP 模式是 Cloudflare 提供的一种全局代理模式,就是一个客户端的 VPN,它会将你的所有流量都通过 Cloudflare 的网络,这样就能访问到原生 IP 了。 @@ -1226,7 +1223,7 @@ chmod +x warp.sh ``` -#### 9.4.2 代理模式 +#### 10.4.2 代理模式 如果 WARP 模式安装不能成功,那么你可以使用如下的代理模式。代理模式也就是通过一个代理来访问 Cloudflare WARP 的服务,这样就可以访问到原生 IP 了。 @@ -1395,7 +1392,7 @@ sudo docker run -d --name gost-warp \ sudo systemctl restart warp-svc.service ``` -#### 9.4.3 Docker 代理 +#### 10.4.3 Docker 代理 用 Docker 可以更方便地部署起一个 Cloudflare WARP Proxy,只需要一行命令: @@ -1428,20 +1425,22 @@ docker run --rm curlimages/curl --connect-timeout 2 -x "socks5://172.17.0.2:4000 > > `bypass=~` 的含义是,只有命中后面规则时才转发请求到 `172.17.0.2:40001` 这个 socks5 代理。接下来,通过这个 Gost 代理访问 `openai.com` 时,就会走 warp 网络了。 -## 10. 其它 +## 11. 其它 -### 10.1 其它方式 +### 11.1 其它方式 如下还有一些其它的方式(注:均由网友提供,我没有验证过) [Outline](https://getoutline.org/en/home) 是由 Google 旗下 [Jigsaw](https://jigsaw.google.com/) 团队开发的整套翻墙解决方案。Server 端使用 Shadowsocks,MacOS, Windows, iOS, Android 均有官方客户端。使用 Outline Manager 可以一键配置 DigitalOcean。其他平台例如 AWS, Google Cloud 也提供相应脚本。主要优点就是使用简单并且整个软件栈全部[开源](https://github.com/Jigsaw-Code/?q=outline),有专业团队长期维护。 -### 10.2 搭建脚本 +### 11.2 搭建脚本 上述的搭建和安装脚本可参看本库的 scripts 目录下的脚本(感谢网友 [@gongzili456](https://github.com/gongzili456) 开发) - [Ubuntu 18.04 Installation Script](https://github.com/haoel/haoel.github.io/blob/master/scripts/install.ubuntu.18.04.sh) +**注意:这个脚本可能年久失修,不一定能用,但是可以参考,如果有问题,可以提交 PR**。 + 欢迎补充和改善! (全文完) From 9251b516788f4fbaf244d4405576076b4e8d362e Mon Sep 17 00:00:00 2001 From: Hanbing <11911880+Hanbing59@users.noreply.github.com> Date: Tue, 9 May 2023 23:22:34 +0800 Subject: [PATCH 87/87] =?UTF-8?q?Add=20a=20subsection=20(4.3)=20in=20the?= =?UTF-8?q?=20README.md=20for=20configuration=20on=20Tablet=20c=E2=80=A6?= =?UTF-8?q?=20(#133)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f461fb1..0b91da42 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,10 @@ - [4.1.1 Chrome 代理设置](#411-chrome-代理设置) - [4.1.2 全局 Clash 代理设置](#412-全局-clash-代理设置) - [4.2 手机端设置](#42-手机端设置) + - [4.2.1 Android](#421-android) + - [4.2.2 iPhone](#422-iphone) + - [4.3 平板端设置](#43-平板端设置-服务端使用gost代理) + - [4.3.1 iPad](#431-ipad) - [5. 美国手机和支付](#5-美国手机和支付) - [5.1 美国手机](#51-美国手机) - [5.2 美国支付](#52-美国支付) @@ -535,7 +539,24 @@ rules: ### 4.2 手机端设置 -对于手机端来说,在 Android 端可以安装 [Clash for Android](https://github.com/Kr328/ClashForAndroid) +#### 4.2.1 Android + +- [Clash for Android](https://github.com/Kr328/ClashForAndroid) +- Shadowsocks + ShadowsocksGostPlugin + - 安装Shadowsocks (Google Play Store或[github页面](https://github.com/shadowsocks/shadowsocks-android)) + - 下载[ShadowsocksGostPlugin](https://github.com/segfault-bilibili/ShadowsocksGostPlugin) + - 配置 + - Server: `$DOMAIN` + - Remote Port: `443` + - Password: `gost` + - Encrypt Method: `RC4-MD5` + - Plugin: 选择ShadowsocksGostPlugin + - Configure: `-F https://$USER:$PASS@#SS_HOST:#SS_PORT` + + 其中`$DOMAIN`, `$USER`, `$PASS`分别为服务端的域名/子域名, 用户名和密码。 + + +#### 4.2.2 iPhone 对于 Apple 上的 iPhone/iPad,就比较麻烦了。因为相关的客户端在国内的 App Store 上全都被下架了。所以,你需要注册一个美国的苹果ID,然后 iTunes/App Store 用这个美区的ID登录(不是退出iCloud ,而是退出App Store)。 @@ -557,6 +578,19 @@ iPhone 上的客户端我推荐使用下面这两个(需要付费),这两个 > > [Potatso](https://apps.apple.com/us/app/potatso-lite/id1239860606) 作为 shadowsocks 的客户端也是可以的,而且免费,但是无法使用 Gost 的 HTTPS 代理,所以,我不推荐使用。 +### 4.3 平板端设置 (服务端使用gost代理) + +#### 4.3.1 iPad + +- ShadowRocket:打开app,点击右上角`+`号添加服务器,配置如下几项即可(其余条目采用默认值即可) + - Type: `HTTPS` + - Address: `$DOMAIN` + - Port: `443` + - User: `$USER` + - Password: `$PASS` + + 其中,`$DOMAIN`为服务器的域名/子域名,`$USER`与`$PASS`分别为服务端启动gost代理时设定的用户名和密码 + ## 5. 美国手机和支付 现在越来越多 APP 需要使用海外的手机和支付,所以,你需要有一个美国的手机号码和美国的支付方式。 @@ -1444,4 +1478,3 @@ docker run --rm curlimages/curl --connect-timeout 2 -x "socks5://172.17.0.2:4000 欢迎补充和改善! (全文完) -