type
status
date
slug
summary
tags
category
icon
password
前言
首先需要自己的远程服务器,这里的服务器是一台地理位置上物理存在的云服务器,自己可以ssh链接;
然后需要本地服务器和远程服务器,这里的服务器实质上指的是软件,这个软件的功能是,在本地就可以使用加密协议加密数据流量,这样从本地服务器到远程服务器之间的流量就没有特征,就不会被墙;
代理协议本身的功能就是将网络请求从一个地方转发到另一个地方,并将返回的结果转发回原始请求的客户端;
加密算法+代理协议两个功能,就可以做到越过墙访问以前访问不了的服务;
软件是软件,协议是协议;加密算法与协议有很多中,不同的软件只是利用算法和协议实现,具体加密算法原理代理协议种类不细说,总而言之,宏观功能就是做到访问之前访问不了的网站;
自己盖机场肯定不如现成机场划算,以为现成的机场飞机多,而且还有专门的维修人员,自己一个人的话就一个飞机;因此是在自己因为某些需求需要需要拥有一台服务器后,满足了自己的业务学习要修之余,顺便把服务器的冗余资源用起来盖个机场,这种方式是最合理的,所以说到最后还是建议直接花钱买现成的
盖机场
准备工作
首先由有自己的远程云服务器,地理位置在大陆以外;拥有自己的域名,域名绑定服务器ip,且签发证书,相关内容本站搜索关键词可找到;
安装x-ui面板
ssh远程连接自己的服务器,然后执行下面的命令安装3x-ui面板(我的环境:ubuntu22.04,aws,记得服务器控制台打开后面要用的端口号)
输入y,然后随便自己设置一个端口号,8050,8061之类奇形怪状的这样不会和其他服务端口号冲突


然后就安装好了:

通过Access URL,初始账户密码可以直接进入管理面板
常规设置
然后在可以在面板设置—常规—面板url根路径中设置一个自己方便记的路径,再面板设置—安全设定中设置好记的用户名和密码


安装证书
回到ssh服务器连接的终端,输入
x-ui
,依次输入对应SSL Certificate Management
的序号,
Get SSL
对应的序号,在输入自己已经提前准备好的域名


然后一路回车默认即可,这里填y

之后就可以用域名加端口号的形式登陆x-ui管理面板了;之后可以自己通过nginx把端口号也去掉,但是这个网站不是主要访问的网站,这里就不多此一举了,相关内容本站也有
可以看见面板设置的下面部分的证书文件已经自动配置好了

创建节点
x-ui面板中点击:入站列表—添加入站,备注随便写,协议vmess,传输websocket,端口随便写但是记住服务器控制台安全组打开入口,客户—安全打开tls,alpn全部删除,点击从面板设置证书,然后点击添加即可


然后菜单—导出链接即可

这个链接可以直接用在收集的shadowrocket,电脑的v2rayN等软件中
v2ray下载地址,找自己对应的版本即可,软件具体使用很简单,提一嘴tun模式比全局代理跟更加全局,具体内容不放在这里占用篇幅
到此为止完成
扩展内容
3x-ui面板是什么
3X-UI 面板是一款基于 Xray 内核的多协议、多用户可视化管理工具,旨在简化代理服务的配置和管理。其主要功能包括:
- 多协议支持:兼容 VMess、VLESS、Trojan、Shadowsocks 等多种协议,满足不同的代理需求。
- 多用户管理:允许创建和管理多个用户,方便进行权限分配和流量监控。
- 可视化界面:提供直观的 Web 界面,用户无需手动编辑配置文件即可完成复杂的设置。
- 流量统计与限制:实时监控每个用户的流量使用情况,并可设置流量限制,确保资源的合理分配。
- SSL 证书管理:支持一键申请和管理 SSL 证书,提升连接的安全性。
- 高级路由与分流:提供灵活的路由规则设置,实现精细化的流量分流和负载均衡。
- 系统状态监控:实时显示服务器的运行状态,包括 CPU、内存、网络流量等信息,便于及时发现和解决问题。
选择哪种加密协议
哪种加密协议都无所谓,而且现代加密协议基本上不存在被破解的可能,至少不会被轻易破解,墙不会有这种精力的,墙做的只会分析流量特征,而不会专门解密流量;更需要注意的是加密和解密行为是耗费计算机性能,自己选择一个自己能负担的起的加密方式,如果是想要实时观看4k视频,然后自己的服务器和本地
软件大部分是工作在应用层,代理的是应用层的网络流量(即使是全局代理模式,这个模式的意思是软件本身接受到的所有流量都转发到代理服务器),但是有些软件的流量走的是网络层或者传输层,因此飞机根本都不管用;比如
- 视频流应用:像Netflix、YouTube等视频流应用可能会使用专有的协议来处理视频数据流,这些流量可能不会通过普通的HTTP代理或VPN代理传输。尽管这些应用本身基于HTTP,但其视频数据流可以绕过传统的代理方式。
- VoIP应用:Skype、Zoom、WhatsApp等VoIP应用通常会使用UDP协议,这些应用在建立连接时,可能会使用VPN或代理软件,但后续的语音和视频数据流一般会绕过代理进行直接传输。
- P2P应用:如BitTorrent(BT下载)和其他文件共享软件通常使用UDP协议或者特定的端口,这些软件的流量可能不会通过HTTP代理服务器,除非你特别配置了这些应用的代理设置。
- DNS查询:如前所述,DNS请求通常是通过UDP协议进行的,而大多数翻墙软件默认并不代理DNS流量,导致DNS查询可能暴露在本地ISP的网络上,从而绕过翻墙工具。
- 微软商店的很多UWP应用(记得以前b站UWP版本甚至可以不借助任何手段直接看港澳台内容)
归根结底就是软件本身只能处理特定的、常见的网络协议,而对于其他不常见或特殊的协议,它们的支持有限;
当然有的软件比较厉害,可以直接建立一个虚拟网卡(网关模式),所有的流量都会经过物理网卡,那么同理,虚拟网卡(和物理网络桥接模式连接)可以强制接管出口的所有流量,对于那些不遵循系统代理设置的应用程序尤为有效;
V2Ray 的 TUN 模式正是通过创建虚拟网卡(TUN 设备),接管操作系统的所有网络流量,实现全局代理功能。
除了软件,能够无视所有情况,无视所有通讯协议的另一个方法就是,硬件fanqiang(之后简称为fq)即路由器fq,路由器是本地网络接入互联网的最后一个关口且独立于电脑,因此可以无视计算机的所有规则,对于没法fq的设备可以用这个方法,或者说直接那自己的一台不用的电脑当成软路由安装软件比如surge,让其余设备通过这台电脑
节点链接或者机场配置文件里里包含的内容
- 服务器地址(中转服务器的IP或域名)
- 协议类型(例如Shadowsocks、V2Ray、Trojan等)
- 加密方法(如AES-256、Chacha20等)
- 共享密钥(用于加密和解密通信的密钥)
将这些信息导入到客户端软件,软件就会根据这些参数进行配置,并在后台自动处理加密、解密、协议选择等任务。
加密过程
- 共享密钥:在大多数情况下(如Shadowsocks、V2Ray),加密和解密的密钥是通过共享密钥的方式来传递的。配置文件中已经包含的共享密钥。
- 对于Shadowsocks:本地客户端和远程服务器之间共享一个对称密钥(如AES、Chacha20等),这个密钥通常是在你购买服务时提供给你的,或者通过配置文件动态获取。客户端和服务器使用相同的密钥进行数据加密和解密。
- 对于V2Ray:也类似,V2Ray的VMess或VLess协议使用的是对称密钥或动态密钥,这些密钥信息通常被嵌入到配置文件中。V2Ray客户端和服务器之间会进行密钥交换,确保通信的安全。
Vmess + WebSocket + TLS
1. Vmess 协议(应用层加密)
- 作用:Vmess 是 V2Ray 的加密协议,主要用于保护 应用层的数据,如用户访问的网页、文件或其他网络内容。它确保只有授权的用户才能解密和访问这些数据。
- 工作方式:Vmess 协议使用加密算法(如 AES-128-GCM 或 ChaCha20)对数据进行加密,防止在数据传输过程中被窃听或篡改。
- 功能:
- 提供 数据加密,保护用户隐私。
- 身份认证,通过密钥验证通信双方的合法性。
- 灵活的流量管理,支持分流、路由等高级功能。
2. WebSocket 协议(传输层加密通道)
- 作用:WebSocket 是一种用于建立持久双向通信的协议,常用于实时数据传输。在 V2Ray 中,WebSocket 作为一种 传输协议,将加密后的 Vmess 数据封装在 WebSocket 数据帧中进行传输。
- 工作方式:WebSocket 在客户端和服务器之间建立一个持久的连接,数据可以在连接打开后双向传输,无需每次请求都重新建立连接。
- 优势:
- 绕过防火墙:WebSocket 使用标准的 HTTP/HTTPS 协议端口(通常是 443 端口),因此比其他协议更难被检测和屏蔽。
- 保持持久连接,提高传输效率,减少延迟。
3. TLS 加密(传输层加密)
- 作用:TLS 是一种加密协议,工作在 传输层,用于保护 WebSocket 连接本身,确保数据在传输过程中不被窃听或篡改。
- 工作方式:TLS 对客户端与服务器之间的 WebSocket 连接进行加密,保护所有数据传输的安全性。它通过加密数据包内容、防止中间人攻击、保证身份认证等手段保障连接的安全。
- 功能:
- 加密 WebSocket 连接的传输通道,确保数据的安全传输。
- 提供 身份验证,验证服务器的合法性,防止连接到伪造的服务器。
- TLS 使得 V2Ray 流量看起来像是普通的 HTTPS 流量,从而增加了隐蔽性,能够绕过防火墙和审查系统。
Vmess + WebSocket + TLS 的协同工作方式:
- TLS 加密:首先,TLS 在客户端和服务器之间建立一个加密的传输通道(通常通过 WebSocket 使用 443 端口)。这层加密保护了整个 WebSocket 连接的安全性,确保数据在传输过程中的隐私性,防止数据被窃听或篡改。
- WebSocket 协议:WebSocket 用于传输数据,并且通过 TLS 协议提供加密保护。它保证了持久的、低延迟的双向通信,将加密后的 Vmess 数据包在客户端和服务器之间进行有效传输。
- Vmess 协议:最后,Vmess 对传输的数据本身(例如网页、文件、视频流等)进行加密,确保应用层的数据是不可读的,防止被第三方解密或篡改。
- 作者:JIAHE
- 链接:https://blog.jiaheliu.top/Technical-Notes/Build-airport-and-flyplane
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。