duo/matrix-wechat

dial tcp 127.0.0.1:22223: connectex: Connection refused

pidongqianqian opened this issue · 6 comments

项目不错。感谢!

准备搭出来自己用用,不过我使用时遇到了一些问题。日志如下:

matrix_wechat_agent_1  | time="2022-09-30T01:20:30+08:00" level=info msg="No more files."
matrix_wechat_agent_1  | [I] <MMKV.cpp:156::initialize> version v1.2.7 page size:4096
matrix_wechat_agent_1  | [I] <MMKV.cpp:198::initializeMMKV> root dir: C:\users\user\Application Data\Tencent\WeChat\XPlugin\Info\
matrix-wechat          | [Sep 30, 2022 01:20:40] [User/@pidong3:***.***.**/WARN] Error connecting to Wechat: : Post "http://127.0.0.1:22223/api/?type=9": dial tcp 127.0.0.1:22223: connectex: Connection refused.
matrix-wechat          | [Sep 30, 2022 01:20:40] [User/@pidong3:***.***.**/ERROR] Failed to log in:%!(EXTRA *wechat.ErrorResponse=: Post "http://127.0.0.1:22223/api/?type=9": dial tcp 127.0.0.1:22223: connectex: Connection refused.)

附图web客户端图
image

目前使用的是基于 docker 的 matrix-wechat-agent,
希望能给一些思路。

duo commented

Docker那边的配置是怎么样的? 这个是 docker 里的微信没启动起来

  matrix-wechat:
      image: lxduo/matrix-wechat:latest
      restart: unless-stopped
      ports:
        - "39320:39320"
      container_name: matrix-wechat
      volumes:
        - /home/matrix/bridges/matrix-wechat:/data
      depends_on:
        - matrix-postgres
        - matrix-homeserver
      networks:
        - matrix-bridge
  
  matrix_wechat_agent:
    hostname: matrix-wechat-agent
    image: lxduo/matrix-wechat-docker:latest
    restart: unless-stopped
    depends_on:
      - matrix-wechat
    environment:
      TZ: Asia/Shanghai
      WECHAT_HOST: ws://matrix-wechat:20002
      WECHAT_SECRET: *******
    #shm_size: "1gb"
    #devices:
    #  - /dev/dri:/dev/dri
    #ports:
    #  - 15905:5905
    volumes:
      - ./matrix-wechat-agent:/home/user/matrix-wechat-agent
    networks:
      - matrix-bridge
 
  matrix-nginx:
    image: matrix/nginx:v1.0
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /home/matrix/nginx:/etc/nginx/conf.d
      - /home/matrix/matrix-web:/usr/share/nginx/html
      - /home/matrix/homeserver/certs:/certs
    container_name: matrix-nginx
    depends_on:
      - matrix-homeserver
        #- matrix-slack
    networks:
      - matrix-bridge

因为我这个里面部署了很多其他的bridge,所以并不是和 安装步骤的配置 完全一致,不一样的地方主要有 容器名称和网络名称部分,服务自己的端口,使用的是nginx 代理

感觉可能是是这个docker内的微信需要资源比较多跑不起来?目前我看见我一旦发送 login, 服务器cpu就飚到 100%,目前2h4g,腾讯轻应用服务器。

duo commented

可能是资源的问题, 试试加上 shm_size: "512m" ?

不行的话加上

    security_opt:
      - seccomp:unconfined

看看吧

如果还不行, 就把 vnc 的端口暴露出来, 然后看看自己手动执行 wine "/home/user/.wine/drive_c/Program Files/Tencent/WeChat/WeChat.exe" 观察下

暂时没有头绪这些错误的含义是什么,等假期我研究研究。

user@matrix-wechat-agent:~$ wine "/home/user/.wine/drive_c/Program Files/Tencent/WeChat/WeChat.exe"
[I] <MMKV.cpp:156::initialize> version v1.2.7 page size:4096
[I] <MMKV.cpp:198::initializeMMKV> root dir: C:\users\user\Application Data\Tencent\WeChat\XPlugin\Info\
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_card_driver returned error: 没有那个文件或目录
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_concat returned error: 没有那个文件或目录
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: 没有那个文件或目录
ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: 没有那个文件或目录
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_card_driver returned error: 没有那个文件或目录
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_concat returned error: 没有那个文件或目录
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4745:(_snd_config_evaluate) function snd_func_refer returned error: 没有那个文件或目录
ALSA lib conf.c:5233:(snd_config_expand) Evaluate error: 没有那个文件或目录
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default
duo commented

出现 ALSA 这些的话, 那微信是已经启动成功了才对

手动执行了之后,然后再login获取二维码就有了,登录过后,bot回复登录成功,手机端也显示Windows 微信已登录,但是好像,就机器人回复 变成的很慢,ping的话,很久才回复 我没有登录微信, 也收不到消息,估计在docker 里面跑还是太吃力了,不过总算是登录了,后面我用个真的windows吧,多谢答疑