1
DreaMQ 2013-11-25 19:56:22 +08:00 via Android
Openvpn不是早被和谐了么,这个能避免被墙吗
|
2
coolypf OP @DreaMQ 在客户端,可以以 listen 方式启动我的程序,服务器端 connect 回国内,这样建立连接。
GFW 是否有针对性措施还不清楚,我目前用的 IPv6 ,这个程序主要起加速作用。 |
3
est 2013-11-25 20:29:07 +08:00
tcp over tcp注定没前途的噶。。
|
4
coolypf OP @est 设置 TCP_NODELAY 选项优化延时,使用我这个程序提升速率就可以了。
我这里不知道为什么 OpenVPN 没法通过 UPD/IPv6 连接, UDP/IPv4 没问题,通过 UDP/IPv6 的 DNS 也没问题,很奇怪。 |
5
coolypf OP 目前,基于该程序的 OpenVPN 连接已经稳定运行 1 小时 55 分,发送 20928410 字节,接收 145074943 字节。
客户端 CERNET ,服务器 BurstNET VPS , IPv6 连接。 |
7
coolypf OP @DreaMQ 我这个程序建立连接之后会关闭监听的 socket ,只保留用于分流的 TCP 连接,不知道会不会好点。
现在不方便测试 IPv4 。 |
8
hadoop 2013-11-25 23:49:19 +08:00 1
原来是ypf大神!失敬
|
10
javaluo 2013-11-25 23:53:02 +08:00 via Android
赞一个
|
13
coolypf OP @DreaMQ 我这个程序要混淆/加密流量相当容易,改改 Poco::BasicFIFOBuffer 就行了。
其实,更改分流的连接数量,对 GFW 来说特征就完全不同了。 只要 GFW 不改成白名单制,应对起来难度都不会太大。 |
14
holmesabc 2013-11-26 09:12:31 +08:00
不知道原理是不是和迅雷的多线程下载类似啊
|
18
est 2013-11-26 16:43:41 +08:00
@hadoop 和nodelay无关。你用tcp去封装别人的tcp可以,但是mss和一些流控技术是没法便宜得到的。
http://sites.inka.de/~W1011/devel/tcp-tcp.html |
19
est 2013-11-26 17:01:41 +08:00
LZ其实思路很牛逼了。不过我觉得MPTCP加上自定定制一个parity算法可能效果更好。当年中二的时候也有个类似idea https://groups.google.com/forum/#!topic/pongba/8sLMVXGYQqE
|
20
coolypf OP @est MPTCP 目前只有 iOS 7 上在用吧。
我这个程序稍加修改,配合 socat 之类的工具,就能像下面这样用,相当于把原来的一个 TCP 连接分流成 1 个直接连接和 3 个间接连接。 client <----------------> server | <-------> relay1 --------> | | <-------> relay2 --------> | | <-------> relay3 --------> | |
23
est 2013-11-26 20:05:23 +08:00
@coolypf 对。加上parity就可以实现2+1=3个连接,其中1个做冗余。3个中断掉任意一个都可以不影响数据传输(类似RAID2)
|
25
catofes 2013-12-13 01:29:24 +08:00
好赞~ TCP分包拼包程序我学长写过一份:https://npmjs.org/package/mtcp 不过我觉得c++更好。
IPV6的udp openvpn应该是不麻烦的。我的配置文件: server: local 2001:470:f04:e0::1 port 555 proto udp6 dev tun ca /root/openvpn/keys/ca.crt cert /root/openvpn/keys/server.crt key /root/openvpn/keys/server.key dh /root/openvpn/keys/dh1024.pem server 10.8.1.0 255.255.255.0 client-to-client keepalive 10 120 comp-lzo persist-key persist-tun plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn client-cert-not-required username-as-common-name status /root/openvpn/logs/status6.log log-append /root/openvpn/logs/udp6.log verb 3 mute 5 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 4.2.2.1" push "dhcp-option DNS 4.2.2.2" --script-security 3 system client-connect /root/openvpn/connect.sh client-disconnect /root/openvpn/disconnect.sh client: client dev tun proto udp6 remote 2001:470:1f04:d39::2 555 resolv-retry infinite nobind persist-key persist-tun ca ca.crt auth-user-pass rcvbuf 65536 mssfix 1432 comp-lzo verb 3 redirect-gateway def1 script-security 2 system up update-resolv-conf down update-resolv-conf 以及openvpn over ipv6 udp 速度:http://www.speedtest.net/my-result/3161185703 一样的burst.net 的服务器 期待能有udp的分包版本 |