tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangyucn
V2EX    宽带症候群

tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

  wangyucn 2017-10-29 11:03:16 +08:00 33342 次点击
这是一个创建于 2904 天前的主题,其中的信息可能已经有所发展或是发生改变。

tinyFecVРN,集成了 UDPspeeer 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

image

之前发的 UDPspeeder 加速全流量比较麻烦(需要配合 OpenVРN),现在我把 UDPspeeder 的功能做成 VРN 了,一个程序就可以加速全流量,使用起来更简单。

链接

repo: https://github.com/wangyu-/tinyFecVPN

中文主页: https://github.com/wangyu-/tinyFecVPN/blob/master/doc/README.zh-cn.md

编译好的 binary 下载: https://github.com/wangyu-/tinyFecVPN/releases

使用说明

只要两行命令:

# 在 server 端运行: ./tinyvpn -s -l0.0.0.0:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0 # 在 client 端运行: ./tinyvpn -c r44.55.66.77:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0 

然后在 client 端ping 10.22.22.1,直接就可以 ping 通了。用 10.22.22.1 就可以直接访问到 server 上的所有服务了,所有经过 tinyFecVРN 的来回的流量都会被加速。

效果

image

image (借用了 UDPspeeder 的图)

其他

目前在 release 版的代码里故意引入了一点限制,只可以当加速器用,不能直接用来“翻出去”。

第 1 条附言    2017-10-29 13:12:14 +08:00

附上原理简介和性能测试

原理简介

主要原理是通过冗余数据来对抗网络的丢包,发送冗余数据的方式支持FEC(Forward Error Correction)和多倍发包,其中FEC算法是Reed-Solomon。

原理图:

细节请看UDPspeeder的repo,或者UDPspeeder在V2EX上的原帖,这里不再重复。

性能测试(吞吐量)

server 在 vulr 日本,CPU2.4GHz,内存 512mb。client 在搬瓦工美国,CPU 2.0GHZ,内存 96mb。在网路间额外模拟了10%的丢包(双向),用于加重FEC算法的负担。

测试命令
在server端: ./tinyvpn_amd64 -s -l 0.0.0.0:5533 --mode 0 --sub-net 10.22.22.0 iperf3 -s 在client端: ./tinyvpn_amd64 -c -r 45.76.100.53:5533 --mode 0 --sub-net 10.22.22.0 iperf3 -c 10.22.22.1 -P10 
测试结果

image

其他

程序支持动态改变FEC的冗余度而不断线,具体可以看--fifo选项。

tinyFecVРN跟kcptun/finalspeed/BBR 等现有方案比,主要区别是可以加速 UDP 和 ICMP,现有方案几乎都只能加速 TCP。一般加速游戏必须用到UDP。

跟UDPspeeder比,主要是使用起来更简单。

116 条回复    2018-06-23 07:21:48 +08:00
1  2  
jhytxy
    1
jhytxy  
   2017-10-29 11:11:14 +08:00 via iPhone   8
搞了这种东西就别遮遮掩掩了
不是说你自己阉一刀老爷就不来找你麻烦了
Loyalsoldier
    2
Loyalsoldier  
   2017-10-29 11:23:49 +08:00
话说是否可以实现自动检测网络质量,由此自动调整多倍发包的比例?
wangyucn
    3
wangyucn  
OP
   2017-10-29 11:29:39 +08:00   1
>话说是否可以实现自动检测网络质量,由此自动调整多倍发包的比例?

这是个好主意,目还没实现。 不过,我提供了在程序运行中动态改变码率的接口(见--fifo 选项),你可以自己用脚本统计丢包率,然后用 fifo 通知 tinyFecVРN 变换码率。
Bluef0x
    4
Bluef0x  
   2017-10-29 11:30:12 +08:00 via iPhone
怎么配合酸酸用?
wangyucn
    5
wangyucn  
OP
   2017-10-29 11:34:40 +08:00
@Bluef0x

不论是什么服务,你只要在本地用 10.22.22.1 这个 ip 去访问,就会被加速了。
0987363
    6
0987363  
   2017-10-29 11:35:00 +08:00 via iPhone
udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口。
wangyucn
    7
wangyucn  
OP
   2017-10-29 11:36:04 +08:00
> udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口。

搜一下 udp2raw,可以完美解决 udp 被限速的问题。
wangyucn
    8
wangyucn  
OP
   2017-10-29 11:38:25 +08:00   1
>udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口

一般做 udp 限速的是本地运营商,墙只是背锅了。我这边到同一个服务器,本地的移动有问题,北京联通没问题。
luolufang
    9
luolufang  
   2017-10-29 11:56:39 +08:00 via Android
我也觉得没必要自己砍一刀,国内使用也没必要上 udp
wangyucn
    10
wangyucn  
OP
   2017-10-29 11:58:30 +08:00
>国内使用也没必要上 udp

加速游戏必须要用到 UDP。
work1949
    11
work1949  
   2017-10-29 12:07:14 +08:00 via Android
支持转发吗
Shura
    12
Shura  
   2017-10-29 12:09:47 +08:00
@jhytxy 去限制还是很容易的,在 tun_dev.cpp 里
paul1729
    13
paul1729  
   2017-10-29 12:10:30 +08:00
想问下这个 VPN 是不是多线程的?然后吞吐量怎么样?
wangyucn
    14
wangyucn  
OP
   2017-10-29 12:30:16 +08:00
>想问下这个 VPN 是不是多线程的

这个 VPN 是单线程+epoll 实现的。

>然后吞吐量怎么样?


附上在两个单核小鸡上的性能测试,server 在 vulr 日本,CPU2.4GHz,内存 512mb。client 在搬瓦工美国,CPU 2.0GHZ,内存 96mb。

在关闭 FEC 的情况下测 tinyFecVРN 本身的性能:

[SUM] 0.00-10.00 sec 125 MBytes 105 Mbits/sec 794 sender
[SUM] 0.00-10.00 sec 122 MBytes 102 Mbits/sec receiver

开启 FEC 后,性能受制于 Reed solomon 库,不同参数的性能有很大区别。

对于默认的 FEC 参数,每 20 个包额外发 10 个冗余包:

[ 4] 0.00-10.00 sec 66.2 MBytes 55.5 Mbits/sec 114 sender
[ 4] 0.00-10.00 sec 65.8 MBytes 55.2 Mbits/sec receiver
wangyucn
    15
wangyucn  
OP
   2017-10-29 12:35:18 +08:00
@paul1729

用 iperf3 -P10 去压,压榨出了更多的性能。

默认 FEC 参数下的性能:

[SUM] 0.00-10.00 sec 88.9 MBytes 74.6 Mbits/sec 0 sender
[SUM] 0.00-10.00 sec 85.5 MBytes 71.7 Mbits/sec receiver
bjhyyc
    16
bjhyyc  
   2017-10-29 12:42:48 +08:00
是钓鱼吗?
zlfzy
    17
zlfzy  
   2017-10-29 12:43:20 +08:00
不是很懂,先收藏一下
pisser
    18
pisser  
   2017-10-29 12:47:14 +08:00
nores 哈哈!
Pigbird
    19
Pigbird  
   2017-10-29 12:59:18 +08:00 via Android
大佬,对于联通广州出口这种大姨妈你这个能起到治疗效果么
nerozhu
    20
nerozhu  
   2017-10-29 13:01:31 +08:00
大佬。用这个加速游戏可以稳定不?
anyele
    21
anyele  
   2017-10-29 13:07:25 +08:00
之前就觉得 UDPspeeder 配置比较麻烦, 现在支持一下
wangyucn
    22
wangyucn  
OP
   2017-10-29 13:14:26 +08:00   2
>大佬。用这个加速游戏可以稳定不?

这个最初就是为了加速游戏设计的,最拿手的就是加速游戏了。我自己用来加速美服的 brawl stars 和亚服的 mobile legend,从卡得没法玩,到几乎不卡。
qiukun
    23
qiukun  
   2017-10-29 13:30:19 +08:00
@wangyucn 好人
Liqianyu
    24
Liqianyu  
   2017-10-29 13:33:15 +08:00
@wangyucn
是不是对不丢包的网络没用?
对于主机 P2P 游戏,加速现今有什么好思路吗(SS\VPN 对其都不甚友好)
myliyifei
    25
myliyifei  
   2017-10-29 13:45:19 +08:00
@wangyucn 不论是什么服务,你只要在本地用 10.22.22.1 这个 i 去访问,就会被加速了。
那就是本地 windows 还要配一个 NAT 服务了?或者写路由指向这一条?
shaoshuang
    26
shaoshuang  
PRO
   2017-10-29 13:47:17 +08:00
实测了下,韩国的机房
只开启了 BBR,看 4K 可以在 30-40M
使用了 tinyFecVРN 的情况下( MAC 酸酸乳--本地 Ubuntu 虚拟机 tinyFecVPN 客户端--服务器 tinyFecVPN 服务端--酸酸乳),看 4K 只能在 4-5M
可能是我打开方式不对
wangyucn
    27
wangyucn  
OP
   2017-10-29 13:55:09 +08:00   1
@shaoshuang

youtube 那个只是带宽估计,实际上他并不会发送 30mbps 的数据来测试,不准确。

建议用 iperf3 或者 scp 用真实流量来测试

另外 bbr 已经很牛了,如果你只需要加速 tcp,又对延迟要求不高,只用 bbr 就够了
shaoshuang
    28
shaoshuang  
PRO
   2017-10-29 13:57:29 +08:00 via iPhone
@wangyucn 感谢回复明白了
wangyucn
    29
wangyucn  
OP
   2017-10-29 13:57:38 +08:00
@myliyifei

对于 tinyFecVPN 运行在虚拟机或路由器上的情况,我在 repo 里讲了一种免 nat 让 Windows 访问的方法。很简单,只需要两条命令。
wangyucn
    30
wangyucn  
OP
   2017-10-29 14:06:18 +08:00
@shaoshuang

还有个可能是你的 udp 被运营商限速了。你用了 tinyFecVPN 之后,所有流量都走 udp 了,而原来的流量是走 tcp。

搜一下 udp2raw,可以解决这个问题。
wangyucn
    31
wangyucn  
OP
   2017-10-29 14:28:34 +08:00
>是不是对不丢包的网络没用?
对于绝对不丢包的网络,除了用专线走一条延迟更短的线路以外,基本上任何加速器都没有用。

>对于主机 P2P 游戏,加速现今有什么好思路吗(SS\VPN 对其都不甚友好)

可以把 VPN 或者 S***搭载路由器上,在路由器上实现透明路由或透明代理。 我自己个人用的是 VPN 方法,然后在路由器上用 iptables、ip rule、ip route 来实现透明的路由策略。
mind3x
    32
mind3x  
2017-10-29 14:43:16 +08:00 via Android
根据 Google 在 QUIC 协议上的实践,fec 基本上只有副作用,所以他们前两年就从 QUIC 里拿掉了 fec,供参考,并不是来挑刺的。
sublimevsatom
    33
sublimevsatom  
   2017-10-29 14:46:58 +08:00
感谢楼主的分享。
在 Linux 桌面进行网游的时候,有时候就缺这么一类跨平台的游戏加速器。
HaoyangWei
    34
HaoyangWei  
   2017-10-29 15:02:11 +08:00
活着难道不好吗?
run2
    35
run2  
   2017-10-29 15:08:59 +08:00
@HaoyangWei 只是加速你还想怎么样?

话说可以改个名字啊,VPN 关键字去了多好,只是少些不必要的麻烦
wangyucn
    36
wangyucn  
OP
   2017-10-29 15:39:45 +08:00
>根据 Google 在 QUIC 协议上的实践,fec 基本上只有副作用,所以他们前两年就从 QUIC 里拿掉了 fec,供参考,并不是来挑刺的。

具体情况不了解,可能他们的网络环境比较好。也许他们说的有副作用,是因为没法选择出一套对所有人都适用的参数,又难以做到完全自动调整参数,所以总体上造成了副作用。

这个 repo 针对的是自己的网路有丢包,又有一定动手能力的人; QUIC 从设计上是一个零门槛使用的协议。所以 QUIC 的结论并不能套用在这个 repo 上。

项目 repo 里面有性能测试,在高丢包环境下确实是有明显性能提升的,scp 从 30kb/s 提升到了 3.5mb/s。而且测试方法都公开,你自己也可以轻易复现。

>话说可以改个名字啊,VPN 关键字去了多好,只是少些不必要的麻烦

之前确实想过,想叫 tinyFecRelay。不过后来还是决定起一个最直观的名字了。
wtcoder
    37
wtcoder  
   2017-10-29 16:52:05 +08:00
牛逼!
wwqgtxx
    38
wwqgtxx  
   2017-10-29 17:09:31 +08:00
看了一下你的“透过 tinyFecVPN 免改 iptables 加速网络”这个节,感觉可以考虑写个小工具操作 iptables 自动实现端口重定向,socat 这个程序在 Tcp 转发上还好用,在 Udp 转发上大量的 fork,然后很容易爆内存,并不是个好选择
renothing
    39
renothing  
   2017-10-29 17:18:19 +08:00
测试了下,不稳定,不断的重链
wangyucn
    40
wangyucn  
OP
   2017-10-29 17:22:27 +08:00
@renothing

疑似是 udp 被掐断了,在前面套个 udp2raw 试试。

如果还不行的话,请开个 issue,描述一下细节。
wangyucn
    41
wangyucn  
OP
   2017-10-29 17:38:25 +08:00
>看了一下你的“透过 tinyFecVPN 免改 iptables 加速网络”这个节,感觉可以考虑写个小工具操作 iptables 自动实现端口重定向,socat 这个程序在 Tcp 转发上还好用,在 Udp 转发上大量的 fork,然后很容易爆内存,并不是个好选择

iptables 加了之后还得清理,有点麻烦,程序被 kill -9 后还要手动删。以后我可能会实现一个基于 epoll 的 tcp 和 udp 端口转发的小工具,集成在这个 repo 里。
myliyifei
    42
myliyifei  
   2017-10-29 19:12:55 +08:00
@wangyucn socks5 对所有的 UDP 包支持好吗?
sw0rd3n
    43
sw0rd3n  
   2017-10-29 19:28:21 +08:00 via iPhone
实现拥塞控制了嘛?
wangyucn
    44
wangyucn  
OP
   2017-10-29 19:34:46 +08:00
@sw0rd3n

tinyFecVPN 工作在 ip 层,在这一层面不应该有拥塞控制。

对于承载的 TCP 来说,拥塞控制由上层的 TCP 协议栈(在内核中)实现。
zhuzhi90
    45
zhuzhi90  
   2017-10-29 20:17:33 +08:00
大佬,你好,我是菜鸟。我按照你的教程一步步设置,udp2raw 有时候能脸上,有时候又会断掉。同样的,tinyvpn 也会出现 [FATAL]***exited 的情况。我是长城宽带,会不会和运营商有关系啊。 我试过成功 ssh 到 10.22.22.1 上,udp2raw 也成功握手,给出 id,但这两个都会隔一段时间自己断开了。
qyz0123321
    46
qyz0123321  
   2017-10-29 20:17:35 +08:00 via Android
就 FEC 而言,很像 QUIC..支持
ivdvef
    47
ivdvef  
   2017-10-29 20:23:20 +08:00
1024, 先收藏下来,明天试试看
wangyucn
    48
wangyucn  
OP
   2017-10-29 20:26:49 +08:00
@zhuzhi90

去 github 上发个 issue,贴出配置和 log,详细描述下环境吧。
renothing
    49
renothing  
   2017-10-29 20:33:49 +08:00   1
@wangyucn 一样的。环境是电信 adsl,server 是 usa vps。配置按照你的示例配置的。

貌似是你没有做心跳检测和自动重链。一段时间不发数据后,client 认为 server 已死,而 server 则把新的请求当成了新链接。
wangyucn
    50
wangyucn  
OP
   2017-10-29 20:58:28 +08:00
@renothing

如果很长时间没有发送数据的话,nat pipe 会被中间路由设备掐掉,确实会出现重连的情况。tinyFecVPN 里现在没有做 nat pipe 保活的功能,后续我做一下。暂时的解决办法是在后台开个 ping 保活 nat pipe。
findwho
    51
findwho  
   2017-10-29 21:24:26 +08:00
围观大神啊,既然名字都有了 vpn,还不如直接开放功能。。只是建议啊
wangyucn
    53
wangyucn  
OP
   2017-10-29 23:16:24 +08:00
@renothing

已经解决了,发布了一个的 release。多谢反馈。
skylancer
    54
skylancer  
   2017-10-30 00:00:58 +08:00
自己阉割一刀以为就不会被盯上么?
感觉你好天真...
kurtrossel
    55
kurtrossel  
   2017-10-30 00:24:24 +08:00
妙啊~

感谢分享!
artandlol
    56
artandlol  
   2017-10-30 09:49:20 +08:00
收藏
xxstop
    57
xxstop  
   2017-10-30 09:54:26 +08:00
不错。Mark
123s
    58
123s  
   2017-10-30 10:01:01 +08:00
大佬,安卓手机支持吗?
wangyucn
    59
wangyucn  
OP
   2017-10-30 11:22:01 +08:00
>大佬,安卓手机支持吗?

在安卓手机上有问题,可以运行但是发不出数据,以后会找时间解决一下。
zddewe
    60
zddewe  
   2017-10-30 11:32:47 +08:00
@wangyucn 谢谢,@wangyu 参考 cloudwindy 你一定要注意安全哇
wangyucn
    61
wangyucn  
OP
   2017-10-30 12:15:18 +08:00
>参考 cloudwindy 你一定要注意安全哇
这个软件只是加速器,不能直接用来科学上网。我知道你是好心提醒,但是把这个和 cloudwindy 的比较,反而可能给我带来麻烦。

>既然名字都有了 vpn,还不如直接开放功能
>话说可以改个名字啊,VPN 关键字去了多好

VPN 全名是 Virtual Private Network,虚拟专用网络。很多大学都有 VPN 系统,比如:
https://vpn.pku.edu.cn/
https://sslvpn.tsinghua.edu.cn/
VPN≠科学上网,也并不一定允许你把数据包路由到外网去。VPN 只是泛指一种网络连接方式,可能很多人接触 VPN 是因为科学上网,先入为主的认为 VPN=科学上网,这个说法有一些误导性。

请各位不要把话题歪到科学上网上去。
renothing
    62
renothing  
   2017-10-30 13:36:18 +08:00
我看你加了地址校验。那基本上废掉了大部分伸手党了。哈哈
cq65617875
    63
cq65617875  
   2017-10-30 15:11:12 +08:00
@renothing
我感觉不久后就会出现所谓的解除限制版 TinyFecVPN 了
毕竟也就是注释几行代码的事儿……
hu6360567
    64
hu6360567  
   2017-10-30 17:40:32 +08:00
用了 socat 做了个 ipv6 地址的映射,一切都好,只是酸酸乳无法链接 Google 意外的网站,不理解为什么,看流量也一切正常……
wangyucn
    65
wangyucn  
OP
   2017-10-30 18:05:18 +08:00
@hu6360567

我没测试过 ipv6,这个软件默认也只会分配 ipv4 地址;能不能说下你是怎么弄的 ipv6 映射?
hu6360567
    66
hu6360567  
   2017-10-31 00:15:03 +08:00 via Android
@wangyucn 在服务器端使用 socat 将 v4 端口 fork 但一个 v6 端口,在客户端,用 socat 将服务器端的 v6 端口映射到本地 v4 端口。启动客户端时 r 选项添本地 v4 端口即可。ping,ssh 一切正常。不知道是不是 mtu 设置的不合理
wangyucn
    67
wangyucn  
OP
   2017-10-31 00:18:02 +08:00
@hu6360567

尝试一下两端加上 --mode 0 --mtu 1200
wangyucn
    68
wangyucn  
OP
   2017-10-31 09:47:56 +08:00
@hu6360567

更新了一版,调整了默认参数,现在用默认的参数预计不会有任何 MTU 问题了。
hu6360567
    69
hu6360567  
   2017-10-31 10:42:25 +08:00
@wangyucn 试了一下,还是不行,只有 v6 流量能通过代理,v4 不通,不知道是什么原因了……如果直接使用,没有任何问题
renothing
    70
renothing  
   2017-10-31 15:44:19 +08:00
@wangyucn 更新后反而废了,指定 mtu 也不行
[2017-10-31 07:42:30][WARN]message too long len=1388 fec_mtu=1200,ignored
[2017-10-31 07:42:32][WARN]message too long len=1388 fec_mtu=1200,ignored
[2017-10-31 07:42:33][WARN]message too long len=1388 fec_mtu=1200,ignored
[2017-10-31 07:42:37][WARN]message too long len=1388 fec_mtu=1200,ignored
[2017-10-31 07:42:43][WARN]message too long len=1388 fec_mtu=1200,ignored
wangyucn
    71
wangyucn  
OP
   2017-10-31 16:35:37 +08:00
@renothing

你这个应该是自己改了参数的,这个 WARN 只有在--mode 1 时候才会报,更新后默认参数是--mode 0 --mtu 1250。你去掉--mode 1 参数就好了。

--mode 1 得配合 iptables 的 TCPMSS 选项,等我接下来在 readme 里说一下怎么用(也有可能我会在代码里实现个 mss fix 功能),暂时先用 mode 0。
wangyucn
    72
wangyucn  
OP
   2017-10-31 16:45:41 +08:00
@renothing

今天更新的版本为了能让设置了 DF 标志的 ip packet 通过,tun 设备的默认 MTU 调大了,对--mode 1 模式产生了一些影响,所以你之前能用的参数现在不适用了。现在用默认参数就不会有 MTU 问题了。
renothing
    73
renothing  
   2017-10-31 21:28:43 +08:00
@wangyucn
我大概看了下。应该是你写死了 mtu 为 1500 的缘故。而且今天的版本,传输速度神奇不在。
wangyucn
    74
wangyucn  
OP
   2017-10-31 21:37:22 +08:00
@renothing

1500 的那个只是 tun 设备的 mtu。

OpenVPN 里面 tun 设备的 mtu 一般都是固定为 1500 的,不论是你改 mssfix 还是 fragment 都不影响这个。

>而且今天的版本,传输速度神奇不在。

确保你把 --mode 1 选项去掉
wangyucn
    75
wangyucn  
OP
   2017-10-31 21:45:26 +08:00
@renothing
想要理解为什么 tun 设备的 MTU 为什么一般应该固定为 1500,你可以从 OpenVPN 的 4 个 MTU 选项入手(这个能查到的资料比较多):
--tun-mtu --link-mtu --mssfix --fragment ;另外再了解一下 DF 标志。

tinyFecVPN 里面现在有 2 个 MTU,一个是 tun 设备的 mtu,仿照 OpenVPN 推荐的方式固定为 1500 ;另一个是 FEC 编码器的 MTU,mode 0 模式下影响数据的切分。
kenshinji
    76
kenshinji  
   2017-11-01 09:27:01 +08:00
@shaoshuang 韩国是哪里的 vps 提供商呢?我也去搞一个
renothing
    77
renothing  
   2017-11-02 03:18:19 +08:00
@wangyucn 感谢。已经搞明白了。昨天吞吐异常就是因为 mtu 设置过小。取消 mtu 自定义后速度正常了
apibits
    78
apibits  
   2017-11-02 11:15:24 +08:00 via Android
昨天尝试在自家 nas 群辉 DSM 上做客户端 直接尝试在 raw 下嵌套 tiny 在使用 g 参数手工执行了 iptable 后 稳定下来不再提醒 rst..... 直接软件启动时自动添加好像没起作用 虽然日志显示了执行了 iptable。。。。 使用 20:5 的参数
jayx
    79
jayx  
   2017-11-02 18:30:13 +08:00
README.zh-cn.md 里提示 2 好像写错了,"对于某些运营商,UDPspeeder 跟 tinyFecVPN 配合可以达到更好的速度",是 udp2raw 吧
wangyucn
    80
wangyucn  
OP
   2017-11-02 18:40:42 +08:00
@jayx 已修正 ,多谢反馈
xsd3169
    81
xsd3169  
   2017-11-04 22:30:49 +08:00
您好,Windows 上有客户端吗?
wangyucn
    82
wangyucn  
OP
   2017-11-05 13:57:09 +08:00
@wwqgtxx
socat 的问题已经解决了,用 epoll 写了个端口转发工具来代替 socat:
https://github.com/wangyu-/tinyPortMapper
wwqgtxx
    83
wwqgtxx  
   2017-11-05 15:21:47 +08:00 via iPhone
@wangyucn 已经 mark
我就很好奇,为什么这么长时间一直就没人做个类似的工具?
wangyucn
    84
wangyucn  
OP
   2017-11-05 20:06:47 +08:00
@wwqgtxx
ssh tunnel 可以转发 tcp,虽然难用一点。如果只需要 tcp,一般都拿 ssh tunnel 来凑合了。
关心性能的人也不多,转发 udp 一般都拿 socat 来凑合了。
wangyucn
    85
wangyucn  
OP
   2017-11-05 20:09:35 +08:00
@wwqgtxx
对于关心性能的人,还有 iptables 可以用
wwqgtxx
    86
wwqgtxx  
   2017-11-05 20:20:19 +08:00
@wangyucn socat 这种 fork 模式对于 UDP 实在是太不靠谱了,比如在 DNS 这种应用下,至于 iptables 的配置正如你说的,又麻烦又容易出错,实在是比较蛋疼,可能因为一般情况下 UDP 的应用没有 TCP 那么多吧
thj007
    87
thj007  
   2017-11-06 10:51:14 +08:00 via Smartisan T1
大佬,这个怎么跟 udp2raw 配合使用?
ecc
    88
ecc  
   2017-11-06 13:44:28 +08:00
路由器上 比如刷了梅林固件的可以用么
wangyucn
    89
wangyucn  
OP
   2017-11-06 14:05:46 +08:00
@ecc

可以,根据路由器的 CPU,拷贝 arm 版或 mips 版进去即可。需要用命令行启动。
jjllws
    90
jjllws  
   2017-11-07 11:08:21 +08:00 via Android
你好,感谢您的代码!看起来很棒!但是我对 Linux 不太熟悉,能否告诉我该如何使用?我是想要这样子做:
我的电脑 l2tp 连接 阿里云深圳 用你的 tinyvpn 转发数据到 阿里云香港


我该如何操作,请帮助我
carrionlee
    91
carrionlee  
   2017-11-07 20:18:37 +08:00
服务器运行后,出现 [WARN]de_cook(data,len)failed 的警告,代表什么意思?
wangyucn
    92
wangyucn  
OP
   2017-11-07 20:28:56 +08:00
@carrionlee 两端密码不一致,或者有未知的程序在访问 server 监听的端口。
wwwqq8254289
    93
wwwqq8254289  
   2017-11-10 17:12:38 +08:00
大佬带带我撒,现在这些加速器 ping 值看不出游戏内好坏,你这个能当加速器用,是否考虑嗯大家一起出钱用呢。
hgjian
    94
hgjian  
   2017-11-14 08:55:33 +08:00
@Shura 可以说一下注释掉哪些代码吗?看了半天源代码都不确定注释掉哪些东西。
Shura
    95
Shura  
   2017-11-14 11:52:17 +08:00
@hgjian tun_dev.cpp#L132
hgjian
    96
hgjian  
   2017-11-15 15:03:14 +08:00
@Shura 就是注释掉下面这段吗? 感谢回复指点,谢谢!
#ifndef NORES
........代码块...........
#endif
hgjian
    97
hgjian  
   2017-11-15 15:07:58 +08:00
@cq65617875 可以指点一下注释掉哪一些不?
brickman379
    98
brickman379  
   2017-11-15 23:30:10 +08:00
大佬,自己编译的能 ping 通百度,为什么访问百度失败。IP 10.22.22.2.34912 > 112.80.248.73.https: Flags [S], seq 2783734512, win 29200, options [mss 1200,sackOK,TS val 2495875737 ecr 0,nop,wscale 7], length 0
wangyucn
    99
wangyucn  
OP
   2017-11-16 00:41:13 +08:00
@brickman379
按下面链接里说的要点,详细描述一下环境。去 github 上开个 issue。
https://github.com/wangyu-/UDPspeeder/wiki/发 Issue 前请看
hgjian
    100
hgjian  
   2017-11-16 08:28:17 +08:00
@brickman379 请问注释哪些额?
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     985 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 34ms UTC 23:02 PVG 07:02 LAX 16:02 JFK 19:02
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86