Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

luci-app-ssr-plus: Fix link failure for latest Xray version. #1560

Closed
wants to merge 2 commits into from

Conversation

zxlhhyccc
Copy link
Collaborator

@zxlhhyccc zxlhhyccc commented Oct 22, 2024

1、修复Xray更新到2024.9.30版本后,无法连接服务器导致不能科学上网;
2、本次修改兼容1.8.24及以下版本,包括服务端节点为旧版本。
3、socks 的配置适配最新Xray版本。
效果图:
image
image
image
image

1、修复Xray更新到2024.9.30版本后,无法连接服务器导致不能科学上网;
2、本次修改兼容1.8.24及以下版本,包括服务端节点为旧版本。
3、socks 的配置适配最新版本。
1、修复Xray更新到2024.9.30版本后,无法连接服务器导致不能科学上网;
2、本次修改兼容1.8.24及以下版本,包括服务端节点为旧版本。
3、socks 的配置适配最新版本。
initial_windows_size = tonumber(server.initial_windows_size) or nil
} or nil,
sockopt = {
mark = 255,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!

@stupidloud
Copy link

该改的东西你不改,不该改的给你改出岔子了 😳

@stupidloud
Copy link

该改的是原本用inboundDetour开启的socks代理,应该加入到inbounds部分
你只要改这个就行啦

@zxlhhyccc
Copy link
Collaborator Author

该改的是原本用inboundDetour开启的socks代理,应该加入到inbounds部分
你只要改这个就行啦

我知道,但ssrp机制不一样,一是socks是单独开启的,不是一运行Xray就开启;二是scoks可以使用不同的节点开启socks,可不与正常使用的节点同时开启,否则就要把“socks代理服务端(全局)”删除,仅仅保留端口才能合并到inbounds部分,此时就无法使用其他节点作为socks的服务器节点了。

@zxlhhyccc
Copy link
Collaborator Author

该改的东西你不改,不该改的给你改出岔子了

请问哪里改错了?

@stupidloud
Copy link

该改的东西你不改,不该改的给你改出岔子了

请问哪里改错了?

标出来了啊
mark=255

@stupidloud
Copy link

该改的是原本用inboundDetour开启的socks代理,应该加入到inbounds部分
你只要改这个就行啦

我知道,但ssrp机制不一样,一是socks是单独开启的,不是一运行Xray就开启;二是scoks可以使用不同的节点开启socks,可不与正常使用的节点同时开启,否则就要把“socks代理服务端(全局)”删除,仅仅保留端口才能合并到inbounds部分,此时就无法使用其他节点作为socks的服务器节点了。

只是改gen_config.lua生成json内容啊,你是不是考虑太多啦

@zxlhhyccc
Copy link
Collaborator Author

zxlhhyccc commented Oct 23, 2024

只是改gen_config.lua生成json内容啊,你是不是考虑太多啦

不是考虑太多,socks如果使用非主节点的其他节点,ssrp的机制是生成另外一个json配置,只有使用本身节点时才合并在一个json配置。所以将socks的配置合并在主节点里就需要将init脚本大修了。
如图,上面的json是使用其他节点的socks配置,下面的是主节点的配置,ssrp的init脚本也是这个意思。
image

@stupidloud
Copy link

只是改gen_config.lua生成json内容啊,你是不是考虑太多啦

不是考虑太多,socks如果使用非主节点的其他节点,ssrp的机制是生成另外一个json配置,只有使用本身节点时才合并在一个json配置。 如图,上面的json是使用其他节点的socks配置,下面的是主节点的配置,ssrp的init脚本也是这个意思。 image

所以,socks和主服务器一致时,就一定要使用inbounddetouur,就没法适配xray v2咯?意思是没法改还是?

@zxlhhyccc
Copy link
Collaborator Author

zxlhhyccc commented Oct 23, 2024

所以,socks和主服务器一致时,就一定要使用inbounddetouur,就没法适配xray v2咯?意思是没法改还是?

如果socks和主服务器一致时(即合并到主配置里去的话可以不使用inbounddetouer),但是不能选择其他节点做socks服务器,且init脚本必须删除使用其他节点生成socks另外配置的代码,此时改动会非常大,所以我考虑来考虑去只能暂时使用inbounddetouer,待后续有使用者不需使用其他节点做socks服务器时即可将socks配置合并到主配置的inbounds部分。
还要一个就是,socks不会读取inbounddetouer,只会读取里面的配置。

@zxlhhyccc
Copy link
Collaborator Author

标出来了啊
mark=255

这个我在Xray的WIKI里看到过可以设置mark,现在一下找不到了,等会我找找看。

@stupidloud
Copy link

所以,socks和主服务器一致时,就一定要使用inbounddetouur,就没法适配xray v2咯?意思是没法改还是?

如果socks和主服务器一致时(即合并到主配置里去的话可以不使用inbounddetouer),但是不能选择其他节点做socks服务器,且init脚本必须删除使用其他节点生成socks另外配置的代码,此时改动会非常大,所以我考虑来考虑去只能暂时使用inbounddetouer,待后续有使用者不需使用其他节点做socks服务器时即可将socks配置合并到主配置的inbounds部分。 还要一个就是,socks不会读取inbounddetouer,只会读取里面的配置。

我用你的gen_config试过了啊,socks是主服务器,还是生成了inbounddetour段
然后因为被添加了mark,代理通道断了

@zxlhhyccc
Copy link
Collaborator Author

zxlhhyccc commented Oct 23, 2024

然后因为被添加了mark,代理通道断了

socks是主服务器,肯定还是生成inbounddetour段,主要还是ssrp机制要使用非主节点作为服务器。其次,你确定是添加了mark的问题吗?你把mark改成0或者删除mark后代理就正常吗?
另外,ssrp的socks我从来没玩过,只玩过ssrp的服务器,请问Xray的socks哪个场景使用,咋配置?是在浏览器里配置吗?

@stupidloud
Copy link

然后因为被添加了mark,代理通道断了

socks是主服务器,肯定还是生成inbounddetour段,主要还是ssrp机制要使用非主节点作为服务器。其次,你确定是添加了mark的问题吗?你把mark改成0或者删除mark后代理就正常吗? 另外,ssrp的socks我从来没玩过,只玩过ssrp的服务器,请问Xray的socks哪个场景使用,咋配置?是在浏览器里配置吗?

不是 哥哥
咱这次主要是解决xray配置文件格式更新的问题
你没事去添加一个sockopt参数是干啥
而且我肯定是试过了啊
你新的gen_config生出来的配置文件xray能启动,但是代理不通
我是一个个对比参数,最后确定去掉mark才连通了

@stupidloud
Copy link

然后因为被添加了mark,代理通道断了

socks是主服务器,肯定还是生成inbounddetour段,主要还是ssrp机制要使用非主节点作为服务器。其次,你确定是添加了mark的问题吗?你把mark改成0或者删除mark后代理就正常吗? 另外,ssrp的socks我从来没玩过,只玩过ssrp的服务器,请问Xray的socks哪个场景使用,咋配置?是在浏览器里配置吗?

另外,我贴个老版本gen_config.lua在socks是主节点的情况下生成的json config吧
人家本来就是合并在一起的

{
  "inboundDetour": [
    {
      "port": 1235,
      "protocol": "socks",
      "settings": {
        "udp": true,
        "auth": "noauth"
      }
    }
  ],
  "log": {
    "loglevel": "warning"
  },
  "outbound": {
    "settings": {
      "vnext": [
        {
          "port": 443,
          "users": [
            {
              "id": "xxxx79c4-abcd-abcd-abcd-54129fe5zzzz",
              "encryption": "none"
            }
          ],
          "address": "1.2.3.4"
        }
      ]
    },
    "protocol": "vless",
    "streamSettings": {
      "network": "grpc",
      "grpcSettings": {
        "health_check_timeout": 10,
        "permit_without_stream": true,
        "serviceName": "appledev",
        "multiMode": false,
        "initial_windows_size": 0,
        "idle_timeout": 20
      },
      "realitySettings": {
        "show": false,
        "fingerprint": "safari",
        "serverName": "developers.apple.com",
        "publicKey": "dpDAPsV8XFUM4OEOBtl0vmaVB6geN34SkLIm6pOaC1M"
      },
      "security": "reality"
    }
  },
  "inbound": {
    "sniffing": {
      "enabled": false,
      "routeOnly": true,
      "destOverride": [
        "http",
        "tls",
        "quic"
      ]
    },
    "port": 1234,
    "protocol": "dokodemo-door",
    "settings": {
      "network": "tcp,udp",
      "followRedirect": true
    }
  }
}

@stupidloud
Copy link

你的新gen_config.lua只要把inbounddetour里面的

    {
      "port": 1235,
      "protocol": "socks",
      "settings": {
        "udp": true,
        "auth": "noauth"
      }
    }

搞到inbounds里头就行了
别研究其他问题了

@stupidloud
Copy link

咱就是说,inbounddetour在新版本xray已经不兼容了,这跟ssrp机制都没关系
原先ssrp用inbounddetour开启socks代理,你现在把inbound改成inbouds(这个做对了)
然后把detour里面的信息加到inbounds里头就行了啊

@zxlhhyccc
Copy link
Collaborator Author

zxlhhyccc commented Oct 23, 2024

你的新gen_config.lua只要把inbounddetour里面的

那我把mark去掉算了。还有就是把这个搞进去很简单,但是无法使用主节点之外的节点作为socks服务器啊(我前面的pr就是搞到里面去的),对了,我们能否在tg里私聊?这里沟通不方便。

@stupidloud
Copy link

暴露socks5代理有老多用法了啊,你用gost可以把内网设备一些默认不走代理流量导到代理通道里头去啊,还比如我ssh连接远程服务器,不是可以添加proxycommand去走socks通道

@stupidloud
Copy link

你的新gen_config.lua只要把inbounddetour里面的

把这个搞进去很简单,但是无法使用主节点之外的节点作为socks服务器啊(我前面的pr就是搞到里面去的),对了,我们能否在tg里私聊?这里沟通不方便。

你不管ssrp的socks是不是主节点,是不是都得改掉inbounddetour???

@zxlhhyccc zxlhhyccc closed this Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants