From 241baede163107b3da257b25d36ef62d11177d5a Mon Sep 17 00:00:00 2001 From: wangyu- Date: Mon, 28 Aug 2017 17:30:32 -0700 Subject: [PATCH 1/8] Update README.zh-cn.md --- doc/README.zh-cn.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/README.zh-cn.md b/doc/README.zh-cn.md index ff087c3..288d051 100644 --- a/doc/README.zh-cn.md +++ b/doc/README.zh-cn.md @@ -159,6 +159,8 @@ facktcp模式并没有模拟tcp的全部。所以理论上有办法把faketcp和 在client 端,运行`traceroute `,记下第一跳的地址,这个就是`网关ip`。再运行`arp -s <网关ip>`,可以同时查到出口网卡名和mac。 ![](/images/lower_level.PNG) + +如果traceroute第一跳结果是`* * *`,说明网关屏蔽了对traceroute的应答。需要用`ip route`或`route`查询网关。 ##### server端获得--lower-level参数的办法 如果client有公网ip,就`traceroute `。下一步和client端的方法一样。 From c467ad5c38f541be034097965b4de50ec76cf3c8 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Mon, 28 Aug 2017 19:31:07 -0500 Subject: [PATCH 2/8] Add files via upload --- images/route.PNG | Bin 0 -> 17825 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/route.PNG diff --git a/images/route.PNG b/images/route.PNG new file mode 100644 index 0000000000000000000000000000000000000000..91ca68478c42f2224e4bd9783ec02f60714919c3 GIT binary patch literal 17825 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 bW6^*9ewFa)pOmJq2HD~1>gTe~DWM4f2Er{l literal 0 HcmV?d00001 From c8694bf0807ef19499ffde2920e7ff70fc778283 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Mon, 28 Aug 2017 17:33:28 -0700 Subject: [PATCH 3/8] Update README.zh-cn.md --- doc/README.zh-cn.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/README.zh-cn.md b/doc/README.zh-cn.md index 288d051..f065fef 100644 --- a/doc/README.zh-cn.md +++ b/doc/README.zh-cn.md @@ -160,7 +160,9 @@ facktcp模式并没有模拟tcp的全部。所以理论上有办法把faketcp和 ![](/images/lower_level.PNG) -如果traceroute第一跳结果是`* * *`,说明网关屏蔽了对traceroute的应答。需要用`ip route`或`route`查询网关。 +如果traceroute第一跳结果是`* * *`,说明网关屏蔽了对traceroute的应答。需要用`ip route`或`route`查询网关: + +![](/images/route.PNG) ##### server端获得--lower-level参数的办法 如果client有公网ip,就`traceroute `。下一步和client端的方法一样。 From 1a999fd96da21bd7718067ca0fb026f9195ff427 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Mon, 28 Aug 2017 19:34:15 -0500 Subject: [PATCH 4/8] Add files via upload --- images/route.PNG | Bin 17825 -> 17806 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/route.PNG b/images/route.PNG index 91ca68478c42f2224e4bd9783ec02f60714919c3..8433e51907a80f7d54684d07b793ffbfe62665d5 100644 GIT binary patch literal 17806 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%0D{K$O)xr^yk(TuV2v01V%~WF2VN`kkgC>XX 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 literal 17825 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 bW6^*9ewFa)pOmJq2HD~1>gTe~DWM4f2Er{l From 6ef15f0185c041c895c2f06c5f40689c630795b1 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Tue, 29 Aug 2017 02:02:53 -0700 Subject: [PATCH 5/8] Update README.zh-cn.md --- doc/README.zh-cn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/README.zh-cn.md b/doc/README.zh-cn.md index f065fef..ea031ca 100644 --- a/doc/README.zh-cn.md +++ b/doc/README.zh-cn.md @@ -177,7 +177,7 @@ server端也可以用`--lower-level auto` 来尝试自动获得参数,如果 ### `--conf-file` -为了避免将密码等私密信息暴露在进程命令行参数内,你也可以使用 `配置文件` 来存储参数。 +为了避免将密码等私密信息暴露给`ps`命令,你也可以使用 `配置文件` 来存储参数。 比如,将以上服务端参数改写成配置文件 From 87483d2f0d5ddf0354a71e8f86fd2bc379474af5 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Tue, 29 Aug 2017 02:04:20 -0700 Subject: [PATCH 6/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 11e4b43..9307b1e 100755 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ Monitor iptables and auto re-add iptables rules(for blocking kernel tcp processi ### `--conf-file` -You can also load options from a configuration file in order to keep secrets away from ps command. +You can also load options from a configuration file in order to keep secrets away from `ps` command. For example, rewrite the options for the above `server` example (in Getting Started section) into configuration file: From c0c7bfda6817850c220e7eac307103c7b3b6d32e Mon Sep 17 00:00:00 2001 From: wangyu- Date: Tue, 29 Aug 2017 05:26:12 -0700 Subject: [PATCH 7/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9307b1e..46bf6f7 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Udp2raw-tunnel ![image0](images/image0.PNG) -A Tunnel which tunnels UDP via FakeTCP/UDP/ICMP Traffic by using Raw Socket, helps you Bypass UDP FireWalls(or Unstable UDP Environment). Its Encrypted, Anti-Replay and Multiplexed. It also acts as a Connection Stabilizer. +A Tunnel which turns UDP Traffic into FakeTCP/UDP/ICMP Traffic by using Raw Socket, helps you Bypass UDP FireWalls(or Unstable UDP Environment). Its Encrypted, Anti-Replay and Multiplexed. It also acts as a Connection Stabilizer. It can tunnel any traffic when used together with a UDP-based VPN(such as OpenVPN).Check [this link](https://github.com/wangyu-/udp2raw-tunnel#tunneling-any-traffic-via-raw-traffic-by-using-udp2raw-openvpn) for more info. From 9c9c549bd1f9b38a9efbf95d0efd9ef2d6b73332 Mon Sep 17 00:00:00 2001 From: wangyu- Date: Tue, 29 Aug 2017 05:29:44 -0700 Subject: [PATCH 8/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 46bf6f7..a030a3c 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Udp2raw-tunnel ![image0](images/image0.PNG) -A Tunnel which turns UDP Traffic into FakeTCP/UDP/ICMP Traffic by using Raw Socket, helps you Bypass UDP FireWalls(or Unstable UDP Environment). Its Encrypted, Anti-Replay and Multiplexed. It also acts as a Connection Stabilizer. +A Tunnel which turns UDP Traffic into Encrypted FakeTCP/UDP/ICMP Traffic by using Raw Socket, helps you Bypass UDP FireWalls(or Unstable UDP Environment). It can defend Replay-Attack and supports Multiplexing. It also acts as a Connection Stabilizer. It can tunnel any traffic when used together with a UDP-based VPN(such as OpenVPN).Check [this link](https://github.com/wangyu-/udp2raw-tunnel#tunneling-any-traffic-via-raw-traffic-by-using-udp2raw-openvpn) for more info.