This repository has been archived on 2023-11-13. You can view files and clone it, but cannot push or open issues or pull requests.
blog/_posts/2023-01-03-nogfw.md
2023-06-03 15:58:09 +08:00

116 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout : post
title : "Great FireWall? NO!"
subtitle : "自建自用小梯子"
date : 2023-01-03 09:48:23
author : "Manford Fan"
catalog : false
header-img : "img/post-bg-universe.jpg"
tags :
- GFW
---
记得2012年本科的时候研究了一段时间的科学上网那个时候校园网Google还是时断时续。当时用的是gmail作为媒介也就是如果你想科学上网首先你要有一个gmail邮箱。时隔多年再次走到了科学边界恍若昨日。前段时间在闲鱼上买了一个哥伦比亚大学的邮箱可以激活Office365并且附送1T的Onedrive当然服务器在海外速度感人做同步盘是够用的。正是由于同步速度很慢良心卖家附送了一个微软的Azure100location是日本既然有了海外的机器1C1G100Gbps嘿嘿嘿......
> **自建梯子是为了更好地学习,更好地了解这个世界!**
## 一、服务端搭建过程
客户上网的方式很多,关于为什么选择这个,既不是因为这种方法支持了多少种传输方式,客户端支持多平台,也不是其他种种优势,大概可能是因为这种部署方式是我找到的第一种方式,我就顺着这种方法走了下去。简单汇总下,详细步骤可以浏览参考文档。
1. 有一个海外的VPS或者能访问到外网的都可
2. SSH进入VPS
3. 执行如下第一段代码命令让系统支持Google BBR网络拥塞控制算法
4. 执行如下第二段代码命令一键安装V2Ray官方脚本
5. 执行如下第三段代码命令下载config文件模板并修改参数端口/协议等)
6. 控制 V2Ray 的运行的常用命令可参考第四段代码命令
```bash
#===========>Code 1<==============
apt install wget
wget https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/sysctl.conf -O -> /etc/sysctl.conf
sysctl -p
#===========>Code 2<==============
apt-get install -y curl
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
#===========>Code 3<==============
wget https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/v2/config.json -O -> /usr/local/etc/v2ray/config.json
#===========>Code 4<==============
systemctl start/stop/restart/status v2ray.service
```
至此,服务端的配置就完成了。
## 二、客户端使用方法
V2Ray的客户端还是挺多的对于萌新V2RayN和ClashN是非常不错的目前我已知的区别是ClashN可以加速代理很多应用客户端的流量而V2RayN的代理对一些端应用没有生效。
#### 1. V2RayN
从GitHub下载最新版本的[V2RayN安装包](https://github.com/2dust/v2rayN/releases/)解压双击可执行文件之后可以参照如下图例进行设置关键信息是主机IP服务端开启的端口以及IDID和AlterID要和服务器配置相同。
![gfw_v2rayn_setting](/img/posts/gfw_v2rayn_setting.png 'gfw_v2rayn_setting')
#### 2. ClashN
V2RayN的配置不能直接拿来导入到ClashN需要通过[在线工具](https://v2rayse.com/v2ray-clash/)转换一下网络上除了这里推荐的还有很多其他的转换服务。根据如下图示导出Vmess分享URL。
![gfw_v2rayn_vmess](/img/posts/gfw_v2rayn_vmess.png 'gfw_v2rayn_vmess')
然后将剪贴板上的内容复制到在线工具中转换之后的配置文件导入到ClashN切换自动系统代理即可。
![gfw_google](/img/posts/gfw_google.png 'gfw_google')
## 三、终极方案 -- x-ui + vmess + tcp + tls + CDN
这里的终极方案指的是目前的比较好的方案,它是由多个组件或者环节组合构建而成的一条链路或者一种方案:
- x-ui支持多协议多用户的 xray 面板
- vmess一种传输协议类似的还有vlesssstrojansockhttp等
- tcp也是一种传输协议类似的还有wshttpquicgrpckcp等
- tls在各种协议之上配置加密协议
- CDN内容分发网络为了隐藏真实VPS的IP防止被封禁
#### 1. x-ui
Github地址是[https://dash.cloudflare.com/](https://dash.cloudflare.com/)上面讲的很清楚了作者因为各种小白问题issue都关闭了哈哈哈。安装提供了几种方式最简单的是直接使用意见安装脚本
```bash
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
```
#### 2. 配置域名证书
第一步做完之后,可以使用**http://IP:PORT**的方式登录面板,但会提示不安全,情况允许的话,还是要配置一个域名以及对应的证书,倒不必向`x-ui`repo中介绍的那样用他的功能自己也可以随意配置其实就两步第一将域名解析到VPS的IP上第二步获取域名证书放在VPS某一目录下并将其公私钥路径填写至对应位置即可。
![gfw_x_ui](/img/posts/gfw_x_ui.png 'gfw_x_ui')
#### 3. 配置CDN加速
做完前两步已经可以顺利进行科学上网了但是GFW有可能会根据流量特征来封禁相关的IP访问一旦被封禁没有解封之前这台VPS算是废了。为了避免这样的情况网友们各显神通比较简单且常见的一种方式就是套上一层CDN最典型的就是[Cloudfare](https://www.cloudflare.com/zh-cn/)它提供免费套餐的CDN业务也正是因此目前GFW对其IP段做了劣化处理访问效果并不是很好甚至不能访问了不过仍不失一种解决方案。具体的操作步骤可以参考[这个视频](https://www.youtube.com/watch?v=AHnoF5FyFy8&t=593s)。
针对套上Cloudfare的CDN之后效果变差的问题网友们又发挥了主观能动性制作出了[CloudflareSpeedTest](https://github.com/XIU2/CloudflareSpeedTest)它可以实时随机探测Cloudfare的节点IP并对其时延和下载速率做排序这样可以拿到本地区效果最好的IP然后配置
![gfw_cdn](/img/posts/gfw_cdn.png 'gfw_cdn')
> **需要明确,科学上网是违法行为,但以正当合理需求为目的的科学上网,比如为了更好的学习,是不会被监管部门关注并处罚的。不主动教授他人部署实践,不扩散传播政治敏感话题,不从中获利,只是个人搭建,用作查阅资料,获取信息,是比较安全的**
## 参考文档
- [自建V2ray服务器简明教程](https://github.com/bannedbook/fanqiang/blob/master/v2ss/%E8%87%AA%E5%BB%BAV2ray%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B.md)
- [V2RayNG Client](https://github.com/2dust/v2rayNG)
- [ClashN Client](https://github.com/2dust/clashN)
- [v2ray转换clash工具](https://v2rayse.com/v2ray-clash/)
- [x-ui Github](https://github.com/vaxilu/x-ui)
- [CloudflareSpeedTest](https://github.com/XIU2/CloudflareSpeedTest)
- [Cloudflare](https://www.cloudflare.com/zh-cn/)