Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[alpha] wine + docker + Windows 版微信计划 #66

Open
9 of 10 tasks
danni-cool opened this issue Dec 2, 2023 · 45 comments
Open
9 of 10 tasks

[alpha] wine + docker + Windows 版微信计划 #66

danni-cool opened this issue Dec 2, 2023 · 45 comments

Comments

@danni-cool
Copy link
Owner

danni-cool commented Dec 2, 2023

Caution

目前该分支正在 WIP 中,如果遇到预期之外的问题,请留言

背景

目前尝试方案(基于wechaty-puppet-engine + hook)

  • wine环境 和 docker 相关

    • 解决 wine 环境Windows 版本 Node 无法运行的问题,以及 sidecar 的 frida 模块找不到 Process的问题
    • 解决无法运行wechat的问题
    • 解决遇到wsl编译的微信但在纯ubuntu上dockfile构建不成功 Windows分支docker打包卡住了 #54
    • 替换 sureer/wine-box:8.0.2(占用率极高)100% -> 50%
    • 重新编写镜像
    • wine 环境重启崩溃无法重启问题修复
    • 降级windows版本,使用hook版本,确保成功
    • nodeService 跟随docker镜像自动化
  • windows 服务部署

    • 使用hook版本 替换frida协议
    • webhook 服务编写

历史方案(废弃)(基于puppet-wechaty-xp)

@danni-cool danni-cool pinned this issue Dec 2, 2023
@danni-cool danni-cool added the enhancement New feature or request label Dec 2, 2023
@dgo2dance
Copy link

windows docker运行后 不能显示登录二维码是什么原因
image

@danni-cool
Copy link
Owner Author

@dgo2dance 貌似你百度也上不去,docker容器没网吗

@dgo2dance
Copy link

dgo2dance commented Dec 4, 2023

@dgo2dance 貌似你百度也上不去,docker容器没网吗

是的 docker容器没网 其他docker容器可以的 不知道原因在哪里 mac系统 mac上面装的docker

@danni-cool
Copy link
Owner Author

@dgo2dance 重新创建容器、桥接网络等,先排除下环境因素

@dgo2dance
Copy link

@dgo2dance 重新创建容器、桥接网络等,先排除下环境因素

重新创建容器可以了,收发消息目前分支可以吗

@danni-cool
Copy link
Owner Author

danni-cool commented Dec 4, 2023

@dgo2dance 重新创建容器、桥接网络等,先排除下环境因素

重新创建容器可以了,收发消息目前分支可以吗

我再推一个镜像上去,目前都得手动(启动服务、安装微信、崩溃后重启等),功能支持性看issue,收到不支持的消息如图片、视频、语音等微信会崩溃

@KevinGong2013
Copy link

discord可以邀请一下不?

@danni-cool
Copy link
Owner Author

@danni-cool
Copy link
Owner Author

@dgo2dance 重新推了windows镜像 和 更新了readme

@danni-cool danni-cool unpinned this issue Dec 4, 2023
@dgo2dance
Copy link

@dgo2dance 重新推了windows镜像 和 更新了readme

确实会存在机率 应用崩溃的问题

@dgo2dance
Copy link

@dgo2dance 重新推了windows镜像 和 更新了readme

确实会存在机率 应用崩溃的问题

应用崩溃的问题,有思路吗,崩溃是影响可用性

@danni-cool
Copy link
Owner Author

@dgo2dance WIP 分支,暂时无法保证稳定可用性,还有很多底层问题要解决,有兴趣可以一起研究

@techctu
Copy link

techctu commented Feb 1, 2024

安装完成后发现还是很容易崩溃,正在想办法定位问题。目前发现崩溃后重启字体就会失效,出现口口口口。

@danni-cool
Copy link
Owner Author

@techctu 目测是frida守护启动问题,后面有计划下掉这个服务,字体的话不前不打算解决

@ShiFangJuMie
Copy link

有无可能支持读取公众号的api?想把关注的公众号的推文用rss输出给阅读器

@danni-cool
Copy link
Owner Author

有无可能支持读取公众号的api?想把关注的公众号的推文用rss输出给阅读器

https://docs.rsshub.app/routes/social-media#xin-bang-wei-xin-gong-zhong-hao

@ShiFangJuMie
Copy link

ShiFangJuMie commented Feb 15, 2024

有无可能支持读取公众号的api?想把关注的公众号的推文用rss输出给阅读器

https://docs.rsshub.app/routes/social-media#xin-bang-wei-xin-gong-zhong-hao

这个已经down了,我现在用的就是RSSHUB,主要还是数据源的问题,这里绝大多数的数据源我都试过了,基本上现在能用的就二十次幂。

用电报转发的方案我是没试过,不确定是不是可以稳定用。

主要吧,已经在用本项目做bot了,真的没有那么多微信号(和手机)可以分配到其他的项目上。
手机上还不能切换成其他的号,一个号就锁定一台手机

@ShiFangJuMie
Copy link

ShiFangJuMie commented Feb 16, 2024

还有一种方式,是用EFB的方案,他也是和本项目类似。
DIYgod/RSSHub#2172 (comment)

所以有个新的思路,本项目支持公众号推文链接,所以应该是可以监听到这个消息然后转发到TG频道这样子,就可以用同一个微信号既要又要

edit: 傻了呀,都已经接收到信息了,还转TG干嘛,自己写进数据库就好了嘛~

edit2: 实践了,如果一个推文有多篇文章的话,只能得到第一条主推文的信息,下面的推拿不到

@danni-cool
Copy link
Owner Author

@ShiFangJuMie 一个推文多篇文章是如何实现的,不是每次推文通过bot的收消息接口,入库一次吗

@ShiFangJuMie
Copy link

@ShiFangJuMie 一个推文多篇文章是如何实现的,不是每次推文通过bot的收消息接口,入库一次吗

我的意思是,发文的人是发了多篇,通过接口是只接收到了一篇

以这个为例,C919那篇是没办法拿到

{
	"description": "",
	"thumbnailUrl": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/oq1PymRl9D6qg8YXiaVFVOicJp5b3Hzhib14QZXs1Xsr2cibV27PUghGlQkia9tJGdEH0PFVhp2FOKEPTprQnwCCJXg/640?wxtype=jpeg&wxfrom=0",
	"title": "最后50米连超5人!中国队上演“超级逆转”",
	"url": "http://mp.weixin.qq.com/s?__biz=MTI0MDU3NDYwMQ==&mid=2657613431&idx=1&sn=8ca0f669044cb7c4739c85eedd451b0c&chksm=7b824b8865ad93b1ee2ff09fb9d840a2348aed79762d2463cd6f6e59b8375e46aa80a1c7128c&scene=0&xtrack=1#rd"
}

推文是这样的:
image

@ShiFangJuMie
Copy link

我将这两天折腾公众号转RSS这件事整理了一下,发布在这里:

https://linux.do/t/topic/15122/1

@9k001
Copy link

9k001 commented Feb 18, 2024

我将这两天折腾公众号转RSS这件事整理了一下,发布在这里:

https://linux.do/t/topic/15122/1

重新发一下吧,没有了

@ShiFangJuMie
Copy link

我将这两天折腾公众号转RSS这件事整理了一下,发布在这里:
https://linux.do/t/topic/15122/1

重新发一下吧,没有了

被站长移入高级区了,不登录以后水点帖子升级,没法看到了=、=
我发个副本
https://granite-ocarina-4d0.notion.site/RSS-RSS-e960f34f46d44321b2c2add9ed1f0a2e?pvs=4

@9k001
Copy link

9k001 commented Feb 19, 2024

我将这两天折腾公众号转RSS这件事整理了一下,发布在这里:
https://linux.do/t/topic/15122/1

重新发一下吧,没有了

被站长移入高级区了,不登录以后水点帖子升级,没法看到了=、= 我发个副本 https://granite-ocarina-4d0.notion.site/RSS-RSS-e960f34f46d44321b2c2add9ed1f0a2e?pvs=4

我还专门注册了一个号进去,还是没给看。
我反复看了半天,业务逻辑是

wechatbot-webhook 获得公众号文章 -->webhook--> 发送至 Python Flask Docker --> 生成 RSS

FreshRSS订阅上述RSS
我改天试试
Python 的项目写的不错,给了很大的启发

@ShiFangJuMie
Copy link

高级区里有很多好东西,要发点/回点帖子升到1级

@9k001
Copy link

9k001 commented Feb 19, 2024

高级区里有很多好东西,要发点/回点帖子升到1级

空了常去看看。。。
你那个业务逻辑是我说得那样么?。。

@ShiFangJuMie
Copy link

高级区里有很多好东西,要发点/回点帖子升到1级

空了常去看看。。。 你那个业务逻辑是我说得那样么?。。

说业务逻辑这个词就稍微大了一点,其实也没啥逻辑,就是个顺序:
(收)通过RECVD_MSG_API接收url_link类型的消息 -> (写)存入数据库 -> (读)从数据中读出来生成RSS

@Jiabccc
Copy link

Jiabccc commented Feb 20, 2024

我现在有一个长期开机的windows虚拟机并长期登录着windows版微信,请问有没有什么方法可以利用这个使用bot呢?

@danni-cool danni-cool changed the title wine + docker + Windows 版微信计划 [alpha] wine + docker + Windows 版微信计划 Feb 20, 2024
@danni-cool
Copy link
Owner Author

@Jiabccc windows分支还有很多问题,目前计划替换掉原先基于puppet-xp那套,所以暂时还不能稳定部署和调用,目前可稳定运行的仍然是web协议,windows 协议会有空陆续迭代

@danni-cool danni-cool removed the enhancement New feature or request label Feb 24, 2024
@ShiFangJuMie
Copy link

linux版微信来了,不知是否有意义
https://www.52pojie.cn/thread-1896902-1-1.html

@danni-cool
Copy link
Owner Author

linux版微信来了,不知是否有意义 https://www.52pojie.cn/thread-1896902-1-1.html

离可暴露api调用还差一个大神的距离

@techctu
Copy link

techctu commented Mar 19, 2024 via email

@danni-cool
Copy link
Owner Author

感谢分享。最近碰到puppet xp联系人缓存更新时间过长的问题,还没有找到解决办法。新联系人需要超过1天后才能获取,不知你是否有解决方案?发自我的iPhone------------------ 原始邮件 ------------------发件人: danni.cool @.>发送时间: 2024年3月8日 11:42收件人: danni-cool/wechatbot-webhook @.>抄送: ctu @.>, Mention @.>主题: Re: [danni-cool/wechatbot-webhook] [alpha] wine + docker + Windows 版微信计划 (Issue #66) linux版微信来了,不知是否有意义 https://www.52pojie.cn/thread-1896902-1-1.html 离可暴露api调用还差一个大神的距离 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.> [ { @.": "http://schema.org", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "#66 (comment)", "url": "#66 (comment)", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { @.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

puppet-xp 调试起来问题很多,可以看看这个hook版本的https://gitee.com/daenmax/pc-wechat-hook-http-api

@techctu
Copy link

techctu commented May 18, 2024

感谢分享。最近碰到puppet xp联系人缓存更新时间过长的问题,还没有找到解决办法。新联系人需要超过1天后才能获取,不知你是否有解决方案?发自我的iPhone------------------ 原始邮件 ------------------发件人: danni.cool @.>发送时间: 2024年3月8日 11:42收件人: danni-cool/wechatbot-webhook _@**._>抄送: ctu _@.>, Mention @._>主题: Re: [danni-cool/wechatbot-webhook] [alpha] wine + docker + Windows 版微信计划 (Issue #66) linux版微信来了,不知是否有意义 https://www.52pojie.cn/thread-1896902-1-1.html 离可暴露api调用还差一个大神的距离 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: _@.> [ { @._": "http://schema.org", _@.": "EmailMessage", "potentialAction": { @._": "ViewAction", "target": "#66 (comment)", "url": "#66 (comment)", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { _@_.*": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

puppet-xp 调试起来问题很多,可以看看这个hook版本的https://gitee.com/daenmax/pc-wechat-hook-http-api

感谢回复,最近正好碰到ReadMe里提到的内存占用问题。

@hhhhhge
Copy link

hhhhhge commented May 25, 2024

感谢分享。最近碰到puppet xp联系人缓存更新时间过长的问题,还没有找到解决办法。新联系人需要超过1天后才能获取,不知你是否有解决方案?发自我的iPhone------------------ 原始邮件 ------------------发件人: danni.cool @.>发送时间: 2024年3月8日 11:42收件人: danni-cool/wechatbot-webhook _@**._>抄送: ctu _@.>, Mention @._>主题: Re: [danni-cool/wechatbot-webhook] [alpha] wine + docker + Windows 版微信计划 (Issue #66) linux版微信来了,不知是否有意义 https://www.52pojie.cn/thread-1896902-1-1.html 离可暴露api调用还差一个大神的距离 —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: _@.> [ { @._": "http://schema.org", _@.": "EmailMessage", "potentialAction": { @._": "ViewAction", "target": "#66 (comment)", "url": "#66 (comment)", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { _@_.*": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

puppet-xp 调试起来问题很多,可以看看这个hook版本的https://gitee.com/daenmax/pc-wechat-hook-http-api

感谢回复,最近正好碰到ReadMe里提到的内存占用问题。

这个的文档是不是要付费

@techctu
Copy link

techctu commented May 29, 2024

hello,看一下这个 https://github.com/dockur/windows 没有采用wine而是使用qemu来虚拟化。我已经安装了win11,复制安装程序安装扫码登录了,还没弄开发环境。

@danni-cool
Copy link
Owner Author

hello,看一下这个 https://github.com/dockur/windows 没有采用wine而是使用qemu来虚拟化。我已经安装了win11,复制安装程序安装扫码登录了,还没弄开发环境。

我理解整个windows镜像拖下来确实能解决很多环境报错问题,但是我想着是否可以做得极致一点,只提供必要的运行时环境,当然这个可能是最保险的方案。

@techctu
Copy link

techctu commented Jun 3, 2024

我理解整个windows镜像拖下来确实能解决很多环境报错问题,但是我想着是否可以做得极致一点,只提供必要的运行时环境,当然这个可能是最保险的方案。

只提供必要的运行时环境有不少好处,比如能节约硬件资源,适合精简强干的精英团队。

@wtlihao
Copy link

wtlihao commented Jun 17, 2024

@ShiFangJuMie 一个推文多篇文章是如何实现的,不是每次推文通过bot的收消息接口,入库一次吗

我的意思是,发文的人是发了多篇,通过接口是只接收到了一篇

以这个为例,C919那篇是没办法拿到

{
	"description": "",
	"thumbnailUrl": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/oq1PymRl9D6qg8YXiaVFVOicJp5b3Hzhib14QZXs1Xsr2cibV27PUghGlQkia9tJGdEH0PFVhp2FOKEPTprQnwCCJXg/640?wxtype=jpeg&wxfrom=0",
	"title": "最后50米连超5人!中国队上演“超级逆转”",
	"url": "http://mp.weixin.qq.com/s?__biz=MTI0MDU3NDYwMQ==&mid=2657613431&idx=1&sn=8ca0f669044cb7c4739c85eedd451b0c&chksm=7b824b8865ad93b1ee2ff09fb9d840a2348aed79762d2463cd6f6e59b8375e46aa80a1c7128c&scene=0&xtrack=1#rd"
}

推文是这样的: image

现在这个有解决吗?

@danni-cool
Copy link
Owner Author

@wtlihao web协议基本无大的折腾空间,推文诉求我推荐你使用we-we-rss

@9k001
Copy link

9k001 commented Jun 17, 2024

@wtlihao web协议基本无大的折腾空间,推文诉求我推荐你使用we-we-rss

看了一下 wewe-rss基于微信读书
我记得有提到过,微信读书接口容易被封。。。所以。。比较难。

@zcqzcq
Copy link

zcqzcq commented Sep 13, 2024

windows 安装python 报错
backtrace.txt

@danni-cool
Copy link
Owner Author

windows 安装python 报错 backtrace.txt

故障现象:
不同环境现象不同,目前遇到以下几种
启动过程中Wine报错并退出
Wine启动立即报错并退出
xRDP连接报错
故障分析:
目前启动异常的情况,常见于使用旧发行版系统的服务器, 如:CentOS 7 (kernel 4.x)。
经验证,使用较新发行版系统的服务器,都可以正常运行。 如:Fedora 39/40 (kernel 6.x)
具体原因暂不明确,推测与内核版本有关。
解决方案:
建议使用较新的Linux发行版。

@BluerAngala
Copy link

发现另外一个开源项目,是基于 ipad 协议,提供了较多的API调用,可能会对本项目有所启发。

https://github.com/Devo919/Gewechat

同时,还有两个配套的项目:

1.js 调用 https://github.com/mikoshu/gewechaty
2.python 调用 https://github.com/hanfangyuan4396/gewechat-python

@danni-cool
Copy link
Owner Author

发现另外一个开源项目,是基于 ipad 协议,提供了较多的API调用,可能会对本项目有所启发。

https://github.com/Devo919/Gewechat

同时,还有两个配套的项目:

1.js 调用 https://github.com/mikoshu/gewechaty 2.python 调用 https://github.com/hanfangyuan4396/gewechat-python

点个赞先,回头研究研究

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests