XProxy icon indicating copy to clipboard operation
XProxy copied to clipboard

请问支持hysteria协议吗?

Open huangzulin opened this issue 2 years ago • 3 comments

RT

huangzulin avatar Mar 08 '23 14:03 huangzulin

目前上游 Xray 内核暂不支持 Hysteria 协议,目前 XProxy 还没有原生支持 Hysteria 内核,但可借助自定义命令额外启动一个 Hysteria 客户端来实现(存在一定的性能损失)。

首先在 XProxy工作目录的 config 文件夹下写入 hysteria.json 配置文件(根据实际修改):

{
  "server": "example.com:12345",
  "obfs": "...",
  "up_mbps": 10,
  "down_mbps": 50,
  "socks5": {
    "listen": "127.0.0.1:10086"
  }
}

修改 XProxy 配置文件,添加如下字段:

...
custom:
  pre:
    - nohup hysteria -c config/hysteria.json >> log/hysteria.log 2>&1 &
...

修改 config/outbounds.json 配置文件如下:

{
  "outbounds": [
    {
      "tag": "hysteria",
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 10086
          }
        ]
      }
    }
  ]
}

在 Hysteria 项目下载预构建的可执行文件至本机,例如放置在 /usr/local/bin/hysteria 下,在 XProxy 的 docker 启动命令中添加 -v /usr/local/bin/hysteria:/usr/bin/hysteria 即可。

这样子配置后,XProxy 开启后会先启动 Hyteria 内核,暴露 socks5 接口给 Xray 内核中继,透明代理的流量将被送入 Xray 后转发至 Hyteria 再到远程服务器。

dnomd343 avatar Mar 08 '23 15:03 dnomd343

naiveproxy不能用是为什么,下载的naive客户端在docker中不能运行

Angel0726 avatar Feb 04 '24 15:02 Angel0726

naiveproxy不能用是为什么,下载的naive客户端在docker中不能运行

目前naiveproxy用的是chromium的网络栈,基于C++开发,所以编译产物依赖glibc,XProxy的容器目前是基于musl的,直接运行存在符号缺失。

当然,由于openwrt系统也使用musl基础库,naiveproxy的release页面也提供了相应的版本(带openwrt字样),该版本可正常在容器中运行。

相关逻辑可参考这里

dnomd343 avatar Feb 07 '24 06:02 dnomd343