博文

去掉v2rayNG对allowInsecure的报错

图片
前言 之前我们实现了 用自然语言指导Hermes去掉xray对allowInsecure的报错 那么, 能不能进一步的, 去掉v2rayNG对allowInsecure的报错? 面向GPT开发 Hermes 对接 mimo-v2.5-pro 以下内容为向 Agent 发的自然语言  把 https://github.com/2dust/v2rayNg 按最新 release tag  clone 到本地, 不要放 tmp 目录, 未来有长期分析任务 对项目全量代码进行分析 Agent的报告显示, AndroidLibXrayLite/ 是 xray-core 那么, 我们进一步地询问 AndroidLibXrayLite/  在项目中是源码, 还是从外部引用现成的结果? Agent的分析报告显示, AndroidLibXrayLite/ 指向 2dust/AndroidLibXrayLite 这个项目生成的结果. 那么, 我们进一步地询问 对比分析 github 2dust/AndroidLibXrayLite 和 xtls/xray-core Agent的分析报告显示, AndroidLibXrayLite 项目包含了 xray-core 的源码, 然后自己编译, 生成 Android 的 .aar 库 到这里, 我们的思路就非常清晰了. 第1步, 我们已经有了一份 不对allowInsecure报错的xray-core源码 https://github.com/crazypeace/Xray-core-allowInsecure 第2步, 建立一个AndroidLibXrayLite项目的 fork, 把导入的xray-core源码设置为第1步中的项目 建立一个AndroidLibXrayLite项目的 fork, 把导入的xray-core源码设置为 https://github.com/crazypeace/Xray-core-allowInsecure 第3步, 建立一个v2rayNG项目的fork,  把 AndroidLibXrayLite/ 指向为第2步中的项目生成的成果 建立一个v2rayNG项目的fork,  把 AndroidLibXrayLite/ 指向为...

修改 forkgram/tdesktop 实现 有@我消息的群 置顶 效果和PrimaryUnmutedMessages一样

图片
前言 Forkgram 有个功能 PrimaryUnmutedMessages 很适合对于一些群, 有任何新消息你都重点关注. 如, 但是我有一种情况, 我不关注这个群的每条新消息, 我只关注这个群里面 @我的消息. 怎么办呢? 面向GPT开发 Herems 对接 mimo-v2.5-pro 在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branch at-me-on-top 新建一个yml文件, 基于这个branch编译 分析 forkgram 在显示对话分组时的代码逻辑 着重分析, 如何知道  对话是否在分组中置顶,  对话有多少未读,  对话是否设置为mute, 对话中是否有人react emoji给我, 对话中是否有人at我. 分析 在显示对话分组时的排序优先级 当群组中有人@我时, 产生和 PrimaryUnmutedMessages 一样的效果 同意 方案A, 请实施. 但 Agent 实际上干活又不是方案A的修改, 改了另一个地方. 效果  可以看到除了原有的未读群组置顶的效果以外, 还增加了 @我消息的群 置顶的效果. Github  https://github.com/crazypeace/forkgram-tdesktop/tree/at-me-on-top

修改 forkgram/tdesktop 实现不查看某人的头像

图片
前言 某些人的头像18X 或者 是那种闪来闪去的动图 瞎眼睛. 所以需要屏蔽显示头像. 面向GPT开发1 Herems 对接 mimo-v2.5-pro 在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branch ban-avatar-pic 新建一个yml文件, 基于这个branch编译 分析代码 显示 avatar 图片的场景. 包括但不限于: 在群消息中显示, 在profile窗口显示, 在profile窗口点了avatar图片后全屏显示 讨论, 如果我希望某个用户的avatar图片显示时, 就和没有设置avatar图片一样的处理逻辑. 最高效的修改方式是怎样的? 采用 方案 A:在 PeerData 层拦截, 判断方式为该用户是否被blocked.  * 我就用 blocked 用户列表简单演示一下基本功能.  效果 群消息还显示头像, 点开 profile 窗口也显示头像.  不过profile 窗口的头像点不出来全屏显示了. 面向GPT开发2 向 Agent 描述了测试结果. Agent又分析了一圈, 说还有个函数要改. 效果 一打开群链接, 看到了群消息, 是能看到应该屏蔽的头像图片的. 但是点击 群消息的头像, 打开 profile 窗口之后, 头像就按未设置的样子显示了, 群消息里也不显示头像了. 面向GPT开发3 向 Agent 描述了测试结果. Agent又分析了一圈, 说 用户的 blocked 状态是慢加载的. 我换了一种方法验证. 先打开 Settings - Privacy and Security - Blocked users 加载了 blocked 用户列表后. 再打开群链接, 就能看到群消息的头像是按期望被屏蔽的. * 好吧. 只是演示一下基本功能, 我决定就做到这个样子为止了. 演示效果 Github https://github.com/crazypeace/forkgram-tdesktop/tree/ban-avatar-pic

修改 forkgram/tdesktop 移植 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users)

图片
前言 我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号. 所以我想把这个特定的功能 移植 到 Forkgram 上面. 面向GPT开发 Herems 对接 mimo-v2.5-pro 分析  Ayugram  项目 分析 https://github.com/AyuGram/AyuGramDesktop 与 源项目的不同之处, 哪些代码实现了过滤用户发言的功能? 聚焦  隐藏被屏蔽用户消息 这一功能, 分析完整的功能实现流程, 注明涉及的源文件及行数 把你分析的内容总结 为 .md 报告 在  Forkgram  上面开发 在 https://github.com/crazypeace/forkgram-tdesktop 新开一个 branch feat-hide-msg-from-blocked-users 新建一个yml文件, 基于这个branch编译 在 feat-hide-msg-from-blocked-users 分支上进行开发 功能: 在群组消息显示时, 屏蔽某个用户消息(Fully Hide Messages from Blocked Users) 参考分析报告 /root/ayugram-filter-analysis.md 同意你的修改方案,  实施优先级改动一下:  优先级 1  isHidden() - 主入口                 resizeContentGetHeight() - 已有检查 优先级 2  notificationText() - 通知预览  reply/quote - 回复引用         dialogs_layout - 对话预览      优先级 3 send_action - 输入状态         dialogs...

从forkgram/tdesktop github action编译 win10 amd64 二进制文件

图片
前言 我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号. 所以我想把这个特定的功能 移植 到 Forkgram 上面. 第一步当然是 从forkgram/tdesktop github repo编译 win10 amd64 二进制文件 不过, 这个过程并没有我想象中的顺利, 所以我单独保存为一篇blog 实践 Herems 对接 mimo-v2.5-pro https://github.com/crazypeace/forkgram-tdesktop 是 对 https://github.com/forkgram/tdesktop 的一份 fork 你调用项目中的 github action 编译一份 win10 amd64 环境的二进制 我以为项目里的action应该是成功的, 但其实是失败的. 而且每编译一次需要的时间还不短(1.5h 到 2h) 在此, 记录一些重要的交互 你会用到下面这些数据, 这些数据只能写到 github secret 里, 不能暴露在项目中. App api_id: xxxxxxxxx App api_hash: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 不考虑 win7 兼容性, 只考虑 win10 amd64环境 过程中还有一些其它修正, 但是我是让 Agent 自己去根据报错信息自己修正的. 最终的 action 文件 https://github.com/crazypeace/forkgram-tdesktop/blob/dev/.github/workflows/win.yml ======== 后记 全新编译需要时间  4h 19m 33s 修改代码后的再次编译 (利用以前编译的action cache) 时间  2h 3m 11s 理论上说, 小改了一下代码再编译不应该要这么久. 我在 VPS 上改动代码后再编译也不需要这么久.  不知道 github action 文件需要做哪些设置. 我已经问了一遍 免费版的国内AI了, 没有好答案. 希望有大佬出手解惑.

修改 telegram 弹出emoji窗口的大小

图片
前言 之前 我们实现了编译 forkgram/tdesktop https://crazypeace.eu.org/2026/06/oracle-arm-vps-2cpu-12ram-47hdd-forkgram-tdesktop-aqtinstall-qt.html https://crazypeace.eu.org/2026/06/2g-x86-vps-forkgram-tdesktop-swap-8g.html 那么, 实验一下能不能用自然语言指挥 Agent 帮我修改 telegram 吧! 比如, 鼠标移到emoji按钮上时, 自动弹窗, 我想让这个弹窗高度是现有的一半, 宽度是现有的2/3. 面向GPT开发 先完成 forkgram/tdesktop 项目的编译, 略. Herems 对接 mimo-v2.5-pro 把 telegram运行起来, 截个图看看. Agent 装了 Xvfb, 截了个图 开个VNC, 让我连上去操作 Agent开了个VNC, 我连上去, 完成登录Telegram账户的操作. 现在我已经登录了, 你看一下界面 Agent 说看到了.  注意界面右下角的 emoji 按钮, 它在语音输入按钮的左边 当我把鼠标移到 emoji 按钮上时, 会弹出一个 emoji, stiker, gif 选择窗口. 我需要你修改 forkgram 的代码, 将这个弹出窗口的高度改为原来的 1/2, 宽度改为原来的 2/3 Agent 开始分析代码, ... , 说"找到了!定义在 chat_helpers.style 文件中: 现在修改尺寸: - 宽度: 345px × 2/3 = 230px - 最小高度: 278px ÷ 2 = 139px - 最大高度: 640px ÷ 2 = 320px" 改完之后, 让Agent编译生成新的二进制文件, 运行起来, 开VNC让我操作. 验收效果: 完

2G内存 x86_64 VPS 编译 forkgram/tdesktop 内存不够 改大 swap 空间 编译成功 但时间很长

图片
前言 我的VPS配置 2 vCPU  2GB RAM 120GB Disk 想编译 https://github.com/forkgram/tdesktop 项目 面向GPT开发 Hermes 对接 mimo-v2.5-pro 把 https://github.com/forkgram/tdesktop clone到本地, 并完成编译 尝试了几次, 总是失败 分析一下你做过了什么, 得到什么结果 发现需要 40+ 外部库 (ada, openssl, ffmpeg, qt, webrtc...) 这些库需要预先编译安装到 /usr/local 或 ../Libraries - 这个过程只能全部成功或全部失败吗? 能不能一个一个编译? Agent 改为一个一个编译. 结果在编译 qtgui 的时候内存爆了, 编译中止. 后来 agent 找到办法, 安装Qt, 然后 DESKTOP_APP_USE_PACKAGED=ON Qt就不用编译了. 然后, 完成了 tg_owt (WebRTC) 的编译. 但还是, 在最终生成 telegram 时内存爆了. 尝试 方案 改大 swap 空间 改成 4GB, 还是爆内存 改成 8GB, 编译成功 编译时间非常久, 特别地, 我这个VPS是HDD硬盘不是SSD. 你可以给Agent下个定时任务 给你自己设置一个30分钟的定时任务 用于监控 tdesktop 编译的进度 如果编译出错, 检查出错原因, 修复, 再次开始编译 结论 如果你只有2G内存的VPS, 也是可以玩telegram开发的. 只不过要花特别多的时间在编译上面. 非常不推荐.

换gmail前缀前 先检查有哪些网站使用了google一键登录 改为邮箱登录

图片
我非常幸运, 是先看到了消息说 { 有人更换了gmail前缀后, 在google一键登录的网站被认为是新用户 }, 然后才可以 { 更换gmail前缀 } 的 所以我今天是这么干的: * 假设我原来的gmail是 old@gmail.com , 我想改为 new@gmail.com 1. 找到哪些网站被google一键登录了 https://myaccount.google.com/connections 特别是, 有些奇怪的, 你从 名字 并不能知道是哪个网站使用了google一键登录. 需要点击一下"查看详情" 看到网站的域名 2. 去这个网站登录, 然后添加  old@gmail.com  邮箱登录 3. 在这个网站关闭 google 一键登录 * 建议网站的页面不要关了, 一会儿还要用 * 对于所有你觉得有数据需要关联的重要网站, 重复 第 2, 3 步 4. 换gmail前缀  new@gmail.com https://myaccount.google.com/google-account-email 这时,  old@gmail.com  和 new@gmail.com  同时存在, 同时可用 5. 去网站修改登录邮箱为  new@gmail.com * 前面建议你网站的页面不关, 这里就方便了 6. 给网站添加google一键登录 * 如果你觉得网站不需要使用 google 一键登录, 就用旧邮箱登录也行, 那么就不需要 第 5, 6 步

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

去掉xray v2rayN对allowInsecure的报错