Create 2022-01-16-wssocks.md

master
Mayx 3 years ago committed by GitHub
parent 1d1dd891d9
commit fc224de87c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,53 @@
---
layout: post
title: wssocks的简单评测
tags: [wssocks, 代理, 评测]
---
一堆花里胡哨的梯子会不会是障眼法?<!--more-->
# 起因
最近我手头能用的梯子真的是越来越少了,除了防火墙越来越高的原因之外,也可能和大家对专业机场的信任导致免费的梯子越来越少了 ~~毕竟我在网络上只用免费的东西lol~~ 。所以我想着应该用手头的资源赶紧整点梯子用,不然以后可能就真连不上国际互联网了。
对于怎么搭梯子,我以前也有很多经验,像我之前也发过[网络任意互联指南](/2021/05/07/ssh.html)以及[不依赖代理连被Ban网站的方法](/2019/04/27/antiban.html)之类的文章不过在我实际运用的时候还是会发现有些问题比如之前我用SSH隧道确实很好用手机上也能找到可以连接的软件要说问题确实也没啥问题只是感觉速度不太行其实我个人觉得SSH隧道挺好用的不过我目前手头没有合适的直连的主机所以不太方便用。
其实我也是想多做一些测试想多试试看怎么样可以避免被防火墙检测另外就是我一般都是做IP已经被Ban的假设主要是不太希望IP暴露可以参考[这篇](/2021/04/18/hide.html)文章所以会想着用比如说Cloudflare的办法。所以会考虑这个代理软件应该支持TLS+Websocket。目前我看比较主流支持这个方案的基本上就是[v2ray](https://github.com/v2fly/v2ray-core)或者是[Trojan-Go](https://github.com/p4gefau1t/trojan-go)之类的……不过我想如果说我直接用TLS+Websocket+socks5那不是啥问题都解决了嘛毕竟目前来说无论啥隧道都不如TLS稳当。一开始我想着是自己用Python写一个不过考虑到还是别重复造轮子了就上网搜了一下结果还真有人写了一个就是今天要讲的[wssocks](https://github.com/genshen/wssocks)。
# 使用评测
## 配置
其实这个软件主要吸引我的除了很符合我想要的TLS+Websocket+socks5之外主要是配置简单参数少看起来舒服现在那些乱七八糟的代理软件搞一大堆乱七八糟的功能看半天不知道哪个是干啥的还有就是那个什么原创协议比如vmess我是真搞不明白那原创协议到底有啥用配置也复杂整那么复杂也不过是增加了容易被检测的特征。而且最主要的是无论啥协议最终到客户端不还得用Socks5或者是http代理不如一开始就整Socks5多方便。
wssocks的使用非常简单服务端的话我用的是以下命令
```
./wssocks-linux-amd64 server --addr :10000 --auth --auth_key <YOUR_CONNECTION_KEY> --ws_base_path <YOUR_BASE_PATH>
```
为了方便使用Cloudflare其实主要是我这服务器还有别的网站所以配置了一下Nginx参见[wssocks#11](https://github.com/genshen/wssocks/issues/11#issuecomment-669324542)
```
server {
listen 0.0.0.0:443 ssl;
listen [::]:443 ssl;
server_name proxy.example.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / {
client_max_body_size 1024m;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1; # wssocks v0.5.0 require HTTP 1.1 at least
proxy_pass http://127.0.0.1:10000;
}
}
```
设置好Cloudflare解析之后客户端用以下命令连接
```
wssocks-windows-amd64.exe client --addr :10808 --remote wss://proxy.example.com/<YOUR_BASE_PATH>/ --key <YOUR_CONNECTION_KEY>
```
然后就可以用Socks5客户端连接代理并上网了配置真的是很简单也不用那些不太靠谱的一键脚本。另外它也支持HTTP代理这样就算没有Socks5客户端也可以用系统代理倒是挺方便的。不过我因为用的Proxifier所以不用HTTP代理另外我也非常不推荐大家用系统代理因为有的时候有些网站会利用WebRTC协议绕过系统代理获得用户的真实IP当然如果说用梯子单纯只是想上个外网那当我没说毕竟那种人就是直接开着PAC就没打算隐藏自己的IP。
## 效果
我设置了Cloudflare解析之后试着连接了一下连确实能连上网页也勉强能打得开但就是速度极其的慢可能还不到1Mbps的样子而且时不时会丢包。我寻思这个方案按理来说应该是不可能被检测啊难不成Cloudflare一检测到长连接就会被干吗我实在是搞不清另外我也试了试不通过Cloudflare直接走公网IP的效果这个倒是还行和v2ray的速度差不多看来还是线路的问题。
# 感想
我用wssocks其实也只是想验证我的一些想法像HTTPS和SSH都是非常常见的协议防火长城不可能在包着一层加密的情况下猜里面走的到底是不是正常的流量我觉得这种事情不难想象吧但是目前用来反检测的代理软件我也不知道他们想干嘛就喜欢整一堆原创协议不知道是想证明什么而且配置也很复杂一堆乱七八糟的配置一般人能用到哪些所以我才怀疑会不会是有人刻意通过设计这堆莫名其妙的东西提高制作代理的成本而且偷偷整点特征就是为了多Ban一些IP这个我是真的不太能理解……
当然也不是说那些代理软件毫无意义这个wssocks性能上还是有点问题我打算回头有时间再试试Trojan-Go。
不过在这次实验看来用什么协议还是什么软件其实不怎么重要这些乱七八糟的软件也就是我们这些自己租的国外主机拿来玩玩真正的机场还是专业都是各种各样的神奇线路像CN2 GIA都是过时的东西现在都流行的是什么IPLC直接就整一个物理上的私有线路那种高级东西我们这种人确实整不来而且自己一个人用也太贵了机场都是通过租给一堆人用来平摊成本的毕竟这种就是边际成本很低的东西也只有机场能搞。
看来,在连接国际网络的路上,除了技术问题,还要警惕可能存在的社工专家。
Loading…
Cancel
Save