博文

目前显示的是 十一月, 2025的博文

用Cloudflare Snippet实现反代blogspot

图片
前言 最近看到有人应用 cloudflare 的 snippet 实现 像 worker 一样的节点功能. 思路 看来,  一方面, 免费用户也有机会使用 snippet 了. 另一方面, snippet 的功能也增强了, 和worker 的区别更小了. 那么我就想用snippet实现之前用worker实现的反代blogspot的效果. 实践 uniproxy里面的语法比较老, 是这样的 addEventListener('fetch', event => {     event.respondWith(handleRequest(event.request)) }) 用在snippet的话, 要改成这样的 export default {   async fetch(request, env, ctx) {     try {       return await handleRequest(request, env, ctx);     } catch (e) {       return new Response(e.message || "Internal Error", { status: 500 });     }   }, }; 我让GPT做了转换.  从结果来看, 就除了这一点变化, 其它代码全部保持原样. 已上传Github https://github.com/crazypeace/cloudflare-workers-uniproxy/blob/master/snippet.js 反代blogspot的worker代码 把需求发给GPT 当我把同样一份代码用于 worker 和  snippet  有没有办法识别当前环境是 worker 还是 snippet, 从而 打开 或关闭 KV相关的代码逻辑? 结果是判断是否存在绑定KV的环境变量. 这个逻辑本身也挺好的, 即使是用于worker, 也可以避免在worker的环境下, 用户没有绑定KV而产生异常. 已上传Github https://github.com/crazypeace/cf-wo...

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

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

Blogger 首页显示博文的标签

图片
前言 我想促进访问者跳转到更多的博文. 在单篇博文的页面, 我把 标签放在了文章的标题下面. 我想在首页也实现类似的效果. 分析 打开 blogger 后台 - 主题背景 - 修改HTML 跳转到 Blog1 段. 阅读HTML, 发现是这里显示标签 并且有逻辑判断是否为博文页面. 我们修改为 <b:includable id='postLabels'> <b:if cond='data:widget.type == &quot;Blog&quot;'>   <b:include name='super.postLabels'/> </b:if> </b:includable> 可以注意到  data:view.isSingleItem and   被删除了. 效果 成功了.

电报Telegram 贴纸Sticker 翻墙新手 FuckGFWNewbie

图片
点此链接添加贴纸: https://t.me/addstickers/fuckgfwnewbie 新增几个特色贴纸. 有人问推荐一个"最好的"XX (机场, 协议, 软件, ...) 有人说 naive 有人"不懂就问" XXX

有人说我给垃圾VPS拉皮条

图片
有人说我给垃圾VPS拉皮条. 指的是RackNerd CloudCone厂商. 一般是批评这些内容: 翻墙效果差 和XXX比起来效果差 不如一步到位买XXX 不如机场省心 不如XXX机场 不如一毛机场 不如免费机场 不如免费CloudFlare节点 我想说的是, 1.  不同的人有不同的翻墙需求. 对带宽/ 延迟/ 流量 的具体需要都不一样. 拿我自己来说, 我就是 1080p 看看油管 看看黄. 我对于 视频秒开 和 拖进度条的丝滑程度没有那么敏感. 2. 中国这么大, 不同的省份, 不同的运营商, 国际出口不一样, GFW的行为也不一样. 我一直坚持, 你自己拿测试节点试用, 以你的实际体验效果为准. 这个效果 和这个价格, 你觉得满意再买, 不满意就不要买. 3. 对于翻墙新手, 如果你满意测试节点的效果, 那么你可以买和测试节点一样的机房, 用一样的脚本, 搭一样翻墙协议的节点. 尽最大可能的避免卖家秀和买家秀的问题. 4. 没有花钱的不对. 你愿意用更多的钱, 换来更好的体验, 这当然没问题. 与此同时, 也有人不想在翻墙上花那么多钱. 我一直面对的是翻墙新手. 有的人没有太多的钱来翻墙; 有的人担心学不会搭梯子, 买VPS的钱就浪费了. 我的衡量标准就是一年100CNY左右这个价位. 5. 用自己的VPS和用机场, 是完全不同的消费观念和使用习惯. 一方面, 如果在墙外平台上有账号, 会希望有一个稳定的出口IP, 避免被平台风控. 另一方面, 我自己没有解锁流媒体的需求. 一个自己的VPS就够了. 最后, 我个人观点就是, 从安全的角度考虑, 避免使用机场. 6. 对于各种免费的或者钻空子的资源. 比如, 免费的 Oracle机器, 免费的CloudFlare计算资源, 或者其它一些免费的容器呀, 游戏服务器呀, ... 除了那些只是探讨技术的Geeker以外, 我觉得对于大多数人来说, 这本质上是一个金钱和时间的平衡决策, 看你愿意花 多少钱-多少时间 罢了.

下载 独树不成林 播客的全部封面 并做成 电报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 用户和群主 要保护好自己的用户名username 不要让别人占了

图片
https://t.me/homelab520 这以前是 恩山用户相关的群, 里面都是讨论 NAS啊, 软路由啊, ... 今天我偶然看一眼, 是这样的了. 我猜是因为某种原因, 用户名username被释放了, 然后就被人占了.

电报 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创建频道, 然后在频道中提示用户使用私有群的加群链接.

当检测到关键字时 私信发送对应的贴纸 tg-keyword-react-bot

图片
前言 已经实现了 检测到关键字 在群里发送贴纸 如果直接给用户发送私信呢? 需求 当检测到关键字  naive  时 私信发送贴纸 技术基础 电报 telegram 关键字监控机器人 面向GPT开发 基于以上代码, 增强开发以下功能 当监控频道中出现"naive "时, 向用户私信发送贴纸. 贴纸为 https://t.me/addstickers/fuckgfwnewbie 的第2个贴纸 注意到监控频道的通知信息是有格式的. #FOUND (https://t.me/c/1958152252/300436) "自建" IN Joey Huang Blog(1958152252) FROM jacky jay(5979280761) 自建的节点怎么不能访问X和chatgpt啊 #FOUND (https://t.me/LoonCommunity/161393) "大佬" IN Loon Community(@LoonCommunity) FROM Yang Bo(@Zen_Neng_Bu_Bian_Tai) 大佬们,loon怎么在不开梯子的情况下去除广告啊? 通信信息的第1行格式为 #FOUND (源信息) "匹配关键字" IN xxx (群username或userid) FROM yyy (用户username或userid) 上传Github https://github.com/crazypeace/tg-keyword-react-bot 演示视频 部署 见项目Readme ======== 后记 本次 (2025-11-09) 面向GPT开发, 用到的GPT是 Claude GPT生成的程序有BUG, 获取消息的纯文本 message_text = event.message.message 正确的做法是提取消息的 markdown 文本 from telethon.extensions import markdown message_text = markdown.unparse(event.message.message, event.message.entities)

油猴篡改猴tampermonkey 5.4 坏了 扩展程序管理页面 更新 脚本被清空了

图片
今天点开CloudCone的新建机器的页面, 发现没有自动选择操作系统和自定义hostname. 检查 发现 篡改猴tampermonkey 5.4 坏了 我点了"修复"按钮, 但是没有解决问题. 这时我发现 扩展程序管理页面 有个 更新 按钮. 我点了. 然后 篡改猴tampermonkey 5.4 可以工作了, 但是脚本被清空了. T_T 有些脚本我自己都不记得是从哪里收来的了, ... 甚至我都不记得我有些什么脚本!  哎, 只怪自己没有经常点 google drive 备份啊. ======== 补充说明 1. 在正常的状态下, 点击 扩展程序管理页面  更新 按钮 是没事的, 我刚刚试过了. 2. 我没有办法复现问题. 所以我也不清楚, 当时是不是我的本地脚本其实已经不在了.

油猴脚本 nodeseek 论坛 mop 表情包

图片
补档 https://www.nodeseek.com/post-60138-1 基于nodeseek论坛的插件 贴子 https://www.nodeseek.com/post-68803-1 脚本: https://greasyfork.org/zh-CN/scripts/487482 添加一段 // MOP 表情包来自 https://www.253874.net/ "MOP包子": {"name": "MOP包子", "type": "gif", "items": ["001", "002", "008", "010", "011", "020", "023", "027", "029", "046", "049", "050", "051", "092", "098", "101", "103", "110", "180", "200", "233", "253", "874"], "baseUrl": "https://www.253874.net/face"}, 合成后的成品脚本: https://github.com/crazypeace/NodeSeek-MOP-face/raw/main/NodeSeek-MOP-face.user.js 效果

Xshell 将选定的文本自动复制到剪贴板 像windows的cmd一样

图片
Xshell 菜单: 工具 - 选项 Tab页: 终端 Check box: 将选定的文本自动复制到剪贴板 因为 Xshell 中操作终端, 一般 Ctrl+C 是用于中断当前任务, 不是复制文本. 我用过一段时间 Ctrl+Shift+C 来复制文本. https://crazypeace.eu.org/2024/12/xshell-ctrlshiftc-ctrlshiftv.html 也不是不行, 不过同时按住两个功能键 Ctrl Shift 会更累手. 如果一天操作键盘很多的话, 是会觉得累的. 所以我改用这个鼠标选择就自动复制的功能. 就像windows的cmd中一样. 我想, 有可能很多人还更习惯这样一些. 不过, 带来的副作用就是不能没事拿鼠标点来点去拖来拖去框来框去. (偷笑

我的RSS软件 Overcast Feedly Newsify Folo

播客:     数据 和软件 都是 Overcast 优点是:  免费, 免费就有 智能跳过空白, 人声增强 分享链接可以带当前时刻 文字:   数据在 Feedly , 软件 用  Newsify 优点是: 免费. 网页版用 Folo 有一些内容没有特别好的RSS源, Folo里能较好地订阅.  如: 浮世汇 rsshub://dapenti/subject/184 煎蛋无聊图 rsshub://telegram/channel/jandan_pic 我是用RSS订阅一些更新时间并不确定的独立博客. 经常有几个月不更的那种. 我觉得对于独立博客来说, RSS是必不可少的基础技术. 我有一些RSS订阅在这里分享过 有人想我分享一些独立博客.  我想了一下, 其实这种口味是非常个人的. 我干脆把自己的全部订阅放在这里 https://github.com/crazypeace/CZ-RSS/raw/refs/heads/main/feedly-2025-11-01.opml 如果你看到了共鸣, 就当作是看到了同类. 如果你看到了异类, 就当作是看到了"疫苗". 对于RSS新手, 我推荐几个信息类的源吧. 喷嚏图卦 https://feedx.net/rss/pentitugua.xml 月光博客 https://www.williamlong.info/rss.xml 阮一峰 http://www.ruanyifeng.com/blog/atom.xml 娱乐类 福利吧 https://fuliba.net/feed 煎蛋 https://jandan.net/rss

用Stylebot插件 修改blogger编辑器页面 显示被折叠的工具栏按钮

图片
前言 书接上文 我们已经隐藏了bloger编辑器的右栏 但工具栏在空间足够的条件下, 还是产生了折叠分栏. 本文就来解决这个问题. 分析 通过 F12 开发者工具, 分析 工具栏的 HTML 内容 发现, 就在这个工具栏里面, 有些按钮被隐藏了. 也就是说, HTML内容里是有的, 但是页面上不显示. 面向GPT开发 因为GPT文本输入字数限制, 我们需要将工具栏的HTML内容保存为文件, 再上传给GPT. HTML 环境 我有一个工具栏, HTML内容见文件 工具栏中包含一些按钮 有些按钮是显示的, 有些按钮是隐藏的 我现在需要将工具栏下的所有按钮都设置为显示 要求使用设定页面元素CSS的方式 按钮可能是动态的, 所以不要指定按钮的 class, 而要从按钮与工具栏的HTML层级关系分析. 把上述需求发给GPT, 得到 .Qy5T6b.O3LMFb.QduVPe * {     /* 强制元素显示。display: initial 尝试恢复元素的默认显示类型,通常比强制 display: block 更安全。 */     display: initial !important;          /* 确保元素可见 (覆盖 visibility: hidden) */     visibility: visible !important;     /* 确保元素不透明 (覆盖 opacity: 0) */     opacity: 1 !important;          /* 移除可能导致元素被灰色化或隐藏的滤镜效果 */     filter: none !important; } 实践与调试 在 Stylebot 中设置刚刚GPT给的结果, 得到 可以看到有初步效果, 但是显示得太多了. 继续在F12模式下进行简单的分析. 可以看到 下拉菜单选项啊, 说明文字啊, 都显示出来了. 如果我们限制 只显示到 按钮这一层, 会是什么效果呢? 问了一下GPT CSS语法,  改成这样 .Qy5T6b.O3LMFb.QduVPe ...

The Hot3 in Last 7 Days

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

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

极简一键脚本 搭Xray梯子 VLESS + Reality + xTLS 偷 x25519 证书