视频教程

视频文档

x-ui

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

gost-v3

项目地址:https://github.com/go-gost/gost

官方文档:https://gost.run

端口转发

x-ui启用端口转发:创建 dokodemo-door

gost启用端口转发:./gost -L tcp://:9527/落地机ip:80

二级代理

参考:https://youtu.be/Vj4TGd9IaQc

隧道中转

方式1:

中转机:./gost -L tcp://:9527 -F relay+tls://1.1.1.1:8443

落地机:./gost -L relay+tls://:8443/:80

方式2:

中转机:./gost -L tcp://:9527/1.1.1.1:80 -F relay+tls://1.1.1.1:8443

落地机:./gost -L relay+tls://:8443

后台运行:

nohup 运行指令 > gost.log 2>&1 &

链式代理

clash:

  - name: "链式代理"
   type: relay
   proxies:
      - proxy1
      - proxy2
      - proxy3

v2ray代理链https://toutyrater.github.io/advanced/outboundproxy.html
gost代理链https://gost.run/concepts/chain/

视频文稿(忽略)

加上隧道中来后我只是鸡肋简直就是鸡肋
Hello大家好我是不良林欢迎来到我的频道
早在节点搭建系列第七节
我就讲过了中转的原理以及为什么我们需要中转
但也只是简单的讲解了一些原理没有具体的操作
因为我觉得个人用户的话基本上他是用不到中转的
只有机场主才需要通过中转来提速
一直到现在都时不时的有朋友提起让我出中转的教程
需求也是五花八门
才发现原来个人用户也是有中转的需求
所以本期就来教大家使用各种中转方式
保证是全网最全的
总有一种适合你希望不要错过
另外本期也算是节点搭建系列的番外篇了
会包含很多在节点搭建系列教程中涉及到的知识点
之前讲过的内容这里就不会再浪费大家的时间了
所以如果本期教程有些内容不是很明白的话
建议先看一下节点搭建系列教程
当然如果你是不关心原理的新手小白的话
也是可以跟着教程手把手搭建起来的
教程非常详细
搭建也非常简单
同时也希望大家能多多点赞支持
并且完整的观看视频
你的完播率会让更多人看到这个视频
让我也知道其实很多人对这种内容是感兴趣的
因为这种教程有点枯燥观看量总是上不去
制作起来也比较费劲
希望大家能给我一些更新这类教程的动力
再次感谢大家的支持
先来简单介绍一下中转的原理
正常情况下我们是通过将数据发送给节点服务器
节点再将数据转交给目标网站实现科学上网的
而在中转的情况下
我们是先将数据发送给第一个节点服务器
该服务器再将数据发送给第二个节点服务器
这个服务器再将数据转交给目标网站这就是中转
中转也不是限制一层
你愿意的话可以加无数层
我们将最后帮我们转交数据给目标网站的服务器称为落地机
负责中转数据的称之为中转机
用中转的目的无外乎就一种情况
就是用来提升我们的上网速度
比如第二个节点国内直连速度太拉跨
而第一个节点速度很好
并且第一个节点和第二个节点之间直连速度也很好
此时用中转是最合适的
有的朋友可能有一个疑问我第一个节点速度很好了
那我就直接使用第一个节点进行科学上网就行了
为什么非要将数据转交给第二个节点呢
原因是第一个节点可能是国内的服务器无法直接翻墙
还有另一种情况就是需要进行一些特殊的业务
比如运营tiktok
跨境电商解锁流媒体等
而第一个节点虽然速度快
但是它的ip不支持以上业务
第二个节点的ip是纯净的原生住宅ip
但是速度很慢
这种情况也是使用中转的好时机
也是大部分个人用户的需求
首先介绍第一种最简单也是最实用的中转方法
端口转发
假设我在落地机的80端口搭建了一个vmess节点客户端
通过vmess协议连接节点服务器进行科学上网
此时我们加入一台中转机
将其配置为9527端口
收到的任何数据都直接转发给落地机的80端口
此时客户端需要将vmess数据发送给中转机的9527端口
中转机收到数据后
他不管收到的数据是什么内容
直接将其转发给落地机的80端口
落地机收到vmess数据后再进行解密
并帮我们访问目标网站
所以端口转发的话他是只负责转发
中转机收到的任何数据都会原封不动的发给落地机
接下来搭建端口转发服务
我这边准备了两台vps做实验
一台是新加坡的当中转机用一台是日本的当落地机
首先搭建落地机的节点
使用这条指定安装xui
这些用到的资料我会放在视频下方的说明栏
同样在新加坡的中转机上安装xui面板
关于xui的话我在之前的教程中都已经提到过很多次了
安装的话非常简单这边的话就直接快进跳过
使用默认的端口54321访问面板
输入默认的账号密码admin进行登录
我这边就随便创建一个vmess+ws的节点
为了好记我将端口改成80
之后将其复制到客户端进行使用
先来测一下速度
有速度说明节点可以正常访问
目前的话还没有引入中转机
也就是说我们直连了日本的这个节点
接着我们引入中转机
首先介绍使用xui的方式进行端口转发
同样在新加坡的中转机上安装xui面板
安装完成后登录面板
添加一个节点
协议选择dokodemo-door
中文名译为任意门
就哆啦a梦的那个任意门也非常的形象
这里需要我们填写目标地址和目标端口
把日本落地机的ip填进去就可以了
端口填写vmess使用的端口也就是80
并且把中转机的接收端口设置为9527
这样配置之后
中转机的9527收到的任何数据都会
直接转交给落地机的80端口了确
认没问题后点击添加
此时我们需要修改之前的节点信息
复制一条出来
将地址改成中转机的地址
端口改为中转机的9527
再给他起个名字方便区分
其他信息全都不需要修改
点击确定修改好之后就可以来尝试测速了
有速度说明可以正常使用可以来进一步验证
选中节点进行连接
查询一下落地ip
可以看到落地ip是日本的节点
但实际上我们连接了新加坡的中转机
中转机再帮我们把数据交给落地机
这就是端口转发
使用我们非常熟悉的xui
非常简单就可以搭建了
第二种方法就是我们之前讲解奈飞解锁的时候介绍过的二级代理
原理之前也详细介绍过了
这里再来简单补充一下
首先在落地机上搭建了vmess节点
中转机上搭建了ss节点
并且设置了分流规则
如果访问的是奈飞
那就通过vmess协议将数据转发给落地机
客户端连接了中转机的ss节点
在正常的上网情况下
都是通过中转机进行科学上网
但是如果你访问奈飞
中转机会将你的请求数据通过vmess协议加密发送给落地机
由落地机负责请求奈飞的网站
这种方式的好处是可以非常精确的控制需要中转的数据
如果你的落地机流量比较少
用这种方式非常合适
通过分流控制让它只负责解锁奈飞
这种方式的前提是你的中转机也能科学上网
所以不能使用国内的中转机
除非这台机子分流只用来访问国内网站
虽然叫二级代理
但是你要搭建三级四级五级都是可以的
只是正常情况下二级就够了
层级多了也会影响效率
搭建方式也是使用xui
这里就不再浪费时间演示了
如果有需求的话可以回看奈飞解锁那期视频
有非常详细的搭建教程
第三种是隧道中转
听名字感觉很高端很霸气
其实对个人用户来讲这种是最没用的
甚至非常鸡肋何止是鸡肋简直就是鸡肋
简单来讲隧道就是在一种协议里面传输另一种协议的数据
常见的代理协议基本都能称之为隧道
因为他们都能承载其他协议的数据
比如VPN隧道
HTTP隧道SOCKS隧道TLS隧道SSH隧道
我们所说的隧道中转一般是只通过TLS隧道进行中转
那位vmess和ss算不算隧道呢
从行为来看他其实和隧道并没有什么区别
都是对传输数据的再封装和再加密
但严格来讲并不算
因为他们一开始就直接发送加密数据
没有握手建立隧道的过程
知道了隧道的概念后我们就来看看隧道中转的工作流程
加上隧道中转后
我们的数据首先发给中转机
中转机收到数据后和端口转发一样
他不管收到的是什么数据
直接将你的数据原封不动的转发给TLS隧道的入口
隧道入口一般在同一台中转机上
然后和你的落地机建立TLS隧道
再将数据封装成TLS
通过这条隧道将数据发送给落地机
落地机拿到数据后再解封装
这样就获得了客户端原始的vmess数据
再将vmess数据转交给本机的vmess处理
当然你也可以将vmess数据转交给其他落地机去处理
这就是隧道中转的工作流程
这种的应用场景非常有限
我们之间用户在搭建节点的时候直接把TLS加上就行了
没必要再经过TLS隧道
唯一的好处是可以搭建客户端不支持的冷门隧道以减少特征
并且隧道仅适合国内中转机转国外落地机
国外转国外更没有必要
数据都过墙了再搭隧道就没有意义了
一般是提供端口转发服务的商家才会使用
关于隧道中转本来只是想给大家讲讲流程
因为对个人用户来讲真的没必要也不推荐
但是为了给大家介绍一个更专业的流量转发工具gost
这里还是带大家来操作一下
如果你只是想简单的实现端口转发和二级代理
那么使用xui就可以了
有图形化界面更直观也更方便
如果想有更多的玩法
那么就需要用到我们下面介绍的gost
gost是一个开源的网络代理工具
类似v2ray但是侧重点不一样
gost主要用来流量转发
支持的代理转发组合非常丰富
可以非常方便的实现隧道中转和代理链
当然端口转发更是不在话下
接着就来带大家使用gost搭建隧道中转
首先进入gost项目地址下载gost
点击Releases
目前gost更新到了第三版
相较于第二版有非常大的更新
有些功能相互不兼容
虽然第三版还没有发布正式版本
不过目前已经是rc版了
基本不会再有什么变动
小修小补之后就会发布正式版
所以还是以较新的第三版为例
选中自己系统架构对应的软件
我的系统是amd64位
右键复制连接
首先在中转机上下载gost
输入wget加上刚才复制的下载地址
回车进行下载
下载完成后使用gzip-d进行解压
可以看到释放了gost的主程序
但是这个颜色说明并没有可执行权限
输入chmod+x赋予可执行权限
这时可以看到颜色变成绿色的可执行文件
为了方便可以使用mv指令将名称改为gost
先来试试端口转发非常简单
只需要执行这条指令即可
由于9527端口已经被xui搭建的任意门占用了
所以我这里改成9528
目标主机改成落地机的ip地址
这条指令的意思是将9528端口
收到的任何数据都转发给落地机的80端口
复制指令到中转机上去执行
此时就开启了端口转发服务
来测试一下
复制一个节点出来
标识一下是通过gost中转的
端口改成9528
其他数据都不需要动
接着尝试进行测速
可以看到是没有问题的
接着来搭建隧道中转
首先可以先把中转机的任意门关掉
取消9527端口的占用
竟然要建立隧道
那么就需要有隧道的入口和隧道的出口
隧道入口一般是搭建在中转机上
隧道出口一般是搭建在落地机上
所以落地机也需要安装gost来搭建隧道出口
安装方法和中转机一样
我这里就快进跳过
接着先在落地机搭建好隧道的出口
执行的方式有两种效果都是一样的
这条指令的意思是将8443(口误)端口收到的数据
经过relay+TLS的方式解封装后
再转交给80端口搭建的vmess节点
非常简单的一条指令隧道的出口就已经做好了
接着在中转机搭建隧道的入口
这条指令的意思是将本机9527端口收到的任何数据
通过relay+TLS的方式将数据进行封装
然后发送给落地机的8443(口误)端口
这里需要将ip改为落地机
复制指令到中转机上执行
这样我们这条relay+TLS的隧道就搭建好了
中转机收到vmess的数据后
会用relay+TLS的方式进行封装并发送给落地机
落地机会用relay+tls的方式对数据进行解封装
并发送给vmess节点
尝试进行测速
可以正常使用
你也可以参考官方文档搭建愿意组合的隧道方式
比如说socks+ws
或者http+wss
你也可以使用第二种方式
意思是中转机的9527端口收到数据后
通过relay+TLS的隧道将数据转发给落地机的80端口
这样落地机只需要搭建好隧道出口就行了
不用设置转发数据
我这里就不浪费时间演示了效果是一样的
我这里的这种运行gost的方式属于前台运行
当我们关闭终端的时候gost就停止了
所以需要设置为后台运行
将需要运行的gost指令插入到这条指令中
再将这条完整的指令复制到vps上执行
这样就会创建为后台进程
关闭终端并不会结束gost
中转机也是一样的方式
将指令插入到这里在复制完整的指令到vps上执行
这就是gost创建隧道中转的方式
并不觉得你需要它
除非你是提供隧道中转的商家
最后再来讲解一个被很多人忽视的链式代理
这种方式非常灵活
一定是被低估的中转方式
它不需要你一定有中转机
只要有一个节点就行了
假设你有一个vmess节点和一个ss节点
ss节点被墙了
vmess节点可以正常使用
但是你必须使用ss节点的某项特殊的功能
比如解锁奈飞
那要怎么利用vmess节点来救活这个ss节点呢
答案就是链式代理
链式代理gost支持v2ray也支持clash也支持
gost和v2ray对于客户端来讲要使用并不是很方便
这里还是以clash为例
配置了一条vmess转ss节点的链式代理规则
首先浏览器将数据发送给本机的clash
clash拿到数据后
由于我们配置了链式代理
会先使用ss对数据进行加密封装
然后将加密后的数据交给vmess
并要求他把数据转交给ss节点
vmess拿到数据后
再次使用自己的vmess配置对数据进行加密和封装
接着发送给vmess节点
vmess节点收到数据后进行解封装
发现访问目标是ss节点
于是将数据转交给ss节点
ss节点拿到数据后进行解封装
于是就帮我们访问目标网站
这样就成功的利用vmess节点访问被墙的ss节点了
这就是链式代理和二级代理一样
代理链条也可以无限长
除去端口转发这种方式是最简单和灵活的
如果你有很多节点
你可以随意在客户端控制代理链的顺序和长短
并且不需要中转机
接着就来实际演示链式代理的效果
首先我在中转机上随便添加一个ss节点
目前我有两个节点
一个是新加坡的ss节点
另一个是一开始就在日本的落地机上创建好的vmess节点
然后我刚才通过视频剪辑的手法
将这两个节点转换成了clash的配置文件
不知道怎么转换的话可以看上节的视频
复制这段链式代理的配置
将其添加到clash的策略组中
可以在这个地方插入
这里的节点顺序就代表了代理链的顺序
我们本机的数据会交给proxy1
proxy1帮我们访问proxy2
再由proxy2帮我们访问proxy3
复制vmess节点的名称
将其放在第一个
将ss节点放在第二个
如果你还有节点的话就可以继续添加代理
我这里只有两个所以直接将第三个节点删除
接着复制链式代理组的名称
将其添加到主策略中
我这里的主策略是这个节点选择
插入到节点列表里
保存之后就算是配置好了
将其拖入clash中
这里提示我们有错误点击进去修改
注意yaml的配置格式需要严格对齐
可以看到这里多了两个空格
修改好后点击保存
这次就没问题了
来到代理列表
可以看到第一个是链式代理组
我们刚才将这个组添加到了这个节点选择
可以看到vmess节点可以正常使用
而ss节点无法使用
原因我早在节点搭建系列第三节已经讲过
防火墙可以瞬间识别ss协议并将其屏蔽
刚才clash在检测延迟的时候
防火墙已经把ss节点的端口墙了
所以出现了timeout
先将节点切换到链式代理
我们的期望是通过vmess节点访问ss节点
先测试一下延迟
可以正常访问貌似已经生效了
接着来进一步验证打开查询ip的网址
刷新一下页面
可以看到落地ip是ss节点的新加坡
但实际上我们根本就无法直接访问ss节点
而是先连接了日本的vmess节点
再由这个日本的vmess节点帮我们去访问ss的节点
这就是链式代理
实现了通过vmess节点访问被墙的ss节点
最后我们修改一下代理的顺序
尝试使用被墙了的ss节点帮我们访问vmess节点
看看会有什么效果
随便访问一个网站
可以看到是无法正常访问的
ok以上就是本期给大家分享的全部内容了
大部分中转需求通过以上几种方式都能解决
还有一种虚拟网卡的中转方式
有其特定的应用场景
由于时间关系我放在下节介绍住宅ip的时候再讲
那种场景的话使用最合适
感兴趣的朋友记得关注一下
如果本期视频对你有帮助的话麻烦你帮我点个小小的赞吧
关注我的频道我会不定期分享一些好东西
我们下次再见

最后修改:2022 年 11 月 12 日 03 : 00 PM