v2ray / v2ray-core

A platform for building proxies to bypass network restrictions.
https://www.v2ray.com/
MIT License
45.43k stars 8.95k forks source link

客户端http和socks监听同一个端口时启动报错 #1158

Closed jgit8848 closed 6 years ago

jgit8848 commented 6 years ago

提交 Issue 之前请先阅读 Issue 指引,然后回答下面的问题,谢谢。 除非特殊情况,请完整填写所有问题。不按模板发的 issue 将直接被关闭。

1) 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明) 3.22

2) 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。 NAS运行Docker版V2Ray作为客户端,手机和其他设备通过局域网代理连接使用YouTube等APP。

3) 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等) 客户端配置中http和socks监听同一个端口时启动报错 Failed to start App|Proxyman|Inbound: failed to listen TCP on 1080 > Transport|Internet: failed to listen on address: 0.0.0.0:1080 > listen tcp 0.0.0.0:1080: bind: address already in use

inbound中port: 1080 inboundDetour中port: 1080 inboundDetour中port 更改为1081即可正常运行

4) 你期待看到的正确表现是怎样的? http和socks可以在同一个端口上正常使用 因为手机wifi代理只能设置一个代理,大部分app走http,有的app走socks。

5) 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。

服务器端配置:
{
  "inbound": {
    "port": 443, // 服务器监听端口
    "protocol": "vmess",    // 主传入协议
    "settings": {
      "clients": [
        {
          "id": "",  // 用户 ID,客户端与服务器必须相同
          "alterId": 
        }
      ]
    }
  },
  "outbound": {
    "protocol": "freedom",  // 主传出协议
    "settings": {}
  }
}
客户端配置:
{
  "log": {
    "access": "/etc/v2ray/vaccess.log",
    "error": "/etc/v2ray/verror.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 1080,
    "listen": "0.0.0.0",
    "protocol": "http",
    "settings": {
      "timeout": 0,
      "allowTransparent": false,
      "userLevel": 0
    },
    "streamSettings": null
  },
  "inboundDetour": [{
    "port": 1080,
    "listen": "0.0.0.0",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "127.0.0.1"
      },
    "streamSettings": null
    }],
  "outbound": {
    "tag": "agentout",
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "",
          "port": 443,
          "users": [
            {
              "id": "",
              "alterId": ,
              "security": ""
            }
          ]
        }
      ]
    },
    "streamSettings": {
      "network": "tcp",
      "security": "none",
      "tcpSettings": null,
      "kcpSettings": null,
      "wsSettings": null
    },
    "mux": {
      "enabled": true
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {
        "response": null
      },
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "settings": {
        "response": {
          "type": "http"
        }
      },
      "tag": "blockout"
    }
  ],
  "dns": {
    "servers": [
      "8.8.8.8",
      "8.8.4.4",
      "localhost"
    ]
  },
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "port": null,
          "outboundTag": "direct",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "domain": null
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  }
}

6) 请附上出错时软件输出的错误日志。在 Linux 中,日志通常在 /var/log/v2ray/error.log 文件中。

服务器端错误日志:

客户端错误日志:

启动错误,未生成日志。

7) 请附上访问日志。在 Linux 中,日志通常在 /var/log/v2ray/access.log 文件中。 启动错误,未生成日志。

8) 其它相关的配置文件(如 Nginx)和相关日志。

9) 如果 V2Ray 无法启动,请附上 --test 输出。

通常的命令为 /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json。请按实际情况修改。

10) 如果 V2Ray 服务运行不正常,请附上 journal 日志。

通常的命令为 journalctl -u v2ray

请预览一下你填的内容再提交。

如果你已经填完上面的问卷,请把下面的英文部份删除,再提交 Issue。

jgit8848 commented 6 years ago

手机可以自动带代理设置连接wifi,所以作为懒人希望可以通过v2ray-core解决 如果从原理上无法实现http和socks共用一个端口,那就只能用手机客户端连服务器了

TanNang commented 6 years ago

https://github.com/shadowsocks/shadowsocks-windows/issues/1472

DarienRaymond commented 6 years ago

不支持多个协议同端口