博文

目前显示的是标签为“案例”的博文

查询 电报 Telegram 账号已加群组频道 方便新号加入

图片
前言 有群友说, 开了新的电报 Telegram 账号后, 不知道怎么把老号的群加回来 https://t.me/duangvpsfs/3769416 思路 先问问GPT 有没有可能性 telegram bot 或 telethon 可以 查询 某个 telegram 账号已加入的 group 和 channel 吗? 结论是 telethon 可以, 而且给出了一些代码 from telethon import TelegramClient client = TelegramClient('session_name', api_id, api_hash) async def get_my_dialogs():     await client.start()          # 获取所有对话(包括群组、频道、私聊)     async for dialog in client.iter_dialogs():         if dialog.is_group:             print(f"群组: {dialog.name}")         elif dialog.is_channel:             print(f"频道: {dialog.name}") with client:     client.loop.run_until_complete(get_my_dialogs()) 我自己有一定的编程能力, 当然我能看出来, 这样的代码只输出了群组和频道的名称. 更准确地应该还要输出群组和频道的 username 但, 假设我就是一个不会编程的小白, 那么我会先试试这个代码是什么效果. 调试 找了个VPS (用你自己的电脑也是可以的, 只要安装 python 并且解决翻墙的问题) 把代码保存为 .py 文件上传 比如, 文件名 tg-get-group-channel.py 然后在VPS上运行一下, 有报错 把报错复制粘...

在浏览器 Edge Chrome Firefox 中禁用 快捷键 Ctrl+Shift+C

图片
我在 Xshell 中设置了 复制 操作的快捷键为 Ctrl+Shift+C 但是这个快捷键在 浏览器中会打开 开发者工具.  有的时候, 在Xshell和浏览器之间复制粘贴的时候, 可能会一不小心在浏览器里面按了 Ctrl+Shift+C 就 ...  在RSS里刚好读到这一篇 <Microsoft Edge 关闭快捷键> 于是就自己动手实践了一下, 而且不仅是 Edge, 我还找到资料处理了 Chrome 和 Firefox  记录如下 Edge  使用 regedit 编辑注册表 在 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge 下新建字符串值 ConfigureKeyboardShortcuts 值设置为  {"disabled": ["dev_tools_elements"]} * M$官方信息源如下 注册表操作 https://learn.microsoft.com/en-us/deployedge/microsoft-edge-browser-policies/configurekeyboardshortcuts Edge支持哪些取值 https://learn.microsoft.com/en-us/deployedge/edge-learnmore-configurable-edge-commands Chrome  安装扩展  Disable keyboard shortcuts 进入 扩展程序 -> 键盘快捷键 chrome://extensions/shortcuts 给  Disable keyboard shortcuts 这个插件的  Do nothing  功能设置一个快捷键  Ctrl+Shift+C   Firefox  安装扩展 Shortkeys (Custom Keyboard Shortcuts) for Firefox 设置 扩展的选项 设置  ctrl+shift+c 的功能为 Do nothing ======== 完

在 VPS 注册页面 和 美国人信息页面 高亮显示关键字 油猴篡改猴tampermonkey脚本

图片
前言 在购买VPS的时候, 会遇到需要填写个人信息的时候. 我们常常会找一个生成随机美国人信息的网页. 我有一个想法, 希望快速方便的知道哪个信息填写到哪里. 面向GPT开发 有这样一个HTML页面 页面中可能包含 "first name", 也有可能 是在 input元素的 placeholder 属性中包含 "first name" 我需要查找并高亮这些 "first name"  把这些需求发给GPT. GPT生成的结果分为了CSS和JS脚本两部分. 于是再向GPT提要求 需要整合为可以在浏览器的 console 执行的 js 文件  GPT生成了一个整合的JS文件. 在浏览器 F12 开发者工具的Console中进行测试. 对于 RackNerd 的注册页面, 效果为红色边框. 对于美国人信息页面, 效果为黄色文字底色 * 注意, 此页面上, 写的是 Firstname 而不是 First name. 代码需作一点修改. 在有一些 美国人信息页面上, 没有 Firstname 这样的内容, 只有 Full name 所以我们向GPT继续提出修改意见. 把 first name, firstname, full name, fullname, 全名, 姓名 归为一类, 显示同样的高亮颜色或边框颜色. 对于同一类关键字, 边框颜色和文字底色颜色应该一致. 测试, 结果可以了. 接下来, 把这个结果推广到其它信息, 并且要求不同类的信息, 使用不同的颜色. 把 first name, firstname, last name, lastname, full name, fullname, 全名, 姓名 归为一类, 显示同样的高亮颜色或边框颜色. 把 phone number, phone, 电话 归为一类. 把 street address, street, 街道地址, 街道 归为一类. 把 city, 城市 归为一类. 把 full state name, state, 州全称, 州 归为一类. 把 postcode, zip code, 邮编, 归为一类. 以上每一类, 都要使用独特鲜明的颜色, 不应该与其它任何一类颜色相同. GPT返回的结果, 在浏览器console中测试. 效果不错. 用油猴插件...

YouTube 视频信息页面 网速换算为 MB/s 油猴篡改猴tampermonkey脚本

图片
前言 看到一个群友的YouTube 视频信息页面 网速换算为 MB/s 手痒, 也想自己整一个. 分析 F12开发者工具, 选择视频信息面板上的网速 HTML元素. 右键菜单 Copy JS path 得到 显示网速的文字 HTML 元素path为 document.querySelector("#movie_player > div.html5-video-info-panel.ytp-sfn > div > div:nth-child(9) > span > span:nth-child(2)") 面向GPT开发 我有一个html页面, 其中这个位置的元素 1) document.querySelector("#movie_player > div.html5-video-info-panel.ytp-sfn > div > div:nth-child(9) > span > span:nth-child(2)") 内容是  17085 Kbps 这样的格式, 我需要在这个元素 1) 的后面, 增加一个元素 2) , 内容为 元素 1) 的内容换算为 MB/s 的单位. 元素 2) 的数字 应该每10秒刷新 GPT开发的结果, 先在 F12 工具的 console 里面测试效果. 效果正常. 用油猴插件固定此脚本的效果 具体细节步骤略. 油猴插件 https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo 脚本文件名应该为 xxx.user.js @match 中为 https://www.youtube.com/watch* 效果为匹配所有YouTube播放页面url GPT开发的代码填写到 // You code here ... 下面 上传GitHub https://github.com/crazypeace/youtube-MB-per-s ======== 后记 本次使用GPT的过程中, 用到的GPT是 Gemini

Win10 内存不足 Chrome页面崩溃 Disable-MMAgent关闭内存压缩 关闭sysMain服务

图片
来源 https://eller.top/posts/109 我只是记录一下, 以防信息源博客不见, 也方便以后我自己搜索. 1. 关闭内存压缩 管理员身份启动PowerShell 命令行执行 Disable-MMAgent -mc 检查关闭内存压缩, 在命令行执行 Get-MMAgent 检查结果中应包含 MemoryCompression            : False 2. 关闭sysMain服务 关闭windows服务的方法有很多, 问一下Google和GPT都容易得到答案. ======== 完

下载 独树不成林 播客的全部封面 并做成 电报telegram 贴纸sticker

图片
1. 得到这个播客的RSS 感谢 https://medium.com/彼得潘的試煉-勇者的-100-道-swift-ios-app-謎題/236-利用-apple-podcasts-網站開發有趣的-podcast-app-99b057270be1 我们先找到播客的apple podcast地址 https://podcasts.apple.com/cn/podcast/独树不成林/id 1711052890 注意id的部分 然后把id拼到这个链接的后面 https://itunes.apple.com/lookup?id= 得到 https://itunes.apple.com/lookup?id= 1711052890 用浏览器访问, 得到一个JSON格式的文件. 用文本工具打开(你也可以找JSON工具, 如 https://www.json.cn/ ) 找到 feedurl https://feed.xyzfm.space/y9qnpfdrctnx 这就是RSS了. 2. 找到封面图片 用浏览器打开RSS链接, 找到像下面这样的部分就是封面图片 <itunes:image href=" https://image.xyzcdn.net/Fgd_z5yexkQF_GB0LF4Xncqqf8CU.png "/> 3. 面向GPT开发 实现一个基于HTML JS的工具 页面包含以下几个部分 1) 文本框 可输入podcast的RSS地址 2) 文本框 可从 1) 获取RSS内容, 也可以手工输入RSS内容 3) 文本框 分析 2) 的内容, 列出所有封面图片的地址. 可手工编辑 添加或删除 4) 显示 3) 中的地址对应的图片 举例: https://feed.xyzfm.space/y9qnpfdrctnx 是一个podcast的RSS地址, 会被填写到 1) 1) 可得到RSS数据, xml格式.  会被填写到 2) 2) 中有 <itunes:image href="https://image.xyzcdn.net/Fgd_z5yexkQF_GB0LF4Xncqqf8CU.png"/> 这样的元素, 应该将 https://image.xyzcdn.net/Fgd_z5yexkQF_GB0LF4X...

去掉cfnew的视觉特效 的操作整合到Github Action里

前言 上一篇我们实现了去掉cfnew的视觉特效的结果 但是, 如果明天cfnew发新版本了呢? 我们又要打开文件, 找到位置, 修改, ... 还是有点麻烦的吧? 有没有再懒一点的办法呢? 思路 上一篇 的具体流程是这样的: 1. 从 byjoey/cfnew 拿到新的 "明文源吗" 2. 修改 "明文源吗" 并上传 3. Github Action完成混淆并保存为 "少年你相信光吗" 我们能不能把第2步用 Github Action 实现? 面向GPT开发 有这样一个github项目 项目里有一个文本文件 file1 我需要用Github Action对文件做如下操作: 1) 查找所有的 animation: 替换为 //animation: 2) 查找所有的 function createMatrixRain() {, 在下一行添加一行 return; 这个Github Action不要自动触发, 只能手动触发 把上面的需求发给GPT, 得到结果 name: Modify File1 on:   workflow_dispatch:  # 手动触发 jobs:   modify-file:     runs-on: ubuntu-latest          steps:       - name: Checkout repository         uses: actions/checkout@v4         with:           token: ${{ secrets.GITHUB_TOKEN }}              - name: Modify file1         run: |           # 1. 替换 animation: 为 //animation:       ...

去掉cfnew的视觉特效 保留业务逻辑

图片
前言 有人反馈  Joey的cfnew  的页面效果搞得设备好卡, 希望把炫酷特效去掉. 我在群里提过一句, 向GPT把需求描述清楚, 整个事情并不困难. 过了一段时间, 还是有人在发这样的消息.  那么, 我来玩玩吧. 在这个GPT的时代, 我们来尝试一下这个过程到底是困难还是容易. 技术基础 不受CloudFlare干扰的Worker调试环境 (其实, 严格地说, 这并不是必要条件. 只是在不确定修改代码是否正确时, 有一个方便的调试环境会帮助许多. 所以我多花了一点时间先把这个调试环境搞定) 面向GPT开发 把 明文源码 文件上传到GPT, 问 分析上传的文件, 这是一个用于cloudflare worker环境的js脚本 请分析出显示HTTP页面中的视觉特效部分, 位于代码的什么位置. GPT的回答 在代码中搜索 createMatrixRain 找到这个函数, 在函数的开头添加一个 return, 让函数提前结束. 注意, 有2处, 一个是主页, 一个是 path/UUID 页面. 保存修改后, 让wrangler重新跑起来. 页面上的文字下雨效果消失了. 发现 path/UUID 页面的卡片上还有一些动效, 像是高光扫过平面一样. 继续看GPT的回答, 在代码中查找 animation , 注释掉. 保存修改后, 让wrangler重新跑起来. 这下页面上全部动效都没有了. 接下来, 我们上传到真实的 cloudflare worker 环境试试 混淆代码 先fork一下 原项目 , 打开我们的fork项目的 Github Aciton 允许运行. 然后把我们修改的 "明文源吗" 上传, 等Github Action进行混淆. (原项目就叫"源吗", 我保持原样而已) 部署到真实的 worker 环境 等混淆完成, 把 "少年你相信光吗" 的内容部署到 worker. 成功了. 各项功能正常. 实际使用场景测试 从 https://xxxx.yyyy.workers.dev/ 的页面获取订阅, 导入翻墙客户端软件试用. * workers.dev 墙内屏蔽的问题用 uniproxy 解决 https://www.youtube.com/watch?v=VpQlGQq7FCk 正常. Gi...

在VPS上本地运行CloudFlare Worker环境 Wrangler V3

图片
前言 众所周知, CloudFlare 的 Worker 上面部署项目的时候, 有可能因为关键字触发 1101 错误. 当然圈子里已经有成熟的代码混淆方案. 但是为了我们更好的调试和开发, 最好是有一个不受CloudFlare干扰的开发环境. CloudFlare官方就提供了一个本地运行的Worker环境方案 Wrangler V3 安装 Wrangler V3 参考官方文档  https://developers.cloudflare.com/workers/wrangler/install-and-update/ 用 nvm 安装 node.js npm  参考官方文档   https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  nvm install node 检查 node 和 npm node -v npm -v 用 npm 安装 Wrangler   npm install -g wrangler 启动一个worker.js 建一个工作目录 mkdir cfworker cd $_ 把 Joey的cfnew  未混淆的脚本下载到刚刚的工作目录 (仅为示例, 并非有特定意义) wget https://github.com/byJoey/cfnew/raw/refs/heads/main/%E6%98%8E%E6%96%87%E6%BA%90%E5%90%97 -O worker.js 用 Wrangler 启动 worker.js npx...

电报 Telegram 用户不要使用用户名 群组不要使用公开群 为了对抗广告信息

图片
前言 电报关键字监控机器人 电报关键字反应机器人 实验 在不同情况下, 关键字监控频道中能输出什么信息, 意味着 关键字监控机器人能获得什么信息 监控机器人可以获得  群消息的 链接, 如 https://t.me/testbot/5678 或 https://t.me/c/3101361513/1234 群组的 username 或 userid 用户的 username 或 userid 用户有用户名, 群组是公开群 #FOUND (https://t.me/tteessttbboottt/487) "✌️" IN test公开群(@tteessttbboottt) FROM 小 白龙(@hakuhakoo) ✌️ 用户有用户名, 群组是私有群 #FOUND (https://t.me/c/3101631513/3) "✌️" IN test私有群(3101631513) FROM 小 白龙(@hakuhakoo) ✌️ 用户无用户名, 群组是公开群 #FOUND (https://t.me/tteessttbboottt/486) "✌️" IN test公开群(@tteessttbboottt) FROM icd yct(7809800531) ✌️ 用户无用户名, 群组是私有群 #FOUND (https://t.me/c/3101631513/2) "✌️" IN test私有群(3101631513) FROM icd yct(7809800531) ✌️ 作为一个只关注了监控频道的电报Telegram账户, 能否给关键字用户发私信 用户有用户名, 群组是公开群 OK 用户有用户名, 群组是私有群 OK 用户无用户名, 群组是公开群 OK 用户无用户名, 群组是私有群 NG 总结 所以, 为了对抗广告信息, 用户不要使用用户名, 群组不要使用公开群 作为用户, 如果你不希望自己喜欢的用户名username被别人使用, 你可以创建一个频道, 占用这个用户名. 作为群主, 你可以用你原来想用的群用户名username创建频道, 然后在频道中提示用户使用私有群的加群链接.

Hysteria2 服务端自签证书 V2ray客户端指定证书指纹 pinSHA256 证书锁定 Certificate Pinning

图片
前言 上一篇我们解决了 Hysteria2 客户端指定证书 现在我们来尝试用 V2ray作为客户端, 指定证书 文档 https://www.v2fly.org/config/transport.html#tlsobject 修改本地配置文件 试试. 报错. 尝试将日志中的  TeddTPwg0va7l8sJsBuTlrK6us6X+7GdxnssJ+JRuso= 写到配置文件中, 如下 测试成功. 分析 其实  4de75d4cfc20d2f6bb97cb09b01b9396b2babace97fbb19dc67b2c27e251baca 和  TeddTPwg0va7l8sJsBuTlrK6us6X+7GdxnssJ+JRuso= 本质上对应的原本的字节码是一样的. 只是前面那个是字节码转 hex, 后面是字节码转 base64. 在 Linux 上要得到 base64 格式的, 可以这样: openssl x509 -in your_cert.crt -outform DER | sha256sum | awk '{print $1}' | xxd -r -p | base64 或 openssl x509 -noout -fingerprint -sha256 -in your_cert.crt | sed 's/^.*=//' | xxd -r -p | base64 其中  | xxd -r -p | base64 的意思是, 从 hex 恢复成字节码, 再转 base64 总结 V2ray 客户端在对接服务端 Hysteria2 协议时, 可以指定证书的指纹, 但是要使用 base64 的形式. 形如, {   "protocol": "hysteria2",   "settings": {     "servers": [       {         "address": "服务.端.IP.地址",         "port": 服务端口       }     ]   },...

The Hot3 in Last 7 Days

Woiden IPv6 VPS 搭 V2ray 梯子 VLESS+Websocket+TLS 模式 免费 白嫖 全程手机操作 2022-4-19

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

在 2G 内存 VPS 上搭建 OpenClaw (Moltbot / Clawdblot) 接入Qwen免费模型 用电报Telegram 作为交互窗口