Acris / docker-shadowsocks-libev

Build a docker image for shadowsocks-libev with v2ray-plugin, based on Alpine Linux.
https://hub.docker.com/r/acrisliu/shadowsocks-libev/
MIT License
303 stars 95 forks source link

大哥,不会写readme就别写,空着也比误导别人好啊 #7

Closed kbourne23 closed 5 years ago

kbourne23 commented 5 years ago

path=/v2ray

这参数放在哪儿啥意思啊?你Dockerfile里可不是这么写的啊?

Acris commented 5 years ago

path作为v2ray-plugin的插件参数存在,对于v2ray-plugin所有可用选项,可以通过v2ray-plugin --help命令查看,输出如下:

Usage of v2ray-plugin:
  -V    Run in VPN mode.
  -cert string
        Path to TLS certificate file. Overrides certRaw. Default: ~/.acme.sh/{host}/fullchain.cer
  -certRaw string
        Raw TLS certificate content. Intended only for Android.
  -fast-open
        Enable TCP fast open.
  -host string
        Hostname for server. (default "cloudfront.com")
  -key string
        (server) Path to TLS key file. Default: ~/.acme.sh/{host}/{host}.key
  -localAddr string
        local address to listen on. (default "127.0.0.1")
  -localPort string
        local port to listen on. (default "1984")
  -loglevel string
        loglevel for v2ray: debug, info, warning (default), error, none.
  -mode string
        Transport mode: websocket, quic (enforced tls). (default "websocket")
  -mux int
        Concurrent multiplexed connections (websocket client mode only). (default 1)
  -path string
        URL path for websocket. (default "/")
  -remoteAddr string
        remote address to forward. (default "127.0.0.1")
  -remotePort string
        remote port to forward. (default "1080")
  -server
        Run in server mode
  -tls
        Enable TLS.

不太清楚是什么地方对你造成误导。如果不熟悉docker的使用方式或者不了解Dockerfile,可以查阅相关文档:https://docs.docker.com/

同时,如果发现某些地方有误,也欢迎提交Pull request。

sendya commented 5 years ago

哪来的这脾气,这项目可真是欠你了? 大家都客气点,不是世界真美好吗?

kbourne23 commented 5 years ago

哪来的这脾气,这项目可真是欠你了? 大家都客气点,不是世界真美好吗?

语气不好是我不对,但是道理没错啊 Dockerfile里压根没提到ws(更别说readme了),结果在docker-compose.yml还放个path,这样是链不通的,而且log里也不会告诉你啥(握手失败),只能瞎调试,这不是耽误时间吗?

Readme负点责任没问题吧

Acris commented 5 years ago

@kbourne23 Dockerfile只负责将shadowsocks-libev和v2ray-plugin进行整合,参数由ARGS进行配置,所以为什么要在Dockerfile里面提到ws?README写的够清楚了吧:

ARGS: Additional arguments supported by ss-server, default value is -u, to enable UDP relay.

docker-compose.yml中的示例是放到 Enable v2ray-plugin 下面的,教你如何配置使用v2ray-plugin而已,如果你不需要该插件,按照 Quick Start 里面的例子使用就行。所以我仍然不知道你说的误导是指什么,我觉得我文档写的够清楚了,不管是最简单的用法、进阶的配置,还是v2ray-plugin插件的启用,以及后续的升级等等都足够清楚了。如果你还是觉得看不懂怎么使用v2ray-plugin,可以去看官方的README:https://github.com/shadowsocks/v2ray-plugin/blob/master/README.md

如果你觉得日志输出不够清楚,也可以自己fork shadowsocks-libev和v2ray-plugin进行修改,至少我使用的时候,如果握手失败,是可以看到日志的。

有问题可以提出,而不是上来就嘲讽。

Acris commented 5 years ago

Issue closed, feel free to re-open it if needed.

eskimo220 commented 4 years ago

我的情况和这位老兄 @kbourne23非常相似。也是被卡了几天,也觉得这个path是有点误导人。 我解释一下情况是这样的: 开始使用这个插件的时候我并不晓得原理,只是想赶快搭建起来着急用,所以对于这些参数的设置不会深究,就是机械的照着去做。 那么看着这个readme动手去做的时候,看到tls的没有联想到这个是tls+websocket的意思。之后再看到这个path=xxx,我想当然的认为这是服务器上的某路径,我以为是不能省略的。 然后readme中又没有客户端的设置,那么只好参考v2ray-plugin的readme,那边是没有设置path这个参数的,那么我也就想当然的没有设置。

这样一来呢,握手什么的都是成功的,默认情况下也不出错误的log,但是就是没有效果。这种情况让当时的我非常困惑。找了半天原因都是乱试,花了很多时间。最后看了代码才理清了概念,搞清楚了path应该去掉或者和客户端设成一样的。

苦尽甘来我还写了个博客记录来着。 link

我请求作者能再完善一下readme。补足一下相应的客户端设置。谢谢。