[BUG] PuppetService Start() rejection 【已解决】
wordgao opened this issue · 2 comments
docker wecahty:latest
go-wecahty v0.31 or v0.35
docker wecahty 不管是true还是false,均正常运行
export WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT="true"
export WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT="false"
环境变量
export WECHATY_LOG="verbose"
export WECHATY_PUPPET="wechaty-puppet-padlocal"
export WECHATY_PUPPET_PADLOCAL_TOKEN="puppet_padlocal_xxxxxxxxxxxxxxxxxxxxxx"
export WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT="true"
export WECHATY_PUPPET_SERVER_PORT="8788"
export WECHATY_TOKEN=$(curl -s https://www.uuidgenerator.net/api/version4)
echo "WECHATY_TOKEN=$WECHATY_TOKEN"
```
启动参数
```docker
docker run -ti \
-d \
--name wxservice \
--restart=always \
--privileged \
--network=host \
-e WECHATY_LOG \
-e WECHATY_PUPPET \
-e WECHATY_PUPPET_SERVER_PORT \
-e WECHATY_PUPPET_PADLOCAL_TOKEN \
-e WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER \
-p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" \
-e WECHATY_TOKEN \
wechaty/wechaty:latest
```
但是要么是这个报错的信息,要么是0.0.0.0的JSON数据,即使有正确的IP地址和端口JSON返回,也无法让go-wechaty连接上去。
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /v0/hosties/</pre>
</body>
</html>
root@userroot:/home/userroot#
```
```go
bot := wechaty.NewWechaty(wechaty.WithPuppetOption(wp.Option{
Endpoint: "113.74.111.111:8788",
//Token:token,
// 超时控制
Timeout: time.Duration(2 * time.Minute),
}), wechaty.WithName("IpadLocalWechat"))
```
但 go-wechaty始终连接不上去,报如下的问题。
2021/10/07 16:12:56 PuppetService Start()
2021/10/07 16:12:56 puppet start err: PuppetService Start() rejection: startGrpcStream err:rpc error: code = Unavailable desc = connection closed
panic: PuppetService Start() rejection: startGrpcStream err:rpc error: code = Unavailable desc = connection closed
问题已解决,并附带目前我所使用的参数,如有必要自己直接复制拿过去用吧。
目前我发现的最大的问题就是新版看到的教材一个是server 一个是 client 的参数,实际上使用的是server要设置true。
client虽然docker没用上,放着备用吧。
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER
WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT
export WECHATY_LOG="verbose" export WECHATY_PUPPET="wechaty-puppet-padlocal" export WECHATY_PUPPET_PADLOCAL_TOKEN="puppet_padlocal_xxxxxxxxxxxxxxxxx" export WECHATY_PUPPET_SERVICE_TOKEN="puppet_padlocal_xxcxxxxxxxxxxxxxxx" export WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT="true" export WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER="true" export WECHATY_PUPPET_SERVER_PORT="8788" export WECHATY_TOKEN=$(curl -s https://www.uuidgenerator.net/api/version4) echo "WECHATY_TOKEN=$WECHATY_TOKEN"
目前使用的docker wechaty 是最新的next版本
docker run -ti \ -d \ --name wxservice \ --restart=always \ --privileged \ --network=host \ -e WECHATY_LOG \ -e WECHATY_PUPPET \ -e WECHATY_PUPPET_SERVER_PORT \ -e WECHATY_PUPPET_PADLOCAL_TOKEN \ -e WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER \ -e WECHATY_TOKEN \ wechaty/wechaty:next
下面是golang代码
token := "eb4b4a1b-dd42-xxxxxxxxxx" //echo "WECHATY_TOKEN=$WECHATY_TOKEN"
// 初始化wechaty
bot := wechaty.NewWechaty(wechaty.WithPuppetOption(wp.Option{
//Endpoint: "11.11.11.11:8788", // 不知道为什么检测token的返回json是0,端口在正常工作也无法使用
Token:token, //目前是通过token自动获取的方式可正常连接。但检测token的时候返回的json依然是0.0.0.0。但可正常使用。
// 超时控制
Timeout: time.Duration(2 * time.Minute),
}), wechaty.WithName("IpadWechat"))
`
已解决,关闭