ehForwarderBot / efb-wechat-slave

A channel for EH Forwarder Bot.
GNU Affero General Public License v3.0
459 stars 62 forks source link

微信一扫码就显示这样报错,微信手机端没有登入到电脑 #126

Closed Charles-Hello closed 1 year ago

Charles-Hello commented 2 years ago
2021-12-31 03:00:49,781 [Level 99]: ehforwarderbot.__main__ (__main__.init; __main__.py:137)
     Slave channel WeChat Slave (blueset.wechat) # Default profile is initialized. 
2021-12-31 03:00:49,781 [Level 99]: ehforwarderbot.__main__ (__main__.init; __main__.py:142)
     Initializing master blueset.telegram... 
Exception in thread itchat polling thread (maintain_loop):
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/threading.py", line 1009, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.10/threading.py", line 946, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.10/site-packages/efb_wechat_slave/vendor/itchat/components/login.py", line 314, in maintain_loop
    exitCallback()
  File "/usr/local/lib/python3.10/site-packages/efb_wechat_slave/__init__.py", line 261, in exit_callback
    raise Exception(
Exception: Web WeChat logged your account out before master channel is ready.
2021-12-31 03:00:50,561 [Level 99]: ehforwarderbot.__main__ (__main__.init; __main__.py:149)
     Master channel Telegram Master (blueset.telegram) # Default profile is initialized. 
2021-12-31 03:00:50,563 [Level 99]: ehforwarderbot.__main__ (__main__.init; __main__.py:155)
     All channels initialized. 
2021-12-31 03:00:50,564 [Level 99]: ehforwarderbot.__main__ (__main__.init; __main__.py:169)
     All middlewares are initialized. 
Charles-Hello commented 2 years ago

请问一下大佬,这是什么问题

blueset commented 2 years ago

有可能是 Web WC 的运作逻辑发生了变化,上游库长期无人维护而产生了脱节。 目前具体导致的原因不明。

Charles-Hello commented 2 years ago

请问一下大佬,我该如何解决呢??

shejialuo commented 2 years ago

@blueset 今天我因为特殊情况,退出了微信。当我再次重新登录后,已然在服务器无法登录。我这边在自己的ArchLinux测试了AUR的Wechat-Uosimage 这是扫码后的结果。可以看出,老版本的wechat-uos已经无法登录,目前的版本是2:2.0.0+lsblk-1145141919。AUR已经提醒了Flagged out-of-date (2021-12-31)。 UOS商城推出了2.1.1版本:https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.weixin/com.tencent.weixin_2.1.1_amd64.deb

应该是上游版本问题,未进行更新。


update:

刚去看了一看,似乎腾讯推出了原生的Linux微信客户端,只能在UOS用。

经测试为electron 15或16(采用llvm 14工具链编译,而llvm13今年9月才发布,llvm14正式版明年2月才会发布) 并非是网页版套壳,是本地渲染gui然后调用接口实现的,是一个vue写的gui。 从源码来看,腾讯选择使用ISC协议发布这个程序(一看就是写错了),所以我们可以自由的修改逆向。可惜JavaScript文件和CSS文件都是打包混淆后的,看不出来怎么和服务器通讯的。

感觉通过UOS绕过网页版的限制被ban了。

Charles-Hello commented 2 years ago

大佬,有解决的方案了吗?还是说uos绕过网页进行微信登陆已经凉了?

iskycc commented 2 years ago

我也是出现了这个问题,更新修复了叫我一下哈

Charles-Hello commented 2 years ago

你是用哪一个大佬的部署方案呀~我是这个!!! https://blog.shzxm.com/2020/12/31/efb/

iskycc commented 2 years ago

你是用哪一个大佬的部署方案呀~我是这个!!! https://blog.shzxm.com/2020/12/31/efb/

我是用的docker镜像呢,不过反正要凉一块凉了,都一样,哈哈哈

phoenixxie0 commented 2 years ago

UOS的微信正式版发布了,所以登录接口变了,需要继续使用的可以删除efb_wechat_slave/vendor/itchat/components/login.py第107行的?mod=desktop https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?mod=desktop 修改成 https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage 前提条件是微信本来可以登录网页版

iskycc commented 2 years ago

UOS的微信正式版发布了,所以登录接口变了,需要继续使用的可以删除efb_wechat_slave/vendor/itchat/components/login.py第107行的?mod=desktop https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?mod=desktop 修改成 https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage 前提条件是微信本来可以登录网页版

现在还有几个微信能登录网页版哦

Charles-Hello commented 2 years ago

所以不能uos了吗??

phoenixxie0 commented 2 years ago

所以不能uos了吗??

可以用,UOS微信的正式版发布了

phoenixxie0 commented 2 years ago

UOS的微信正式版发布了,所以登录接口变了,需要继续使用的可以删除efb_wechat_slave/vendor/itchat/components/login.py第107行的?mod=desktop https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?mod=desktop 修改成 https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage 前提条件是微信本来可以登录网页版

现在还有几个微信能登录网页版哦

我的微信本来能登录,所以我没有测试过原来不能登录的微信号通过这个方法能不能登录成功,如果你的号不能用网页版,可以帮忙测试一下,这个方法能不能登录

Charles-Hello commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

phoenixxie0 commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

你在docker的/usr/lib/python3.*/site-packages/efb_wechat_slave这个路径下修改我说的文件,试试看

Charles-Hello commented 2 years ago

ker的/usr/lib/python3.*/site-packages/efb_wechat_slave这

ballyhuang commented 2 years ago

之前我无法正常登,后面根据以下操作解锁了: 1.登录微信新上线的网页版文件传输助手 https://filehelper.weixin.qq.com 2.登录微信网页版,即可正常登录https://wx.qq.com 不知道失效没有

iskycc commented 2 years ago

之前我无法正常登,后面根据以下操作解锁了: 1.登录微信新上线的网页版文件传输助手 https://filehelper.weixin.qq.com 2.登录微信网页版,即可正常登录https://wx.qq.com 不知道失效没有

巧了,我刚刚想起来被人发过这个,去试了一下,不行了

phoenixxie0 commented 2 years ago

之前我无法正常登,后面根据以下操作解锁了: 1.登录微信新上线的网页版文件传输助手 https://filehelper.weixin.qq.com 2.登录微信网页版,即可正常登录https://wx.qq.com 不知道失效没有

不是同一个东西

iskycc commented 2 years ago

之前我无法正常登,后面根据以下操作解锁了: 1.登录微信新上线的网页版文件传输助手 https://filehelper.weixin.qq.com 2.登录微信网页版,即可正常登录https://wx.qq.com 不知道失效没有

不是同一个东西

之前确实是可以的,有人成功了

Charles-Hello commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

你在docker的/usr/lib/python3.*/site-packages/efb_wechat_slave这个路径下修改我说的文件,试试看

image 我找不到这个

tangli159 commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

你在docker的/usr/lib/python3.*/site-packages/efb_wechat_slave这个路径下修改我说的文件,试试看

image 我找不到这个

是在你的设备里面找到efb这个docker项目的文件夹,再按照这个路径找。比如我的脚本放置位置为:/volume1/@docker/btrfs/subvolumes/一串未知规律的数字(这串数字的文件夹可以根据docker创建时间判断)/

phoenixxie0 commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

你在docker的/usr/lib/python3.*/site-packages/efb_wechat_slave这个路径下修改我说的文件,试试看

image 我找不到这个 你用命令行来操作也是可以的啊,docker exec -it 你的docker名称 sed -i 's/webwxnewloginpage?mod=desktop/webwxnewloginpage/g' /usr/lib/python3.*/site-packages/efb_wechat_slave/vendor/itchat/components/login.py

Charles-Hello commented 2 years ago

哈哈哈哈我也是docker和那个都用过!!今天都不太行

你在docker的/usr/lib/python3.*/site-packages/efb_wechat_slave这个路径下修改我说的文件,试试看

image 我找不到这个 你用命令行来操作也是可以的啊,docker exec -it 你的docker名称 sed -i 's/webwxnewloginpage?mod=desktop/webwxnewloginpage/g' /usr/lib/python3.*/site-packages/efb_wechat_slave/vendor/itchat/components/login.py

image 找不到。哭了了

Charles-Hello commented 2 years ago

其实咱们有没有个tg群一起交流一下efb微信??

tangli159 commented 2 years ago

image 找不到。哭了了

我不是太懂,3.*能找到吗?你还是挨个进文件夹。或者看看你这Python具体是3.几?我这是3.9

phoenixxie0 commented 2 years ago

我不是太懂,3.*能找到吗?你还是挨个进文件夹。或者看看你这Python具体是3.几?我这是3.9

那就查一下吧 ls命令,一个个查

Charles-Hello commented 2 years ago

那就查一下吧 ls命令,一个个查

算了,我微信网页登陆不了。。。。。。我还是等我uos哭唧唧

tangli159 commented 2 years ago

算了,我微信网页登陆不了。。。。。。我还是等我uos哭唧唧

不是,他只测试了网页版没封禁的账号改了这个可以登录。不确定封禁了的情况,所以才需要封禁了账号的人来测试一下

Charles-Hello commented 2 years ago

不是,他只测试了网页版没封禁的账号改了这个可以登录。不确定封禁了的情况,所以才需要封禁了账号的人来测试一下

嗯。那我晚点再试试,谢谢大佬们

Charles-Hello commented 2 years ago

他只测试了网页版没封禁的账号改了这个可以登录。不确定封禁了 刚刚测试过了,网页版封禁的账号改了这个依然不能登录,报错一样

blueset commented 2 years ago

可以使用 web wc 的用户可以试试降级到 EWS 2.0.4 取消 UOS 补丁。

Charles-Hello commented 2 years ago

https://aur.archlinux.org/packages/wechat-uos/ 似乎uos更新了,我从这个帖子找到有用的信息,麻烦大佬们!

ipdear commented 2 years ago

坐等上游大佬解决方案

Ashinch commented 2 years ago

UOS的微信正式版发布了,所以登录接口变了,需要继续使用的可以删除efb_wechat_slave/vendor/itchat/components/login.py第107行的?mod=desktop https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?mod=desktop 修改成 https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage 前提条件是微信本来可以登录网页版

现在还有几个微信能登录网页版哦

我的微信本来能登录,所以我没有测试过原来不能登录的微信号通过这个方法能不能登录成功,如果你的号不能用网页版,可以帮忙测试一下,这个方法能不能登录

我试了,不行

wrhsd1 commented 2 years ago

更改了login.py或者降级2.0.4 都试了 仍然不行 然后删除了Session 清除后重新登录就可以了 不确定那个起作用了 还不能登录的可以试试

tangli159 commented 2 years ago

我用的docker版本。 根据@phoenixxie0 的指导,我一开始是直接把login.py这个代码的绿色部分删掉,红色部分还原。 IMG_20220104_085922_878.jpg

清除wxpy.pkl(仅清除这个,如果没有那更好),然后重启docker。

我发现可以登录了,而手机微信显示的网页版登录而非桌面版(我的网页版前几天解禁了)。如果你用微信桌面版登录你会发现手机微信显示的是Windows版本登录,和以前不一样了。

然后试试看还原之前的代码,仅删除?mod=desktop,继续清除wxpy.pkl ,重启docker,仍然登录成功,还是显示网页版。

Ostiepo commented 2 years ago

把桌面模式改掉 可以登录了 我这的情况是这样

dongyu66 commented 2 years ago

我用的docker版本。 根据 @phoenixxie0 的指导,我一开始是直接把login.py这个代码的绿色部分删掉,红色部分还原。 IMG_20220104_085922_878.jpg

清除wxpy.pkl(仅清除这个,如果没有那更好),然后重启docker。

我发现可以登录了,而手机微信显示的网页版登录而非桌面版(我的网页版前几天解禁了)。如果你用微信桌面版登录你会发现手机微信显示的是Windows版本登录,和以前不一样了。

然后试试看还原之前的代码,仅删除?mod=desktop,继续清除wxpy.pkl ,重启docker,仍然登录成功,还是显示网页版。

请问你也是用的 @phoenixxie0的docker版本吗?请教下为什么我把login.py中的?mod=desktop删除后,可以正常登录,但是TG交互变成了英文

blueset commented 2 years ago

在 GitHub 上推了回滚 UOS 补丁的更新,以及一众登录稳定性加固的尝试。有条件的欢迎尝试。若没有什么大问题将择日发到 PyPI。

tangli159 commented 2 years ago

是的,我用的他的。我的和以前一样,没什么区别呢。

nelwang commented 2 years ago

在 GitHub 上推了回滚 UOS 补丁的更新,以及一众登录稳定性加固的尝试。有条件的欢迎尝试。若没有什么大问题将择日发到 PyPI。

亲测用最新master的代码可以成功登陆,发送,收到消息。

212-mei commented 2 years ago

在 GitHub 上推了回滚 UOS 补丁的更新,以及一众登录稳定性加固的尝试。有条件的欢迎尝试。若没有什么大问题将择日发到 PyPI。

请问现在是否需要一定可以登陆网页微信才可使用

hadesxiong commented 2 years ago

删除 wxpy, git下了最新的源码导入还是不行。 仍然是老错误, Exception: Web WeChat logged your account out before master channel is ready.

xiaoqi-beta commented 2 years ago

在 GitHub 上推了回滚 UOS 补丁的更新,以及一众登录稳定性加固的尝试。有条件的欢迎尝试。若没有什么大问题将择日发到 PyPI。

请问现在是否需要一定可以登陆网页微信才可使用

测试了不能登陆网页版的,仍然无法登陆。然后能够登陆网页版的老号,使用最新 master 分支可以正常登陆使用。

endokai commented 2 years ago

自己的尝试和根据上面的总结:

原本能登陆Web微信的帐号用最新master或者回滚到UOS补丁前的版本可以用,用的就是原始的Web方式,原本能登的就能登。

不能登Web的没戏了,大部分人应该都是这样,因为UOS的方式已经封了。(我试了那个文件助手也是没用的不能解封)

endokai commented 2 years ago

其实咱们有没有个tg群一起交流一下efb微信??

赞同,有最新动态分享快一些

xiaoqi-beta commented 2 years ago

有人用过 wechaty 吗,不知道那个能不能登陆。看不懂他们那个奇奇怪怪的文档,不会用。要是有人试了可以用的话我再研究研究

hibiki233i commented 2 years ago

自己的尝试和根据上面的总结:

原本能登陆Web微信的帐号用最新master或者回滚到UOS补丁前的版本可以用,用的就是原始的Web方式,原本能登的就能登。

不能登Web的没戏了,大部分人应该都是这样,因为UOS的方式已经封了。(我试了那个文件助手也是没用的不能解封)

没有web登录权限的是彻底没戏了嘛?

xinxinyihao commented 2 years ago

有人用过 wechaty 吗,不知道那个能不能登陆。看不懂他们那个奇奇怪怪的文档,不会用。要是有人试了可以用的话我再研究研究

用了几个月wechaty的web,这个问题出了以后wechaty的web也不能用了。但是其他的ipad协议的还可以用,但是token要收费的,200一个月。再一个wechaty的文档,emmm。