跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 分享自己用 Rust 写的可以直接利用 SOCKS 代理的游戏加速器
未分類
8 6 月 2020

分享自己用 Rust 写的可以直接利用 SOCKS 代理的游戏加速器

分享自己用 Rust 写的可以直接利用 SOCKS 代理的游戏加速器

資深大佬 : Sketch 4

之前分享了一款自己用 Go 写的游戏加速器 IkaGo,但是我也在文章中多次提到,加速器最重要的是线路而不是技术。为了能更好的利用好手上的一些优质的众所周知的 SOCKS 代理,我又开发了一款加速器(或者说,半个加速器)……

pcap2socks

pcap2socks 是一个以 Rust 语言撰写的,通过 pcap 重定向流量到 SOCKS 代理的代理。

效果图(图一乐,具体效果还得看线路):

分享自己用 Rust 写的可以直接利用 SOCKS 代理的游戏加速器

特性

  • 将 TCP/UDP 流量重定向到 SOCKS 代理
  • 利用了代理 ARP 应答指定 IP 地址的请求,实现将自身作为网关处理来自指定 IP 地址的网络流量(也就是类似市面上的加速器,将主机的 IP 地址与网关设为网络环境中不存在的值,由加速器来处理流量)
  • 跨平台、Full Cone NAT 、开源……

如何使用

pcap2socks -s <需要代理的设备的 IP 地址> -p <需要代理的设备上所填写的网关> -d <SOCKS 代理,如 127.0.0.1:1080>   // 比如 Nintendo Switch 的 IP 地址填写为 10.6.0.1,网关填写为 10.6.0.2,自己的 SOCKS 代理在 127.0.0.1:1080,那么 pcap2socks -s 10.6.0.1 -p 10.6.0.2 -d 127.0.0.1:1080 

与市面上的加速器的比较

  • 免费(可以利用各位自己搭建或购买的那些众所周知的服务)、启动快、无广告、跨平台、设置可自定义、开源……

一些不得不提的话

pcap2socks 的实现相较 IkaGo 简单得多,也复杂得多。简单在略去了很多功能的实现,如代理、多路复用、监控网络流量等(以后可能会加回一部分),复杂在实现转发 TCP/UDP 到 SOCKS 的过程实际上是实现了一遍 TCP/UDP 栈,以及 Rust 函数式编程的编程范型与复杂的语法。开发的全过程也算是复习了一遍计算机网络,同时把自己的编程思想给更新了……

pcap2socks 相较 IkaGo 在体量上也小很多,使用其它软件实现的代理也就不需要在服务器上部署 pcap2socks 的服务端。而且 pcap2socks 只是充当被代理设备的流量到 SOCKS 流量转换的角色,因此在代理的下方也可以接各种各样不同的服务,无论是 Udp2raw-tunnel,还是 kcptun,相较 IkaGo 也多了份自由。

因为没有 macOS 的设备,而 WSL 上的 Linux 无法使用 pcap,因此目前仅在 Windows 上测试通过(理论上各平台适用)。

项目地址

  • pcap2socks https://github.com/zhxie/pcap2socks

希望 pcap2socks 也能帮助到需要解决联机游戏问题的你

大佬有話說 (27)

  • 資深大佬 : wafm

    可惜现在的国内加速器厂商好像都做了壁垒?

    比如要同为一个加速器的朋友才能好好玩耍了

  • 主 資深大佬 : Sketch

    @wafm 虽然有听朋友说起过,但我感觉这些都只是他们自己的 bug

  • 資深大佬 : wafm

    @Sketch 不是的,我亲测过,某 U 就是这样,我最后还是妥协冲了一个 妥妥的就行了

  • 主 資深大佬 : Sketch

    @wafm 挺微妙。不过你想,如果加速器有壁垒,那么不就相当于变成游戏局域网了吗,即使你用着电信宽带有着原生的 Full Cone NAT,也不能和好友游戏

  • 資深大佬 : hantsuki

    还能用 arp 搞,长见识了。比起 tun/tap 有什么优势和劣势呢

  • 資深大佬 : hantsuki

    @hantsuki 看样子不能自己代理自己,没仔细读说明。还是继续用 tun2socks 了

  • 主 資深大佬 : Sketch

    @hantsuki 是的,不能自己代理自己。真要说优势的话,大概就是能很方便的代理局域网中的其它设备(这也是目的)。

  • 資深大佬 : XanderChen

    很强,

    向大佬学习。

  • 資深大佬 : xwhxbg

    呃,proxychains 了解一下?

  • 主 資深大佬 : Sketch

    @xwhxbg 稍微看了一下,实现的目的其实不太一样?

  • 資深大佬 : wafm

    @Sketch 当时确实是的,我开始用自己的路由器直接走海外的,NAT 也显示为 A,开始还玩的可以速度也很快,自从猛男树枝出一些问题后,某 U 就开始有这方面的动作了

  • 資深大佬 : wafm

    @Sketch 当时裸连也是不行,用 XUN 游也不行,最后实在没办法冲了个 U

  • 資深大佬 : ssshooter

    看起来不错,放假试试

  • 資深大佬 : ragnaroks

    一人血书代理本机

  • 主 資深大佬 : Sketch

    @ragnaroks 这个需求的项目还是挺多的吧,比如 #6 提到的

  • 資深大佬 : ragnaroks

    @Sketch 因为代理本机操作起来最无脑最符合直接需求

  • 資深大佬 : march1993

    Linux iptables redirect 不香吗

  • 主 資深大佬 : Sketch

    @march1993 很香,但是 Windows 和 macOS 似乎无解

  • 資深大佬 : tkwl

    如你所说,加速器优质的是低延时线路。。。还是赞一个

  • 資深大佬 : littlespider89

    使用的时候显示

    Cannot determine interface. Available interfaces are listed below, use -i <INTERFACE> to designate:

  • 主 資深大佬 : Sketch

    @littlespider89 最近提交的 commit 可以自动选择 interface 了,所以如果能 build 的话希望能自行 build 。如果是直接从 release 中下载的话,就是需要手·动·指·定用哪个设备(网卡)的。

  • 資深大佬 : 3q3q3q

    这个是不是就不能再 win 下使用啊

  • 主 資深大佬 : Sketch

    @3q3q3q 我都写了“在 Windows 上测试通过”了……这个项目是跨平台的

  • 資深大佬 : 3q3q3q

    这玩意在 win 下怎么用啊,让我研究一下

  • 資深大佬 : littlespider89

    @Sketch -i interface 参数填写什么,填了 IP,MAC 地址,UUID 都不对

  • 主 資深大佬 : Sketch

    @littlespider89 如果是 Windows,应该是类似 “DeviceNPF_{00000000-0000-0000-0000-000000000000}” 的一长串,如果是 macOS 等系统,应该是 “en0” 之类的名称

  • 資深大佬 : xwhxbg

    @Sketch 呃,我的意思是有代理的话,直接 proxychains4 游戏的 binary 就能代理玩游戏了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具