Cicada000‘s Xlog

Cicada000‘s Xlog

twitter
telegram
bilibili
github

翻越高墙

cover

阅前提示#

阅前提示⚠#

  1. 本文章没有过强的专业性,全凭个人经验撰写而成,仅供参考。如有错误,请联系我。如有疑问,Google Bing PLZ。

  2. 本文章要求阅读者有一定的基本知识储备,知道自己正在做什么,将要做什么。

  3. 其实直接从三、一些基础知识开始阅读也没太大关系。


关于 GFW&VPN#

什么是 GFW#

  GFW, 即 *Great Firewall(中国国家防火墙)* 的缩写,主要指中国对互联网内容进行自动审查和过滤监控、由计算机路由器等网络设备所构成的软硬件系统。由于中国网络审查较为完备,中国国内的不合适网站会直接行政干预和关闭,故防火长城主要作用在于对中国境内外的网络信息互相访问进行分析、过滤、阻断。

  以上是对 GFW 的基本介绍,如果你想对 GFW 的原理有更深一步的了解,可以访问 GFW 的原理 一文了解。

为什么会有 GFW#

  这种事情见得多了,我只想说懂的都懂,不懂的我也不过多解释,毕竟自己知道就好,细细品吧。

  你们也别来问我怎么了,利益牵扯太大,说了对你我都没好处,当不知道就行了,其余的我只能说这里面水很深,牵扯到很多东西。

  详细情况你们自己是很难找的,网上大部分已经删除干净了,所以我只能说懂的都懂。

  你懂我意思吧?

关于 VPN#

  VPN, 全名为Virtual Private Network,即虚拟专用网络,通常的用途是将专用网络扩展到公共网络,使用户能够跨共享或公共网络发送和接收数据,就好像他们的计算设备直接连接到专用网络一样。VPN 的好处包括增加专用网络的功能,安全性和管理。它提供对公共网络上无法访问的资源的访问,通常用于远程办公工作人员。VPN 只是一种加密通讯技术,是一个统称。因此,将 VPN 只看成翻墙的工具或者技术是不对的。

  

关于翻墙#

什么是翻墙#

所谓翻墙,是指绕过相应的 IP 封锁、内容过滤、域名劫持、流量限制等,实现对网络内容的访问。  —— 百度百科  
  顾名思义,翻墙就是突破 GFW 的限制,访问被屏蔽的境外网站。很多人对翻墙的认识就是下载一个 “×× 加速器” 或者是 “××VPN”,然后点击屏幕中间大大的开关符号,手机状态栏中出现一个 “VPN” 字样或者小飞机、小钥匙字样,就可以访问外网了。

  实际上,这样的翻墙体验并不是很好,这种方法在本篇文章中就不做过多介绍了。本文主要介绍的是使用V2RayClash等软件配合 “机场” 使用。

我的翻墙经历#

  我最开始接触翻墙时候大约是在五、六年级左右,时间久远,记不太清了。唯一记得的是在一个菜市场里玩手机等我爸买菜,闲着无聊发现了 AppStore 里的 Instagram,想玩一玩却发现无论如何都无法注册,于是便照着网上的教程开始了人生中的第一次翻墙。

  之后一直到没有啥翻墙的需求,便渐渐淡忘了翻墙这一件事。

  转眼间到了初二的寒假,突然想上 Youtube 和 Twitter,于是便从网上找了一个所谓的 “加速器”,和同学合租开始了翻墙,也是在那时,我注册了我的 Google 账号,也算是为我之后购买 Pixel 系列手机埋下了伏笔。(强烈推荐阅读 Google Pixel 不完全体验 一文)

  从那之后,我便在翻墙道路上越走越远,学习了很多新技能,使用了很多新工具,这些都是后话了。

一些基础知识#

本段部分内容转载自EdNovas 的小站

什么是 SS/SSR,什么是 V2Ray#

  SS :SS 作者是 clowwindy 。大约四年前,他自己为了翻墙写了 Shadowsocks ,简称 SS 或者影梭,后来他觉得这个东西非常好用,速度快,而且不会被封锁,他就把源码共享在了 github 上,然后就火了。但是后来作者被请去喝茶,删了代码,并且保证不再参与维护更新。现在这个项目已被别的开发者接手并持续维护更新。

  SSR :在 SS 作者被喝茶之后,Github 上出现了一个叫 breakwa11 (破娃) 的帐号,声称 SS 容易被防火墙检测到,所以在混淆和协议方面做了改进,更加不容易被检测到,而且兼容 SS ,改进后的项目叫 Shadowsocks-R,简称 SSR ,然后 SS 用户和 SSR 用户自然分成了两个派别,互相撕逼,直到破娃被人肉出来,无奈之下删除了 SSR 的代码,并且解散了所有相关群组。

  SS 和 SSR 它的原理都是一样的,就是 Socks5 代理。Socks 代理只是简单的传递数据包,而不必关心是何种协议,所以 Socks 代理比其他应用层代理要快的多。Socks5 代理是把你的网络数据请求通过一条连接你和代理服务器之间的通道,由服务器转发到目的地,这个过程中你是没有通过一条专用通道的,只是数据包的发出,然后被代理服务器收到,整个过程并没有额外的处理。通俗的说,现在你有一个代理服务器在香港,比如你现在想要访问 Google ,你的电脑发出请求,流量通过 Socks5 连接发到你在香港的服务器上,然后再由你在香港的服务器去访问 Google ,再把访问结果传回你的电脑,这样就实现了翻墙。

VPN 和 SS/SSR 的区别和优缺点#

  通过上面的介绍,其实基本已经能看出 VPN 和 SS/SSR 的区别了,那么他们到底孰优孰劣。

  因为 VPN 是走的专用通道,它是用来给企业传输加密数据用的,所以 VPN 的流量特征很明显,防火墙可以直接分析你的流量,如果特征匹配,直接封掉。至于封不封,在什么程度上封禁,随缘。(就像不见得所有罪犯都在监狱里呆着一样。)目前就翻墙用途的 VPN 来说,PPTP 类型的 VPN 基本死的差不多了,L2TP 大部分地区干扰严重,很不稳定。

  SS/SSR 的目的就是用来翻墙的,而 VPN 的目的是用来加密企业数据的,对于 VPN 来说安全是第一位的,而对于 SS/SSR 来说穿透防火墙是第一位,抗干扰性强,而且对流量做了混淆,所以流量在通过防火墙的时候,基本上都被识别为普通流量,也就是说你翻墙了,但是政府是基本检测不到你在翻墙的。(不过防火墙也是在不断升级的,识别能力肯定也是在提高的。不过截至目前还是正常可用的。)两者的出发点和着重点就不同,SS/SSR 更注重流量的混淆加密。如果要安全匿名上网,可以用 VPN+Tor 或者 SS/SSR+Tor。

  而安全性方面还要补充的一点就是,国内的 VPN 服务商,政府是很容易拿到他们的服务器日志的,如果他们真的这样做了,你翻墙做了什么,一览无余。

什么是 “机场”#

  其实这个很好解释,我们常用的 SS/SSR 客户端很多都采用类似于纸飞机的图标。所以我们有时也把这类软件和它们的衍生版叫做小飞机。这些软件都会使用到节点,也就是线路。可以把它们当作可以自定义线路的高级 VPN ,但它们确实不是 VPN 。而机场则可以认为是节点服务的提供商。

本土 IP (原生 IP)& 国际 IP (广播 IP)#

  由当地 ISP 运营商提供的本地原生 IP, 100% 本土归属地,价格相对较高,可以被限制区域的服务或游戏所认可。不是当地归属的 IP,通过广播手段,将其他国际区域的 IP 分配到可用区所在地,价格亲民,和当地 IP 一致的网络体验。原生 IP 就是指该 IP 的注册地址和服务器机房所在的国家一致的 IP,反之,非原生 IP 就是指 IP 的注册地址与服务器机房所在地不一致的 IP,也就是常说的这个 IP 是被广播过去的。

  Netflix、Spotify 等网站对 IP 要求较高(需要原生 IP),在购买机场服务时请注意选择。

一些实现科学上网的软件及其用法#

一些准备及注意事项#

  ⭕本篇文章主要讲述在 Android 端与 Windows 端的使用方法,MacOS、iOS 以及 Linux 等系统请自行摸索学习。(手头只有 Android 和 Windows 设备的屑

  ⭕SSR 软件使用方法类似与 V2Ray,Surfboard 软件使用方法类似于 Clash,本文主要讲述 V2Ray 系列和 Clash 系列软件使用方法,其余不再赘述。

  ⭕在使用软件之前请确保您已经至少拥有了一个机场订阅链接。

  ⭕如果您看不懂我的教程,请您自行摸索或访问V2ray 图形客户端使用教程

  ⭕两个免费机场推荐 **(注意:使用免费机场速度和安全性可能无法得到保障)**

   1. 来自Github-Freefq的公益计划

   2.iKuuu机场,每月免费 50G 流量,每日签到可获得更多流量。

V2RayNG-Android#

  1️⃣从Github或~~Google Play~~ 下载 V2Ray 软件安装包。不推荐从其他地方安装,以免下载到旧版本的软件或者产生不必要的风险。

  2️⃣点击软件左上角 “≡” 标志,点击 “订阅设置”,再点击右上角 “+” 标志,添加机场中的订阅地址,添加完成后点击 “√” 保存。

  3️⃣返回软件主界面,点击右上角 “⋮” 标志,点击 “更新订阅”,等待刷新后节点出现即可。

  4️⃣再次点击右上角 “⋮” 标志,点击 “测试全部配置真连接” 以测试节点延迟。绿色 “×××ms” 代表该节点的延迟,红色 “-1ms” 代表该节点当前不可用。

  5️⃣选择节点,开始使用。

V2RayN-Windows#

  1️⃣从Github下载 V2Ray-Core 核心程序,并解压到任意目录。

  2️⃣从Github下载 V2RayN 图形化界面,并解压到核心程序所在目录。

  3️⃣点击 V2RayN.exe 运行。

  4️⃣点击 v2rayN 最上方菜单栏的 “订阅”-“订阅设置”-“添加”,在备注以及地址栏填上相应的内容后确定。

  5️⃣回到程序主界面,再次点击 “订阅”-“更新订阅”。

  6️⃣按下 “Ctrl”+“A” 键选中所有节点,右键点击 “测试服务器真连接延迟” 以测试节点延迟。

  7️⃣自行选择节点,右键点击 “设为活动服务器”。

  8️⃣在桌面右下角任务栏找到 v2rayN 的图标右键 - 选择 “启用 Http 代理”,再次对桌面右下角任务 v2rayN 的图标右键 - 展开 “Http 代理模式”- 选择 “开启 Http 代理,并自动配置代理服务器(全局模式)”。

Clash-Android#

  1️⃣从Github或~~Google Play~~ 下载 Clash 软件安装包。

  2️⃣点击机场网站内的 “一键导入 Clash” 按钮或者点击 Clash 中的 “配置” 按钮自行导入订阅链接。点击右上角的🔁标志更新订阅链接。

  3️⃣返回主界面,点击 “点此启动” 按钮,点击 “代理”。点击右上角⚡按钮测试延迟。“×××ms” 代表该节点延迟,“timeout” 显示该节点连接超时,不可用。

  4️⃣选择节点,开始使用。

Clash-Windows#

  1️⃣从Github下载软件安装包并安装。

  2️⃣点击机场网站内的 “一键导入 Clash” 按钮或者点击 Clash 中的 “配置” 按钮自行导入订阅链接。点击配置后的🔁标志更新订阅链接。

  3️⃣点击 “代理”,点击右上角的 “WiFi” 按钮测试节点延迟。“×××ms” 代表该节点延迟,“timeout” 显示该节点连接超时,不可用。

  4️⃣选择节点,点击左侧 “通用”,将 “系统代理” 后开关打开即可使用。

软件进阶用法及问题解答#

进阶用法#

  V2Ray、Clash 客户端均支持对加密节点进行优化、绕过大陆局域网地址、分应用代理、显示速度、流量探测、日志记录等功能,请自行摸索。

一些问题解答#

  此处仅针对我遇到过的问题进行解答,如果这篇文章无法解决你遇到的问题,Google PLZ。在进行疑难解答之前,请确保您的基础设置都与上文提到的设置相同,并且曾经成功使用过节点服务。

  ⭕V2Ray.exe 已停止工作

​ 在 Windows7 系统上运行 V2Ray 时可能会出现 “V2Ray.exe 已停止工作” 的提示,下载NET Framework4.7.2即可。

  ⭕V2RayN 显示 “节点更新失败”

  在桌面右下角任务栏找到 v2rayN 的图标右键 -“HTTP 代理”-“关闭 HTTP 代理” 并尝试重新更新节点。

  ⭕Windows 关闭软件后访问网站显示代理错误(以 Windows10 为例)

  打开 “设置”-“网络和 Internet”-“代理”,关闭 “使用代理服务器” 按钮。

  ⭕启动 V2RayN 时弹出 Privoxy Error Fatal Error: can't bind to 0.0.0.0:1081:(error number 0)

   这篇知乎文章分析的很到位。

  ⭕报错 "bind: An attempt was made to access a socket in a way forbidden by its access permissions."

  可能为最近的更新增强了端口上的安全策略。打开控制面板 - 防火墙 - 高级设置 - 出站规则 - 新建 - 端口,增加 udp 和 tcp 的所有端口,允许连接。重启电脑。

  ⭕其他种种问题

  重启软件,重启电脑,上网搜索,卸载重装。(16 字箴言

自己搭建 V2Ray 服务#

  首先你得有台属于自己的服务器,并且使用的是 Debian、Ubuntu 或者 CentOS 系统。

  1)安装 Curl 依赖包,在 Ubuntu/Debian 上执行命令:

  apt-get update -y && apt-get install curl -y

   安装 Curl 依赖包,在 Ubuntu/Debian 上执行命令:

  yum update -y && yum install curl -y

  2)安装 V2Ray 一键安装脚本,执行命令如下:

  bash <(curl -s -L https://git.io/v2ray.sh)

  无脑一直按 “Enter” 键安装即可。

  安装完成后输入命令:v2ray即可进行管理。

  如果使用的是 CentOS 系统,在搭建 V2Ray 服务器时,需要手动放行端口,命令如下:

查看已放行的端口:firewall-cmd --list-ports
放行服务器端口:firewall-cmd --zone=public --add-port=1688/tcp --permanent
关闭服务器端口:firewall-cmd --zone=public --remove-port=1688/tcp --permanent
重启防火墙:firewall-cmd --reload

后话#

  引用一篇知乎文章的一段话:

  墙里墙外,城外的人想冲进去,城里的人想逃出来。   如果你没有什么必要的需求,不翻墙所有合法的活动都能开展,所有你想知道的信息都可以被找到,只不过可能没有那么方便。例如,国内的某度浏览器经常充斥着垃圾与广告,信息搜索能力实属无法置评,但也不是不能使用。
  倘若你对新闻、政治、最新科技等很感兴趣,那么墙外的世界有更多的选择与可能。 你可以去跟牛校的顶尖教授一起学习、探讨;你可以找到全世界跟你拥有同样爱好的人一起交流,感受文化差异的冲击与快感;你也可以潜入普通百姓的文字之中,感受新闻媒体背后人们的真实语言与表达。当然,这里面一定会充斥着各种各样的问题与挑战,但总而言之,你会有选择,会有更多的选择,同时也会有更多自己的思考。

We Choose To Go To The Moon.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.