V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RobertLyu
V2EX  ›  程序员

通过路由器 SSH 加速 Switch 的一众游戏加速器,是如何做到的呢?技术原理如何呢?

  •  
  •   RobertLyu · 2020-06-25 07:54:51 +08:00 · 6383 次点击
    这是一个创建于 1614 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近下载了几款加速器,比如“腾讯加速器”、“灵缇加速器”等,他们都支持路由器端加速。

    这对于我这种懒人非常友好,每次都要重新设定端口、地址实在太麻烦。

    不过,有些问题也无一不展现了出来,比如:专线阻止 YouTube, Twitter 的访问、数据不透明等。

    所以,想请问各位 V2ers, 如何自己设计并搭建一个基于自己的服务器的 SSH 游戏加速器呢?

    23 条回复    2021-02-18 14:23:06 +08:00
    learningman
        1
    learningman  
       2020-06-25 08:03:13 +08:00
    推荐关键词:透明代理,流量混淆
    RobertLyu
        2
    RobertLyu  
    OP
       2020-06-25 08:11:53 +08:00
    @learningman 感谢。不过好像并没有在百度搜索到什么有价值的内容。
    smilenceX
        3
    smilenceX  
       2020-06-25 08:17:53 +08:00
    个人观点,加速器的核心在于线路,而不是技术。
    如果是临时的需求,想要做一个游戏减速器的话,最简单的方法就是开一个 ssh tunnel + proxifier 。类似方法我实践过,在某个玩游戏等于政治不正确的日子里,加速器暂停服务,我用 proxifier+V 登录美服游戏。
    至于加速效果么,又不是不能用。
    RobertLyu
        4
    RobertLyu  
    OP
       2020-06-25 08:34:12 +08:00
    @smilenceX 确实。不过还是更想了解一下技术原理。如果可以避开桌面级平台,使用 app 就可以的话就更好了。
    ysc3839
        5
    ysc3839  
       2020-06-25 08:48:29 +08:00
    用 OpenVPN 或者 WireGuard,路由器上搭客户端,配合路由表或者 mwan3 之类的工具可以实现仅某些设备走 VPN 。
    natsji
        6
    natsji  
       2020-06-25 10:53:57 +08:00 via Android
    我用的是普通的酸酸乳和 lede 固件。wireguard 也行不过有时候会被移动断流
    baobao1270
        7
    baobao1270  
       2020-06-25 11:04:19 +08:00   ❤️ 1
    不知道楼主要问什么?
    1 、基本上没有用 SSH 做代理 /游戏加速的。以前代理用的是 Socks,现在一般使用 V**ay 、Sha******ks 、To**an 之类的东西。用 SSH 虽然也能代理,但是效率太低,性能不行。请问楼主确定是否要用 SSH 加速?
    2 、路由端加速不一定需要服务器支持,“搭建游戏加速服务器”和“设置路由端加速”是两码事。楼主问的有时那个呢?
    3 、使用 APP 又是什么需求,用 APP 来管理路由端加速器?还是指手机上的游戏加速器?手机上的游戏加速器和路由端加速也没有关系。
    4 、要设置端口号和地址的加速器,看起来也不是路由端加速,而是相当于把你的其他设备(如 PC )设置成了连接到服务器前的一个中继。真正的路由端加速是不需要任何设置的。
    RobertLyu
        8
    RobertLyu  
    OP
       2020-06-25 11:36:15 +08:00
    @baobao1270 感谢。
    1. 因为灵缇可以做到路由器 SSH 加速,因此免去在 Switch 输入更改端口等信息的麻烦。
    2 & 3. 比较想了解如何自己写个 app,专门将现有的远程服务器放到手机里,然后 app 与路由器 SSH 连接,从而做到在手机端更改服务线路的特性。
    4. 类似的如腾讯加速器的普通模式,就是将设备作为中继使用,但对于我来说每次都要设置是太麻烦了。而且数据不透明,非常没有安全感。
    lwp2070809
        9
    lwp2070809  
       2020-06-25 12:40:44 +08:00 via Android
    不是 ssh 加速,是通过 ssh 在路由器上安装软件实现的加速
    RobertLyu
        10
    RobertLyu  
    OP
       2020-06-25 13:31:23 +08:00 via iPhone
    @lwp2070809 所以说这个是需要针对各个路由器适配吗?
    yeeyeung
        11
    yeeyeung  
       2020-06-25 15:07:28 +08:00
    surge 和 clash 都有网关模式,可以给 switch 代理
    joesonw
        12
    joesonw  
       2020-06-25 15:18:14 +08:00
    @ysc3839 境外 vpn 流量 2 分钟就断.
    qsmd42
        13
    qsmd42  
       2020-06-25 15:21:03 +08:00 via iPhone
    加速器不就是线路比较好的梯子吗。。。
    flynaj
        14
    flynaj  
       2020-06-25 17:49:56 +08:00 via Android
    红米 AC2100 路由器内置游戏加速,这些加速都是 VPN 分流,openwrt mwan 写一下策略分流一下就行
    baobao1270
        15
    baobao1270  
       2020-06-25 18:35:22 +08:00   ❤️ 3
    @RobertLyu
    首先你需要知道,一般来说游戏加速器都需要专线,并对线路进行优化,也就决定了其成本是很高的。一般来说,个人的海外、香港服务器线路并不好,加速效果并不理想。这里建议你去了解一下 IPLC 、IEPL 、BGP 线路的含义,然后确认您使用的服务器机房的线路。



    其次,您需要了解 V**ay 、Sha******ks 、To**an 等代理工具的基本特点和特性。游戏一般需要 UDP 转发功能,因此对代理协议有一定要求。其次,由于游戏加速器一般已经在网络管理机关进行了备案,因此其流量是有白名单的,但您假设的自己的加速器没有备案,因此必须保证难以被防火墙探测、追踪和分离。个人推荐您使用 V2**y+WebSocket+TLS+Web 的部署方式,目前来说这是比较安全、隐蔽的代理方式。您可以通过在 Google 上搜索(国内搜索引擎不行)的方式,来寻找相关教程。这一步您需要架设一个 V2**y+WebSocket+TLS+Web 服务器。

    第三,您需要在路由器上配置透明代理。透明代理的含义是,您无需在设备上进行任何设置,只要连接到这台路由器就能自动加速游戏。这一步分为以下几个小步骤:

    3.1 选购一台支持 OpenWRT 的路由器。OpenWRT 是一个专为路由器设计的嵌入式的 Linux 系统。您可在其官网上找到支持的路由器列表。一般来说,TP-Link 、水星等路由器大部分能支持; NetGear 支持最好,安装 OpenWRT 也方便。一个更好的选择是,如果您有较高的预算,建议选择使用一台配置极低的 x86 计算机作为软路由,因为加速协议的 TLS 层进行 RSA 加解密需要消耗较大的 CPU 算力,而普通路由器的 MHz 级的 CPU 用于此比较吃力。一般来说,软路由可以使用 Intel N 系列或 J 系列的 CPU,大约 1GB 的 SSD 即可;内存也无需超过 1GB 。您可以在“恩山无线论坛”寻找更多资料。

    3.2 安装 OpenWRT 。根据路由器的不同,有的需要拆开路由器进行芯片焊接来安装 OpenWRT,而有的只需要在路由器 Web 界面使用 “更新固件”功能上传 OpenWRT 的安装文件,即可安装 OpenWRT 。

    3.3 配置上网,略过不表。然后使用 https://github.com/kuoruan/openwrt-v2rayhttps://github.com/kuoruan/luci-app-v2ray 两个项目种的包( OpenWRT 作为一种 Linux,有自己的包管理器,就像 apt 和 yum 一样,OpenWRT 的 opkg 命令就是它的包管理器)

    3.4 配置加速,使用路由器连接你的服务器,并配置透明代理。

    第四,您需要使用手机 APP 对路由器的透明代理进行配置。在此我建议您使用 HTTP 协议模拟对路由器 Web 管理界面的请求,而非使用 SSH 。

    4.1 若您使用 HTTP 协议,您可以在修改透明代理设置时进行抓包。然后在 APP 上重复请求。至于 APP 的设计,由于我并不了解 APP 开发,就只能靠你自己了。

    4.2 若您使用 SSH 协议,您可以使用 uci 命令来修改设置。事实上,OpenWRT 中的 HTTP Web 界面和 uci 命令是共用一套 API 的。Web 界面就是 uci 命令的图形化版本。

    若您需要其他帮助,欢迎通过 Telegram 联系我。请注明您来自 V2EX 。
    LZSZ
        16
    LZSZ  
       2020-06-25 19:08:12 +08:00
    自己搭延迟会很高的吧
    ysc3839
        17
    ysc3839  
       2020-06-25 19:42:49 +08:00 via Android
    @joesonw 那就没什么办法了。这大概也是加速器的竞争力之一吧,他们有能力研发自己的协议。
    cz5424
        18
    cz5424  
       2020-06-25 22:58:11 +08:00 via iPhone
    上面已经说得很详细了,也可以参考我的提问

    https://www.v2ex.com/t/672323#reply44
    2kCS5c0b0ITXE5k2
        19
    2kCS5c0b0ITXE5k2  
       2020-06-25 23:00:16 +08:00
    @ysc3839 根本不用研发协议 有牌照就可以搞。 哪怕用原版无混淆的 s 也不用怕被 ban
    mxalbert1996
        20
    mxalbert1996  
       2020-06-25 23:04:38 +08:00 via Android
    @baobao1270 以绝大多数人的带宽来说路由器硬件性能根本就不是瓶颈。
    jelipo
        21
    jelipo  
       2020-06-26 10:51:52 +08:00
    就算你有人家的技术,但是没人家的线路也搞不来
    baobao1270
        22
    baobao1270  
       2020-06-26 11:06:24 +08:00
    @mxalbert1996 如果是正常拨号的话的确不是瓶颈,但是我提供的方法需要再路由器上进行 RSA 和 AES 加密 /解密,对 CPU 有一定的性能需求,实测 WNDR 4000 路由器已经撑不住了,linux load 已经飙到 6.2 了。
    DarinJi
        23
    DarinJi  
       2021-02-18 14:23:06 +08:00
    @baobao1270 大佬 借问个问题:通过 pc 端的加速器给 switch 进行加速,虽然显示连接成功,但下载游戏还是很慢。 然后检查了下 IP 地址,路由器分配的是 192 开头的,但是加速器显示是 172 开头。拿到室友房间,发现他两边都是显示 192,并且下载速度很快,真正有加速效果。 想请问下,我这个是加速失败吗?是 ip 地址的问题吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3112 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.