<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JavaScript | 折腾啥</title><description>Power Users/Automators 折腾/讨论/分享各种开源工具/脚本/自动化工作流👥 @zhetengsha_group📌 合集 https://t.me/zhetengsha/2🎁 恰饭 https://t.me/zhetengsha/957📢 广告投放 @xream @xream_botBuy ads: https://telega.io/c/zhetengshafeedId:55438372655431680+userId:62307599601855488</description><link>http://telegram.zhetengsha.eu.org</link><item><title>Memos 魔改记录最近想重新整一下自建存一点碎碎念之类的试了一些 感觉都不太好用先用 memos 吧 memoMemos 问题也有点多…先留个备忘 可能还得换 Memos 魔改记录 服务器合集  合集  群组  恰饭 联系推广#Memos #前端 #JavaScript #CSS #HTML</title><link>http://telegram.zhetengsha.eu.org/posts/6410</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6410</guid><pubDate>Wed, 15 Jul 2026 02:01:15 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-6410-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: Memos 魔改记录最近想重新整一下自建存一点碎碎念之类的试了一些 感觉都不太好用先用 memos 吧 memoMemos 问题也有点多…先留个备忘 可能还得换 Memos 魔改记录 服务器合集  合集  群组  恰饭 联系推广#Memos #前端 #JavaScript #CSS #HTML&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/TCtLeDEbFTSCJjq37ttC3uJbZJYkSJQR4iY2Bp2XBYbFhfexfmGDcvInODDeslcLTGB3ysgWqv3Wl4i3IojGboMd-qVkhSUEIDOBvunYmTw-iZ96MyTrW7R9uR1DBCj52ofZSBKm2KeN6B5wbQwhDIjk_2IpinojuDSpH2XlP8w1NGM2qcxjlItXY3Wzwd60N2mxVvqM5NjrKQlAiJ_-XOva8W5_-rX7yhlyee4Z3x9IMyjroONU9csBBrNDIBqVTVAzO7FfqowDkwKaGVDPn-kFP0W43atf-3So3R2rXc63Ut_c0j7Af4BsfEEBL4kUHre5XkaS5k6kUXvRSXOUVQ.jpg&quot; alt=&quot;Memos 魔改记录最近想重新整一下自建存一点碎碎念之类的试了一些 感觉都不太好用先用 memos 吧 memoMemos 问题也有点多…先留个备忘 可能还得换 Memos 魔改记录 服务器合集  合集  群组  恰饭 联系推广#Memos #前端 #JavaScript #CSS #HTML&quot; width=&quot;800&quot; height=&quot;571&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-6410-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-6410-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-6410-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;u&gt;Memos 魔改记录&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;最近想重新整一下自建存一点碎碎念之类的&lt;br /&gt;试了一些 感觉都不太好用&lt;br /&gt;先用 &lt;a href=&quot;https://usememos.com/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;memos&quot;&gt;memos&lt;/a&gt; 吧&lt;br /&gt;&lt;br /&gt;&lt;s&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6329896824882597500.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/s&gt;&lt;s&gt; &lt;/s&gt;&lt;a href=&quot;https://memos.zhetengsha.eu.org/memos/icMeN6DdPY6Q49uPYvrvig&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;memo&quot;&gt;&lt;s&gt;memo&lt;/s&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Memos 问题也有点多…&lt;br /&gt;&lt;br /&gt;先留个备忘 可能还得换&lt;br /&gt;&lt;br /&gt;&lt;s&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6329896824882597500.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/s&gt; &lt;a href=&quot;https://gist.github.com/xream/a9267e764144d597652774fd240879c2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Memos 魔改记录&quot;&gt;Memos 魔改记录&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327711622831803904.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/154&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;服务器合集&quot;&gt;服务器合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;/search/result?q=%23Memos&quot; title=&quot;#Memos&quot;&gt;#Memos&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23HTML&quot; title=&quot;#HTML&quot;&gt;#HTML&lt;/a&gt;</content:encoded></item><item><title>WebHomeTV: 可定制的 Android 影音平台源: 网友自制分享• 支持 Python 与 JavaScript 编写的 TMDB 海报抓取与展示  • 内置网盘链接有效性检测与站点健康排序，提升播放成功率  • 通过 WebHome SDK 实现原生搜索、播放、跨域请求等全套 Native 能力  </title><link>http://telegram.zhetengsha.eu.org/posts/6224</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6224</guid><pubDate>Sun, 28 Jun 2026 13:03:47 GMT</pubDate><content:encoded>&lt;video src=&quot;/static/https://cdn5.telesco.pe/file/b1dad098f8.mp4?token=BaH_6omZMrPobBznyBTf94MJPGLnw0ua_C6dqlS7DFudJt9A9s4EG5FZmvloTLKujDRI4dPr9TDQtuaz6Gsr4_rbfM5o7el7PymhSpWQWuE3L3S4TGVznluIOtvdzvnSiKM-m-vm5RkZw33eyBssii8kmPtS9B9I2xs6lC8UROoko0RP_YQEm0yGN6SVdHwc1_95pUZ1XlXARjiMtdzn4DvmnD4JmtNhYH3QoTa5ub7RDbxijpmdTTrXbRyC2tdV47tf85jeT5GOF3c3c2YBNCCuCLiQAzHQk2G9b8bLYwuGUisn2eulxWpglV8vvwrApm5nj2ommWBC3KYnMMMY2g&quot; class=&quot;tgme_widget_message_video js-message_video&quot; width=&quot;100%&quot; height=&quot;100%&quot; controls preload=&quot;auto&quot; playsinline webkit-playsinline&gt;&lt;/video&gt;&lt;u&gt;WebHomeTV: 可定制的 Android 影音平台&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;源: &lt;a href=&quot;https://github.com/fish2018/webhtv/issues/13&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;网友自制分享&quot;&gt;网友自制分享&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;• 支持 Python 与 &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt; 编写的 TMDB 海报抓取与展示  &lt;br /&gt;&lt;br /&gt;• 内置网盘链接有效性检测与站点健康排序，提升播放成功率  &lt;br /&gt;&lt;br /&gt;• 通过 WebHome SDK 实现原生搜索、播放、跨域请求等全套 Native 能力  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/Silent1566/webhtv&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/Silent1566/webhtv&quot;&gt;https://github.com/Silent1566/webhtv&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;/search/result?q=%23Android&quot; title=&quot;#Android&quot;&gt;#Android&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23WebHome&quot; title=&quot;#WebHome&quot;&gt;#WebHome&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TV&quot; title=&quot;#TV&quot;&gt;#TV&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E6%BA%90&quot; title=&quot;#开源&quot;&gt;#开源&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Python&quot; title=&quot;#Python&quot;&gt;#Python&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TMDB&quot; title=&quot;#TMDB&quot;&gt;#TMDB&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Nostr&quot; title=&quot;#Nostr&quot;&gt;#Nostr&lt;/a&gt;</content:encoded></item><item><title>Nub: 基于原生 Node.js 的一体化开发工具链喵佬推荐 • 使用单个 Rust 二进制整合 TypeScript 运行、脚本执行、依赖安装与 Node 版本管理，提供类似 Bun 的现代开发体验，同时保持原生 Node.js 兼容性  • 支持直接运行 TypeScript、JSX 与多种配置文件格式，自动加载 .env 环境变量，兼容 tsconfig paths、装饰器等常见开发场景  • 提供高性能脚本与命令执行能力，官方数据显示脚本运行速度可达 pnpm run 的约 24 倍，CLI 执行速度可达 npx 的约 19 倍  </title><link>http://telegram.zhetengsha.eu.org/posts/6121</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6121</guid><pubDate>Sat, 20 Jun 2026 02:03:21 GMT</pubDate><content:encoded>&lt;u&gt;Nub: 基于原生 Node.js 的一体化开发工具链&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;喵佬推荐 &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6260503918749420731.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;br /&gt;&lt;br /&gt;• 使用单个 Rust 二进制整合 TypeScript 运行、脚本执行、依赖安装与 Node 版本管理，提供类似 Bun 的现代开发体验，同时保持原生 Node.js 兼容性  &lt;br /&gt;&lt;br /&gt;• 支持直接运行 TypeScript、JSX 与多种配置文件格式，自动加载 .env 环境变量，兼容 tsconfig paths、装饰器等常见开发场景  &lt;br /&gt;&lt;br /&gt;• 提供高性能脚本与命令执行能力，官方数据显示脚本运行速度可达 pnpm run 的约 24 倍，CLI 执行速度可达 npx 的约 19 倍  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/nubjs/nub&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/nubjs/nub&quot;&gt;https://github.com/nubjs/nub&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23NodeJS&quot; title=&quot;#NodeJS&quot;&gt;#NodeJS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TypeScript&quot; title=&quot;#TypeScript&quot;&gt;#TypeScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Rust&quot; title=&quot;#Rust&quot;&gt;#Rust&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7&quot; title=&quot;#开发工具&quot;&gt;#开发工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%B7%A5%E7%A8%8B%E5%8C%96&quot; title=&quot;#工程化&quot;&gt;#工程化&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE&quot; title=&quot;#开源项目&quot;&gt;#开源项目&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/nubjs/nub&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;The fast all-in-one Node.js toolkit. Contribute to nubjs/nub development by creating an account on GitHub.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - nubjs/nub: The fast all-in-one Node.js toolkit&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;The fast all-in-one Node.js toolkit. Contribute to nubjs/nub development by creating an account on GitHub.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>Ponytail: AI 代码懒人助理，写最少代码实现最大功能感谢群友 @notehahaha 的分享• 自动化代码精简，减少 80‑94% 行数，提升开发效率  • 多平台插件支持 Claude Code、Codex、Gemini 等，快速集成  • 可配置强度模式（lite、full、ultra），灵活控制代码生成深度  </title><link>http://telegram.zhetengsha.eu.org/posts/6075</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/6075</guid><pubDate>Wed, 17 Jun 2026 04:58:11 GMT</pubDate><content:encoded>&lt;u&gt;Ponytail: AI 代码懒人助理，写最少代码实现最大功能&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;感谢群友 &lt;a href=&quot;https://t.me/notehahaha&quot; target=&quot;_blank&quot; title=&quot;@notehahaha&quot;&gt;@notehahaha&lt;/a&gt; 的分享&lt;br /&gt;&lt;br /&gt;• 自动化代码精简，减少 80‑94% 行数，提升开发效率  &lt;br /&gt;&lt;br /&gt;• 多平台插件支持 Claude Code、Codex、Gemini 等，快速集成  &lt;br /&gt;&lt;br /&gt;• 可配置强度模式（lite、full、ultra），灵活控制代码生成深度  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/DietrichGebert/ponytail&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/DietrichGebert/ponytail&quot;&gt;https://github.com/DietrichGebert/ponytail&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23AI&quot; title=&quot;#AI&quot;&gt;#AI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Python&quot; title=&quot;#Python&quot;&gt;#Python&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Claude&quot; title=&quot;#Claude&quot;&gt;#Claude&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Codex&quot; title=&quot;#Codex&quot;&gt;#Codex&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Gemini&quot; title=&quot;#Gemini&quot;&gt;#Gemini&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23OpenSource&quot; title=&quot;#OpenSource&quot;&gt;#OpenSource&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/DietrichGebert/ponytail&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote. - DietrichGebert/ponytail&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;GitHub - DietrichGebert/ponytail: Makes your AI agent think like the laziest senior dev in the room. The best code is the code…&quot; src=&quot;/static/https://cdn4.telesco.pe/file/My1QS-IOUrJRefCapnxWWVSvdF76STqVVMA7_sPCve-6QUE9WO3urvcMUZKOs9hMcbGGACfk1nGfGP_o9P8uCnUw824Y2U9y7MFkFHJldCjJ1nhhdzaCaM5cb9YBgipN8kSkCiIk--lH4j2Pm9B6vtVRRrB1QbJy13DsuIAGERaHXsuffBkkN9H8m8y7uzaBSHSMB9EXxmxgO0gZc1a2ZknPR8QZyNZrc46j50_wuLl2pjn0b428soTGJNoTVuRMD7eTVLpKAmjb_Bw6XoRzO0ZFDmx0Vv7F5m2gIgavlWqt4WiBQA-Nq43Joe9z0RZ0xkjEVNUfjBdh8YYDrAHwvQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - DietrichGebert/ponytail: Makes your AI agent think like the laziest senior dev in the room. The best code is the code…&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote. - DietrichGebert/ponytail&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>cloudflade: 零后端 Cloudflare DNS 管理面板• 单 HTML 文件即可部署，零依赖实现快速上线  • 完整 DNS 记录增删改查，支持 A、AAAA、CNAME、MX、TXT 等多种类型  • 双认证方式（API Token 推荐）保障安全，响应式布局兼容移动端  </title><link>http://telegram.zhetengsha.eu.org/posts/5968</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/5968</guid><pubDate>Wed, 10 Jun 2026 12:59:15 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-5968-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: cloudflade: 零后端 Cloudflare DNS 管理面板• 单 HTML 文件即可部署，零依赖实现快速上线  • 完整 DNS 记录增删改查，支持 A、AAAA、CNAME、MX、TXT 等多种类型  • 双认证方式（API Token 推荐）保障安全，响应式布局兼容移动端  &quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/vCM3H3lfKYbRvQv1Ed7liak7Uk-fzb6k_HDYmsDMgRI1VyR7gMXxDuE0dc1f8CP32oiBQja29yLgbs2d_tZAjHQx8lEqmyqtLLwgq8NYKbitGcnbCPQYYE16GHS6daU96m1UoTm8hnec8YwXzIhUnfeI5UAf61-VJDGeHF1aWwOhI0XjEPmwlbuGLPsofL5erKWYLVmnj7-txW37NBvMrlD0ctP9CTieW1EEggtB5ZrciO6S-_0o8JNvcJaTIsYyOYN6DwbUcSOhfvC8bxDxBxWovLKE2RsQolIact2sic3vTo8bRwd_NEjAH2La5Y_OpVPgRtIpTaNnqrEBaFoJbA.jpg&quot; alt=&quot;cloudflade: 零后端 Cloudflare DNS 管理面板• 单 HTML 文件即可部署，零依赖实现快速上线  • 完整 DNS 记录增删改查，支持 A、AAAA、CNAME、MX、TXT 等多种类型  • 双认证方式（API Token 推荐）保障安全，响应式布局兼容移动端  &quot; width=&quot;800&quot; height=&quot;405&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-5968-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-5968-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-5968-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;u&gt;cloudflade: 零后端 Cloudflare DNS 管理面板&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;• 单 HTML 文件即可部署，零依赖实现快速上线  &lt;br /&gt;&lt;br /&gt;• 完整 DNS 记录增删改查，支持 A、AAAA、CNAME、MX、TXT 等多种类型  &lt;br /&gt;&lt;br /&gt;• 双认证方式（API Token 推荐）保障安全，响应式布局兼容移动端  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/ACnoway/cloudflade&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/ACnoway/cloudflade&quot;&gt;https://github.com/ACnoway/cloudflade&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23DNS&quot; title=&quot;#DNS&quot;&gt;#DNS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Cloudflare&quot; title=&quot;#Cloudflare&quot;&gt;#Cloudflare&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23WebUI&quot; title=&quot;#WebUI&quot;&gt;#WebUI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23HTML&quot; title=&quot;#HTML&quot;&gt;#HTML&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt;</content:encoded></item><item><title>Rename.Tools: 面向隐私优先场景的浏览器端批量文件重命名工具• 基于浏览器本地处理，文件无需上传，依托 File System Access API 直接完成重命名，适合对隐私和安全要求高的场景• 支持规则链组合，包括查找替换、正则表达式、序号、大小写转换和自定义 JS，能够覆盖从日常整理到复杂批处理的多种需求• 提供实时预览、冲突检测、撤销与脚本导出能力，同时可读取 EXIF 和音频元数据，兼顾可视化操作与自动化扩展</title><link>http://telegram.zhetengsha.eu.org/posts/5772</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/5772</guid><pubDate>Tue, 26 May 2026 02:00:21 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-5772-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: Rename.Tools: 面向隐私优先场景的浏览器端批量文件重命名工具• 基于浏览器本地处理，文件无需上传，依托 File System Access API 直接完成重命名，适合对隐私和安全要求高的场景• 支持规则链组合，包括查找替换、正则表达式、序号、大小写转换和自定义 JS，能够覆盖从日常整理到复杂批处理的多种需求• 提供实时预览、冲突检测、撤销与脚本导出能力，同时可读取 EXIF 和音频元数据，兼顾可视化操作与自动化扩展&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/lk4TNPCp47zZsRMGgmFMmJfXcUZk9wqgy4DDLMIH1FcL6PIrCuGgivGGg61i1lb61OBEGf0FWJ6eVTB9_lwBGIC9VrpEJKRe8fqpxH5eH3DWPB2MNgknTFDPLOpvLHj4QMVvXXx147Ogt5wO2u4UitPXy0ql3u-bh3NYd21qKMslFP_f78Bg2E_yMg4fFYC4jlewHNUc62RB_ICVnpu5IoUIu2WakWA0lY8GUDJr4toLfDemln2w_8AuSBFApMKlmo_zR8WVE8fAl_WIipwLgL0tbaqEMdNhFSE2628dnsGoFFMxVCbGtqXxk6CWFxwbf4ovxxZiLxiU_pHbzoNHZA.jpg&quot; alt=&quot;Rename.Tools: 面向隐私优先场景的浏览器端批量文件重命名工具• 基于浏览器本地处理，文件无需上传，依托 File System Access API 直接完成重命名，适合对隐私和安全要求高的场景• 支持规则链组合，包括查找替换、正则表达式、序号、大小写转换和自定义 JS，能够覆盖从日常整理到复杂批处理的多种需求• 提供实时预览、冲突检测、撤销与脚本导出能力，同时可读取 EXIF 和音频元数据，兼顾可视化操作与自动化扩展&quot; width=&quot;800&quot; height=&quot;440&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-5772-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-5772-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-5772-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;u&gt;Rename.Tools: 面向隐私优先场景的浏览器端批量文件重命名工具&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;• 基于浏览器本地处理，文件无需上传，依托 File System Access API 直接完成重命名，适合对隐私和安全要求高的场景&lt;br /&gt;&lt;br /&gt;• 支持规则链组合，包括查找替换、正则表达式、序号、大小写转换和自定义 JS，能够覆盖从日常整理到复杂批处理的多种需求&lt;br /&gt;&lt;br /&gt;• 提供实时预览、冲突检测、撤销与脚本导出能力，同时可读取 EXIF 和音频元数据，兼顾可视化操作与自动化扩展&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/chenz24/rename.tools&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/chenz24/rename.tools&quot;&gt;https://github.com/chenz24/rename.tools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;/search/result?q=%23%E6%96%87%E4%BB%B6%E9%87%8D%E5%91%BD%E5%90%8D&quot; title=&quot;#文件重命名&quot;&gt;#文件重命名&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%89%B9%E9%87%8F%E5%A4%84%E7%90%86&quot; title=&quot;#批量处理&quot;&gt;#批量处理&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E9%9A%90%E7%A7%81%E4%BF%9D%E6%8A%A4&quot; title=&quot;#隐私保护&quot;&gt;#隐私保护&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B5%8F%E8%A7%88%E5%99%A8%E5%B7%A5%E5%85%B7&quot; title=&quot;#浏览器工具&quot;&gt;#浏览器工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&quot; title=&quot;#正则表达式&quot;&gt;#正则表达式&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23FileSystemAccessAPI&quot; title=&quot;#FileSystemAccessAPI&quot;&gt;#FileSystemAccessAPI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TypeScript&quot; title=&quot;#TypeScript&quot;&gt;#TypeScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Next&quot; title=&quot;#Next&quot;&gt;#Next&lt;/a&gt;.js &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt;</content:encoded></item><item><title>RegexStudio: 在线正则可视化工作台  • 实时匹配与捕获组高亮，支持多引擎切换  • 铁路图与节点编辑器可视化正则结构，降低学习门槛  • 交互式教程与挑战模式，帮助快速掌握技巧  </title><link>http://telegram.zhetengsha.eu.org/posts/5657</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/5657</guid><pubDate>Thu, 14 May 2026 10:00:00 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-5657-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: RegexStudio: 在线正则可视化工作台  • 实时匹配与捕获组高亮，支持多引擎切换  • 铁路图与节点编辑器可视化正则结构，降低学习门槛  • 交互式教程与挑战模式，帮助快速掌握技巧  &quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/FaIbtD7cF_4VCY9a0ptYweRrlYX4Xx0_26eOufoE3lLpBtEqGyLFKEJsY6_T6xvBCeaNIjX_O09Ra9EmZ38z4GSv8hwYcqZi-VEDNlXgRxtezJItMjSvEYHkUjfNEQf8rCYfZlyROAcx6EQ5tpZsGCe7hkJBsEd5twthR0qGwliJ-SzT-_rqOQRFn7CJq8zY1Rxb-0ZCK1gZJYkrTD6UvdGruMtVrEVotKjHpBnuMP5A0RRur81td2k-gDEL03IwSo37Zld1NAR6agptgIRySqKaT-ImAAsl3ArChVGFWfZKDKohMzbMrUzzXca_X0aBEjHy8lr-g-5FwllMambj8w.jpg&quot; alt=&quot;RegexStudio: 在线正则可视化工作台  • 实时匹配与捕获组高亮，支持多引擎切换  • 铁路图与节点编辑器可视化正则结构，降低学习门槛  • 交互式教程与挑战模式，帮助快速掌握技巧  &quot; width=&quot;800&quot; height=&quot;590&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-5657-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-5657-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-5657-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;u&gt;RegexStudio: 在线正则可视化工作台  &lt;/u&gt;&lt;br /&gt;&lt;br /&gt;• 实时匹配与捕获组高亮，支持多引擎切换  &lt;br /&gt;• 铁路图与节点编辑器可视化正则结构，降低学习门槛  &lt;br /&gt;• 交互式教程与挑战模式，帮助快速掌握技巧  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/chenz24/regex-studio&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/chenz24/regex-studio&quot;&gt;https://github.com/chenz24/regex-studio&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327880277607583303.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/2&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;合集&quot;&gt;合集&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6021860481923288796.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha_group&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;群组&quot;&gt;群组&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327792445526380187.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/957&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;恰饭&quot;&gt;恰饭&lt;/a&gt; &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6330367862535884142.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://t.me/xream_bot&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;联系推广&quot;&gt;联系推广&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6327836885552991740.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;/search/result?q=%23%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&quot; title=&quot;#正则表达式&quot;&gt;#正则表达式&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8F%AF%E8%A7%86%E5%8C%96&quot; title=&quot;#可视化&quot;&gt;#可视化&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E5%B7%A5%E5%85%B7&quot; title=&quot;#Web工具&quot;&gt;#Web工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt;</content:encoded></item><item><title>iClaw: 面向 iOS 的开源 AI Agent 实验应用不如 Minis...Minis 还是太强了• 采用真正的多 Agent 架构，支持通过 Markdown 文件配置人格、记忆与用户画像，还能在复杂任务中动态生成子 Agent 协同处理• 内置端侧 JavaScript 沙盒与代码片段管理，Agent 可直接编写并执行本地脚本，适合自动化处理、结果验证与轻量工作流编排• 集成浏览器自动化能力，支持导航、点击、输入、DOM 提取等操作，并兼容 OpenAI API、DeepSeek、OpenRouter 与 Ollama 等模型接口</title><link>http://telegram.zhetengsha.eu.org/posts/5275</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/5275</guid><pubDate>Thu, 02 Apr 2026 04:41:11 GMT</pubDate><content:encoded>&lt;u&gt;iClaw: 面向 iOS 的开源 AI Agent 实验应用&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;不如 Minis...Minis 还是太强了&lt;br /&gt;&lt;br /&gt;• 采用真正的多 Agent 架构，支持通过 Markdown 文件配置人格、记忆与用户画像，还能在复杂任务中动态生成子 Agent 协同处理&lt;br /&gt;&lt;br /&gt;• 内置端侧 &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt; 沙盒与代码片段管理，Agent 可直接编写并执行本地脚本，适合自动化处理、结果验证与轻量工作流编排&lt;br /&gt;&lt;br /&gt;• 集成浏览器自动化能力，支持导航、点击、输入、DOM 提取等操作，并兼容 OpenAI API、DeepSeek、OpenRouter 与 Ollama 等模型接口&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/samhjn/iClaw&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/samhjn/iClaw&quot;&gt;https://github.com/samhjn/iClaw&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TestFlight: &lt;a href=&quot;https://testflight.apple.com/join/Uq7vKNjS&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://testflight.apple.com/join/Uq7vKNjS&quot;&gt;https://testflight.apple.com/join/Uq7vKNjS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;V2EX: &lt;a href=&quot;https://www.v2ex.com/t/1202990&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://www.v2ex.com/t/1202990&quot;&gt;https://www.v2ex.com/t/1202990&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23iClaw&quot; title=&quot;#iClaw&quot;&gt;#iClaw&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23iOS&quot; title=&quot;#iOS&quot;&gt;#iOS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AI&quot; title=&quot;#AI&quot;&gt;#AI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Agent&quot; title=&quot;#Agent&quot;&gt;#Agent&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%BD%91%E9%A1%B5%E8%87%AA%E5%8A%A8%E5%8C%96&quot; title=&quot;#网页自动化&quot;&gt;#网页自动化&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23TestFlight&quot; title=&quot;#TestFlight&quot;&gt;#TestFlight&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/samhjn/iClaw&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A native iOS AI Agent app — multiple customizable AI assistants, right on your phone - samhjn/Palvia&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;GitHub - samhjn/Palvia: A native iOS AI Agent app — multiple customizable AI assistants, right on your phone&quot; src=&quot;/static/https://cdn4.telesco.pe/file/n8Nn5zOnuQJVHOSdIx_Duq4jv1qglGmX3YqnmIDA79IV3YvGTW2LQz5Q5ZfLIq9uyCt3F92hC806Op0ZF9XR-aOrKE01kEtK7uM-_yMRsxFgi5kKk6iYsDMGxwGSScZPKM6LyaE_PxVMh5dZeITEvP6MIPuaZO7B_W7eGa5N-qT85J9qngwDLUlu5-a-VXP_X3u3zcAdtof68J18x_XN2mGEOoLBDz3lDbTVnQhF3nJcLZDQeNNNKx8L8jZRwwr6m7WnEF0o03aXl-ZjFC6xHU1Tv8ssNT7bz4yPCdaJ5mMIXI9CmnCKWWSHdvGcN2rjrHhjUtdmGO8-xD4kEiGliA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - samhjn/Palvia: A native iOS AI Agent app — multiple customizable AI assistants, right on your phone&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A native iOS AI Agent app — multiple customizable AI assistants, right on your phone - samhjn/Palvia&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>ForkFlow: 面向 GitHub Fork 仓库的同步管理仪表盘Serverless 项目 用于 GitHub 同步上游当你不想命令行同步，不想 Workerflow 同步，不想 PullBot 同步，可以用这个感谢群友 @BlankSpacecc 的分享• 支持一键批量同步多个 Fork 仓库，直接调用 GitHub Merge Upstream API，减少手动逐个处理的重复操作• 可自动导入当前账号下全部 Fork，并补全 commit、更新时间等元信息，快速建立可维护的仓库清单• 提供 Node.js 本地版与 Cloudflare Workers 无服务器版，前端基于原生 JavaScript，部署轻量且上手成本低</title><link>http://telegram.zhetengsha.eu.org/posts/5149</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/5149</guid><pubDate>Sat, 21 Mar 2026 10:01:10 GMT</pubDate><content:encoded>&lt;u&gt;ForkFlow: 面向 GitHub Fork 仓库的同步管理仪表盘&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Serverless 项目 用于 GitHub 同步上游&lt;br /&gt;&lt;blockquote&gt;当你不想命令行同步，不想 Workerflow 同步，不想 PullBot 同步，可以用这个&lt;/blockquote&gt;&lt;br /&gt;感谢群友 &lt;a href=&quot;https://t.me/BlankSpacecc&quot; target=&quot;_blank&quot; title=&quot;@BlankSpacecc&quot;&gt;@BlankSpacecc&lt;/a&gt; 的分享&lt;br /&gt;&lt;br /&gt;• 支持一键批量同步多个 Fork 仓库，直接调用 GitHub Merge Upstream API，减少手动逐个处理的重复操作&lt;br /&gt;&lt;br /&gt;• 可自动导入当前账号下全部 Fork，并补全 commit、更新时间等元信息，快速建立可维护的仓库清单&lt;br /&gt;&lt;br /&gt;• 提供 Node.js 本地版与 Cloudflare Workers 无服务器版，前端基于原生 &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt;，部署轻量且上手成本低&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/oversizexl/ForkFlow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/oversizexl/ForkFlow&quot;&gt;https://github.com/oversizexl/ForkFlow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Fork&quot; title=&quot;#Fork&quot;&gt;#Fork&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E4%BB%93%E5%BA%93%E5%90%8C%E6%AD%A5&quot; title=&quot;#仓库同步&quot;&gt;#仓库同步&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E5%8F%91%E8%80%85%E5%B7%A5%E5%85%B7&quot; title=&quot;#开发者工具&quot;&gt;#开发者工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Cloudflare&quot; title=&quot;#Cloudflare&quot;&gt;#Cloudflare&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Workers&quot; title=&quot;#Workers&quot;&gt;#Workers&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Node&quot; title=&quot;#Node&quot;&gt;#Node&lt;/a&gt;.js &lt;a href=&quot;/search/result?q=%23%E5%8E%9F%E7%94%9F&quot; title=&quot;#原生&quot;&gt;#原生&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/oversizexl/ForkFlow&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;ForkFlow ⚡ 一键批量同步 GitHub Fork，自动清理僵尸仓库，让你的分叉永远与上游保持光速同步！🔥 - oversizexl/ForkFlow&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - oversizexl/ForkFlow: ForkFlow &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/E29AA1.png&apos;)&quot;&gt;&lt;b&gt;⚡&lt;/b&gt;&lt;/i&gt; 一键批量同步 GitHub Fork，自动清理僵尸仓库，让你的分叉永远与上游保持光速同步！&lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F94A5.png&apos;)&quot;&gt;&lt;b&gt;🔥&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;ForkFlow &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/E29AA1.png&apos;)&quot;&gt;&lt;b&gt;⚡&lt;/b&gt;&lt;/i&gt; 一键批量同步 GitHub Fork，自动清理僵尸仓库，让你的分叉永远与上游保持光速同步！&lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F94A5.png&apos;)&quot;&gt;&lt;b&gt;🔥&lt;/b&gt;&lt;/i&gt; - oversizexl/ForkFlow&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>Midscene.js: 视觉模型驱动的全平台 UI 自动化 SDK• 基于 pure-vision 路线进行 UI 定位与交互，仅依赖截图即可覆盖 Web、Android、iOS、桌面应用与 Canvas 场景  • 支持自然语言编排任务，可使用 Javascript SDK 或 YAML 编写脚本，并无缝集成 Puppeteer、Playwright、adb、WebDriverAgent  • 提供可视化报告、Playground 与 MCP 能力，便于调试回放、提升执行效率，并支持开源模型自托管</title><link>http://telegram.zhetengsha.eu.org/posts/4935</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/4935</guid><pubDate>Sat, 28 Feb 2026 10:03:02 GMT</pubDate><content:encoded>&lt;u&gt;Midscene.js: 视觉模型驱动的全平台 UI 自动化 SDK&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;• 基于 pure-vision 路线进行 UI 定位与交互，仅依赖截图即可覆盖 Web、Android、iOS、桌面应用与 Canvas 场景  &lt;br /&gt;• 支持自然语言编排任务，可使用 &lt;mark class=&quot;highlight&quot;&gt;Javascript&lt;/mark&gt; SDK 或 YAML 编写脚本，并无缝集成 Puppeteer、Playwright、adb、WebDriverAgent  &lt;br /&gt;• 提供可视化报告、Playground 与 MCP 能力，便于调试回放、提升执行效率，并支持开源模型自托管&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/web-infra-dev/midscene&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/web-infra-dev/midscene&quot;&gt;https://github.com/web-infra-dev/midscene&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95&quot; title=&quot;#自动化测试&quot;&gt;#自动化测试&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%A7%86%E8%A7%89%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B&quot; title=&quot;#视觉语言模型&quot;&gt;#视觉语言模型&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%B7%A8%E5%B9%B3%E5%8F%B0&quot; title=&quot;#跨平台&quot;&gt;#跨平台&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23UI&quot; title=&quot;#UI&quot;&gt;#UI&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHub&quot; title=&quot;#GitHub&quot;&gt;#GitHub&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23MCP&quot; title=&quot;#MCP&quot;&gt;#MCP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Android&quot; title=&quot;#Android&quot;&gt;#Android&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23iOS&quot; title=&quot;#iOS&quot;&gt;#iOS&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/web-infra-dev/midscene&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;AI-powered, vision-driven UI automation for every platform. - web-infra-dev/midscene&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;GitHub - web-infra-dev/midscene: AI-powered, vision-driven UI automation for every platform.&quot; src=&quot;/static/https://cdn4.telesco.pe/file/vtjLtFbhoe5Ut34X0WLJaLgZMAME1-mTCoLUrGqL12cy-J0VBa445l5gDngcubr12-GV_MA31j9fpqIfas1cRFFCBGtHNo2VQ0G4SmZqrGjtT3_3g52rKPsx7393L2oRzx1UYOblPJ-AjOklZ9m4FAjkcVA-D_CK-8gnCHNDt0URzwJrAjVCTsintGDOUfy5Yp1G7Ao-gH0lHA65RaqIpjlMMyXzWF0ADS-mqtLnbSKWCWTuWGsTxyo4BRPgSeArTl7KVa4lG1jPH5fK9gM3BdD4_f0aGbrjPMOq9u3ooUEUyqYBtUtOICyb_qAqW12zTfH9W9RL44rCAL89ohuucA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - web-infra-dev/midscene: AI-powered, vision-driven UI automation for every platform.&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;AI-powered, vision-driven UI automation for every platform. - web-infra-dev/midscene&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>Hoa: 轻量级跨平台 Web 框架• 仅约 4.4KB（gzip）体积，极致轻量  • 零依赖，完全基于现代 Web 标准构建  • 支持 Cloudflare Workers、Deno、Bun、Node.js 等多运行时  </title><link>http://telegram.zhetengsha.eu.org/posts/4578</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/4578</guid><pubDate>Sat, 17 Jan 2026 10:03:44 GMT</pubDate><content:encoded>&lt;u&gt;Hoa: 轻量级跨平台 Web 框架&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;• 仅约 4.4KB（gzip）体积，极致轻量  &lt;br /&gt;• 零依赖，完全基于现代 Web 标准构建  &lt;br /&gt;• 支持 Cloudflare Workers、Deno、Bun、Node.js 等多运行时  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/hoa-js/hoa&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/hoa-js/hoa&quot;&gt;https://github.com/hoa-js/hoa&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23Web%E6%A1%86%E6%9E%B6&quot; title=&quot;#Web框架&quot;&gt;#Web框架&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%B7%A8%E5%B9%B3%E5%8F%B0&quot; title=&quot;#跨平台&quot;&gt;#跨平台&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E9%9B%B6%E4%BE%9D%E8%B5%96&quot; title=&quot;#零依赖&quot;&gt;#零依赖&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Node&quot; title=&quot;#Node&quot;&gt;#Node&lt;/a&gt;.js &lt;a href=&quot;/search/result?q=%23Cloudflare&quot; title=&quot;#Cloudflare&quot;&gt;#Cloudflare&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Deno&quot; title=&quot;#Deno&quot;&gt;#Deno&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Koa&quot; title=&quot;#Koa&quot;&gt;#Koa&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Hono&quot; title=&quot;#Hono&quot;&gt;#Hono&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/hoa-js/hoa&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A minimal web framework built on Web Standards 🚀. Contribute to hoa-js/hoa development by creating an account on GitHub.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;GitHub - hoa-js/hoa: A minimal web framework built on Web Standards &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F9A80.png&apos;)&quot;&gt;&lt;b&gt;🚀&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;A minimal web framework built on Web Standards &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F9A80.png&apos;)&quot;&gt;&lt;b&gt;🚀&lt;/b&gt;&lt;/i&gt;. Contribute to hoa-js/hoa development by creating an account on GitHub.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>#优质博文 #JavaScript #新特性 #前端 #错误处理Error chaining in JavaScript: cleaner debugging with Error.cause</title><link>http://telegram.zhetengsha.eu.org/posts/4114</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/4114</guid><pubDate>Sat, 15 Nov 2025 04:03:40 GMT</pubDate><content:encoded>&lt;div class=&quot;tgme_widget_message_forwarded_from accent_color&quot;&gt;Forwarded from &lt;a class=&quot;tgme_widget_message_forwarded_from_name&quot; href=&quot;https://t.me/cosine_front_end/3053&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;cosine - 前端人の日常频道&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;/search/result?q=%23%E4%BC%98%E8%B4%A8%E5%8D%9A%E6%96%87&quot; title=&quot;#优质博文&quot;&gt;#优质博文&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%96%B0%E7%89%B9%E6%80%A7&quot; title=&quot;#新特性&quot;&gt;#新特性&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86&quot; title=&quot;#错误处理&quot;&gt;#错误处理&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://allthingssmitty.com/2025/11/10/error-chaining-in-javascript-cleaner-debugging-with-error-cause/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Error chaining in JavaScript: cleaner debugging with Error.cause&quot;&gt;Error chaining in &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt;: cleaner debugging with Error.cause&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-4-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-4-0-content&quot; /&gt;
      &lt;div id=&quot;expand-4-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;AI 摘要：本文介绍了在 &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt; (ES2022) 中引入的 Error.cause 属性，展示它如何让错误处理更具可追溯性。作者 Matt Smith 通过实例说明了传统错误包裹的缺陷，以及 Error.cause 在保持原始堆栈信息、改进调试体验和测试断言方面的优势。最终总结出一套现代错误链最佳实践，帮助开发者构建更清晰、更稳健的错误追踪体系。&lt;/div&gt;
      &lt;label for=&quot;expand-4-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;[以下是方便搜索索引的大纲(AI 生成)，请读原文]&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-4-1&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-4-1-content&quot; /&gt;
      &lt;div id=&quot;expand-4-1-content&quot; class=&quot;tg-expandable__content&quot;&gt;1.  传统错误处理的问题&lt;br /&gt;•   层层调用的代码容易丢失原始错误信息；&lt;br /&gt;•   以字符串拼接错误信息会破坏堆栈和错误类型；&lt;br /&gt;•   导致调试困难，追踪难度高。&lt;br /&gt;&lt;br /&gt;2.  引入 Error.cause 的改进&lt;br /&gt;•   通过 new Error(message, { cause }) 保留原始错误；&lt;br /&gt;•   可同时访问顶层与底层堆栈信息；&lt;br /&gt;•   cause 属性为非枚举属性，不污染日志或循环输出；&lt;br /&gt;•   与 message、stack 一样保持一致的行为。&lt;br /&gt;&lt;br /&gt;3.  实践与代码演示&lt;br /&gt;•   示例：从 JSON.parse 到自定义函数的错误传递；&lt;br /&gt;•   在日志中手动输出 err.cause 获取完整上下文；&lt;br /&gt;•   适合层次式系统（如服务嵌套调用）排查问题。&lt;br /&gt;&lt;br /&gt;4.  历史背景与 cause 出现前的替代方案&lt;br /&gt;•   旧方案包括自定义字段 .originalError、字符串拼接等；&lt;br /&gt;•   这些方式不统一且容易破坏原始错误结构；&lt;br /&gt;•   标准化的 cause 提供更安全一致的机制。&lt;br /&gt;&lt;br /&gt;5.  自定义错误类的支持&lt;br /&gt;•   在自定义类中通过 super(message, { cause }) 传递原因；&lt;br /&gt;•   适用 ES2022+ 环境即可直接使用；&lt;br /&gt;•   对 TypeScript 用户，需在 tsconfig.json 中启用 &quot;target&quot;: &quot;es2022&quot; 与 &quot;lib&quot;: [&quot;es2022&quot;]。&lt;br /&gt;&lt;br /&gt;6.  在测试中的应用&lt;br /&gt;•   测试断言可直接验证 err.cause 类型；&lt;br /&gt;•   提升测试可读性与准确性。&lt;br /&gt;&lt;br /&gt;7.  实用技巧与注意事项&lt;br /&gt;•   浏览器默认不输出层级错误链，须手动打印；&lt;br /&gt;•   不建议过度使用错误链，避免干扰阅读；&lt;br /&gt;•   可递归打印完整错误链（logErrorChain 与 logFullErrorChain 示例）；&lt;br /&gt;•   实践场景：数据库异常→业务异常→服务异常的多层错误追踪。&lt;br /&gt;&lt;br /&gt;8.  环境支持与现代用法总结&lt;br /&gt;•   支持于现代浏览器与运行环境（Chrome 93+、Node.js 16.9+、Deno、Bun 等）；&lt;br /&gt;•   推荐实践：&lt;br /&gt;    •   &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;✅&lt;/b&gt;&lt;/i&gt; 使用 Error(message, { cause })&lt;br /&gt;    •   &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;✅&lt;/b&gt;&lt;/i&gt; 支持内建与自定义错误类型&lt;br /&gt;    •   &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;✅&lt;/b&gt;&lt;/i&gt; 改善日志和调试体验&lt;br /&gt;    •   &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;✅&lt;/b&gt;&lt;/i&gt; 对 TypeScript 进行正确配置&lt;br /&gt;    •   &lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;⚠️&lt;/b&gt;&lt;/i&gt; 记得手动输出或递归追踪错误链。&lt;/div&gt;
      &lt;label for=&quot;expand-4-1&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;author Matt Smith&lt;/i&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://allthingssmitty.com/2025/11/10/error-chaining-in-javascript-cleaner-debugging-with-error-cause/?utm_source=substack&amp;amp;utm_medium=email&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Use JavaScript&apos;s &apos;cause&apos; property to chain errors, preserve context, and simplify debugging. Cleaner stack traces, better test assertions.&quot;&gt;
  &lt;i class=&quot;link_preview_right_image&quot; style=&quot;background-image:url(&apos;https://cdn4.telesco.pe/file/rsSVYPhVcHXLjUTDyRZzFl-cmwVFLU9cmzqvnl3VUUDVsFfn8T8jIlZL0wV7hqeZFz7RmWyd1I_cPUsRCr78zTyzyvPVgD3suy5rpctNwMCa6ToD4QB8pe1adTh5EAfOzbsO8ThJHOpGGegeRPPb7RpuvVJD6mVggn3eqzIRW4idf8yjCIuRsMiYRd9xH0-yPFEn1dARMTAmtvW-vHSAMuPzhzWV-dkp2LYjB9Yks4-F_78xGdxx_B6EalkoXUrtkC9W2llTcRlQqEn3MKdO_enTzjeQ2NpRQiFZZ8cUs1kZv5GjuKU-EfRPbfcozw3t_ndBS_IawZdAwu8YqqoOKA.jpg&apos;)&quot;&gt;&lt;/i&gt;
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Allthingssmitty&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;Error chaining in &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt;: cleaner debugging with Error.cause - Matt Smith&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Use &lt;mark class=&quot;highlight&quot;&gt;JavaScript&lt;/mark&gt;&apos;s &apos;cause&apos; property to chain errors, preserve context, and simplify debugging. Cleaner stack traces, better test assertions.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>#优质博文 #JavaScript #前端 #新特性 #浏览器好东西</title><link>http://telegram.zhetengsha.eu.org/posts/4045</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/4045</guid><pubDate>Wed, 29 Oct 2025 01:03:19 GMT</pubDate><content:encoded>&lt;div class=&quot;tgme_widget_message_forwarded_from accent_color&quot;&gt;Forwarded from &lt;a class=&quot;tgme_widget_message_forwarded_from_name&quot; href=&quot;https://t.me/cosine_front_end/2981&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;cosine - 前端人の日常频道&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;/search/result?q=%23%E4%BC%98%E8%B4%A8%E5%8D%9A%E6%96%87&quot; title=&quot;#优质博文&quot;&gt;#优质博文&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%96%B0%E7%89%B9%E6%80%A7&quot; title=&quot;#新特性&quot;&gt;#新特性&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E6%B5%8F%E8%A7%88%E5%99%A8&quot; title=&quot;#浏览器&quot;&gt;#浏览器&lt;/a&gt;&lt;br /&gt;好东西。&lt;br /&gt;&lt;a href=&quot;https://web.dev/blog/baseline-urlpattern&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;URLPattern is now Baseline Newly available&quot;&gt;URLPattern is now Baseline Newly available&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-3-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-3-0-content&quot; /&gt;
      &lt;div id=&quot;expand-3-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;AI 摘要：介绍了已进入 Baseline 的新浏览器功能 &lt;b&gt;URLPattern API&lt;/b&gt;，它为 URL 匹配和路由提供了标准、简洁且高性能的原生解决方案。过去开发者需使用复杂的正则表达式或第三方库来解析和提取 URL 参数，而 URLPattern 使得这些操作更清晰、可维护且无需额外依赖。&lt;/div&gt;
      &lt;label for=&quot;expand-3-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;[以下是方便搜索索引的大纲(AI 生成)，请读原文]&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-3-1&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-3-1-content&quot; /&gt;
      &lt;div id=&quot;expand-3-1-content&quot; class=&quot;tg-expandable__content&quot;&gt;1.  URLPattern 基础与核心概念&lt;br /&gt;•   介绍 URLPattern API 的推出背景：取代传统正则匹配与第三方路由库。&lt;br /&gt;•   提供新 URLPattern 接口，可通过 .test() 与 .exec() 操作直接匹配并提取参数。&lt;br /&gt;&lt;br /&gt;2.  基本 URL 模式匹配&lt;br /&gt;•   对比旧方法（URL + 正则）与新 API 的简化写法。&lt;br /&gt;•   展示匹配 /users/:id 的例子，体现代码可读性和简洁性。&lt;br /&gt;&lt;br /&gt;3.  提取动态参数（Dynamic Parameters）&lt;br /&gt;•   传统方法依赖匿名的正则捕获组，易出错。&lt;br /&gt;•   URLPattern 支持命名参数，可通过结构化对象获取（如 result.pathname.groups）。&lt;br /&gt;•   示例：提取书籍分类 category 与 id。&lt;br /&gt;&lt;br /&gt;4.  复合匹配（Compose Multipart Matches）&lt;br /&gt;•   传统方式需多处判断主机名与路径。&lt;br /&gt;•   URLPattern 原生支持同时匹配多个部分，例如 hostname + pathname。&lt;br /&gt;•   示例：匹配 &lt;i&gt;.cdn.com 下的 /images/&lt;/i&gt; 文件。&lt;br /&gt;&lt;br /&gt;5.  减少项目依赖（Project Dependencies）&lt;br /&gt;•   URLPattern 是内置能力，无需加载第三方库，减少 bundle 体积与维护成本。&lt;br /&gt;•   使用浏览器原生实现，跨引擎一致且性能更优。&lt;br /&gt;&lt;br /&gt;6.  深度用法详解（Detailed Usage）&lt;br /&gt;•   多种典型场景：&lt;br /&gt;    •   &lt;b&gt;路径匹配与参数提取&lt;/b&gt;：示例 /products/:category/:id 展示 .test() 与 .exec() 双用法。&lt;br /&gt;    •   &lt;b&gt;匹配子域名与版本号&lt;/b&gt;：支持在 hostname 层定义变量如 :subdomain.myapp.com，适用于多子域架构。&lt;br /&gt;    •   &lt;b&gt;通配符与正则表达式结合&lt;/b&gt;：通过 * 和嵌入式正则增强匹配灵活度，如 /users/:userId(d+)/assets/*.(jpg|png|gif)。&lt;br /&gt;&lt;br /&gt;7.  实战示例：Service Worker 路由&lt;br /&gt;•   利用 URLPattern 拦截 fetch 事件，根据路径实行不同缓存策略。&lt;br /&gt;•   示例：&lt;br /&gt;    •   /images/* 采用缓存优先；&lt;br /&gt;    •   /api/* 使用网络优先。&lt;br /&gt;•   显示该 API 在渐进式 Web 应用（PWA）中的现实意义。&lt;br /&gt;&lt;br /&gt;8.  结语与扩展阅读&lt;br /&gt;•   URLPattern 提升代码可维护性，简化路由逻辑。&lt;br /&gt;•   推荐进一步查阅 &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/URLPattern&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;MDN Web Docs&quot;&gt;MDN Web Docs&lt;/a&gt; 了解完整参考。&lt;/div&gt;
      &lt;label for=&quot;expand-3-1&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;author Jay Rungta&lt;/i&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://web.dev/blog/baseline-urlpattern&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;URLPattern became Baseline Newly available as of September 15, 2025.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;web.dev&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;URLPattern is now Baseline Newly available  |  Blog  |  web.dev&quot; src=&quot;/static/https://cdn4.telesco.pe/file/sOSXQ2X8PLCYqwa9WYmFavGcYl21dDamMP3ODVVJFNYk3kkJQlLbuaAFndAbUCkTzhUIjpjhJJ907iwACu-XtSGUb_O8ES_st7_qVhg7-RD4LvLDwXieoDCVgPiSw8csMqnfPN8ALphoQoC2IRdu8nYrPJmOr7DPDXSnuvF0Nn1wlHH8KGKhKs71fo_OnwMz68NXNN0NGO3x36V0O7hETl67NDGnP3Q3Ey0tgCQUu4Ia6a80ORhebUCZcZVmsg30__SB9qF1ocGEqH2jBrckGgkfOJhsiohoswZkVJQcz8pLoZeRB0gWNqZlrnHFhNxeZddbF3fpD1jINtno9aBb4A.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;URLPattern is now Baseline Newly available  |  Blog  |  web.dev&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;URLPattern became Baseline Newly available as of September 15, 2025.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>油猴专属：1.一键下载推文包含的所有图片2.一键下载推文包含的视频 [跳转站外解析]3.一键推文生成图片(推文/评论/转发均可)</title><link>http://telegram.zhetengsha.eu.org/posts/2941</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/2941</guid><pubDate>Tue, 22 Apr 2025 00:03:02 GMT</pubDate><content:encoded>&lt;div class=&quot;tgme_widget_message_forwarded_from accent_color&quot;&gt;Forwarded from &lt;a class=&quot;tgme_widget_message_forwarded_from_name&quot; href=&quot;https://t.me/limboprossr/3375&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;晚来天欲雪 🅥 &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F8C88.png&apos;)&quot;&gt;&lt;b&gt;🌈&lt;/b&gt;&lt;/i&gt;&lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F8C9D.png&apos;)&quot;&gt;&lt;b&gt;🌝&lt;/b&gt;&lt;/i&gt;&lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F90B3.png&apos;)&quot;&gt;&lt;b&gt;🐳&lt;/b&gt;&lt;/i&gt;&lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F8FB3E2808DF09F8C88.png&apos;)&quot;&gt;&lt;b&gt;🏳️‍🌈&lt;/b&gt;&lt;/i&gt; limbopro.com &lt;i class=&quot;emoji&quot; style=&quot;background-image:url(&apos;//telegram.org/img/emoji/40/F09F9497.png&apos;)&quot;&gt;&lt;b&gt;🔗&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;image-list-container image-list-even&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-2941-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: 油猴专属：1.一键下载推文包含的所有图片2.一键下载推文包含的视频 [跳转站外解析]3.一键推文生成图片(推文/评论/转发均可)&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/HJwl-BOEs5mRxxgrqg05pfc1bUQ115UdaPCjvCEe6Hmi3ScKUB1EkCxltncc9HSyb30qVzdrYXofjLn5QLm_NszZpewRjL1k1mvvK7ZK8yNaaJEId70nJmwQuBaQb_i4q74Tn7w8SQ-W5KNsveE00i8a3Ph-wQdC9XjmzuBCJ2ovA4G2mM8Qa0WCKCEze9AZtdOqgd8w785urfASn57lK1GzFWZsx2Zv2aPoinIvK9DmuYDSFbmE2sv6ofRkz_bDqyLt5ggNFq93yIdlZHvfN_TryJr6tF3mtzotMbIAu1qy4KQibQ_u0_apn6thKZWhoddRdfz-nNB0t-Ct0FHVow.jpg&quot; alt=&quot;油猴专属：1.一键下载推文包含的所有图片2.一键下载推文包含的视频 [跳转站外解析]3.一键推文生成图片(推文/评论/转发均可)&quot; width=&quot;225&quot; height=&quot;114&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-2941-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-2941-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-2941-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-2941-1&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: 油猴专属：1.一键下载推文包含的所有图片2.一键下载推文包含的视频 [跳转站外解析]3.一键推文生成图片(推文/评论/转发均可)&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/TEnlWMoFEt1Hw9OcnE8UARzIacXhiNe2AToO7fk6vlGAue7ze9iN-RaLwDKfoeDkBB0YSAHL16FvTqoWdG0HKJI7KKVvRxOtLivaa0jEldlnglb1sSETxMR1JQ8Q9IoiPTNRVRNFUhAPudQcqdK-DB425ZGkaRVrFLPcRXwJQ-jZN42pvDYFuAMLlMOp65lCWE5w0hcYiiywKOU0X3vD-ADx9_uc58Q5YtQUT_y1aIYujbmyh0hqIxHxSu9eiOJ1S6KqEuUhBPRq2mNxxC51cR4G6ilzu3e4F-qhqpn3Gvmo5NN6kKLgRcQVStCB_1UEkMJjP-7DKYeIbysPcsmFmQ.jpg&quot; alt=&quot;油猴专属：1.一键下载推文包含的所有图片2.一键下载推文包含的视频 [跳转站外解析]3.一键推文生成图片(推文/评论/转发均可)&quot; width=&quot;226&quot; height=&quot;114&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-2941-1&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-2941-1&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-2941-1&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;video src=&quot;/static/https://cdn5.telesco.pe/file/cc2ffce5d0.mp4?token=crw37fuGUCKw5dZl5XZ1_0IS1xJ438co4S2obSI63VsiMv5kmupDHofO_sVFZZ-8T0XmBpJHrYK3fonO4_5va5b29vyWx755UTVgUxVDVYUnMsshAljuxBXuBd9tDpAg__43TXeap5HcgzzkWvFUscSC9aK-s4XBaBFTq8VLy-tM2S5Z4pRkFiXyMy69JaJbtgI3GU3pdKeo8lywDvkZkSs-ISr1WaXj3Yc4LhehJUYKtJ7_X7GP90IBBcfxrtAdZImqF4VF5wLfv2fM-lQ4RKXHl1MZQkENPShVzW7VApClahgs4yPt4otXrjRJu1wMvC1Jy1p2o50VHS2rB90Cdil6m_Dce4YRDbsp66eKC7r3s3ibo9r7792tDNcKQLL1VaMHxaOMjvy2TVefanpU03IeqCLktdR_VfzNvBbiJlpZQhCkKA7ZFQRVdK2arkaGcSfcAx8eL5oyuS7tpnRZbEtkuIarYHoM-Z6gRDtOxD6iZYdegjx8tZhCC4x_57sEoWhzpGCcKWSoo5EJk993fMI2yuH1s7yH8Kiy_tJ774q3A_KWbpLKSCck0Tu6PPnzgyGSbV3VRytydX8Atskdsx2ejnnntzXKSU2JUp_AjtU9YrnJTCpvHt2H5E2VxMAGu95MIJh3S9fmzRHdGDOTW5vENi3p5KhVPHY352bbhao&quot; class=&quot;tgme_widget_message_video js-message_video&quot; width=&quot;100%&quot; height=&quot;100%&quot; controls preload=&quot;auto&quot; playsinline webkit-playsinline&gt;&lt;/video&gt;&lt;div class=&quot;tgme_widget_message_text js-message_text&quot;&gt;油猴专属：&lt;br /&gt;&lt;br /&gt;1.一键下载推文包含的所有图片&lt;br /&gt;2.一键下载推文包含的视频 [跳转站外解析]&lt;br /&gt;3.一键推文生成图片(推文/评论/转发均可)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://greasyfork.org/zh-CN/scripts/478651-twitter-x-%E7%BD%91%E9%A1%B5%E7%89%88-%E8%A7%86%E9%A2%91-%E5%8E%9F%E5%A7%8B%E5%9B%BE%E7%89%87-gif%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD-limbopro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://greasyfork.org/zh-CN/scripts/478651-twitter-x-%E7%BD%91%E9%A1%B5%E7%89%88-%E8%A7%86%E9%A2%91-%E5%8E%9F%E5%A7%8B%E5%9B%BE%E7%89%87-gif%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD-limbopro&quot;&gt;https://greasyfork.org/zh-CN/scripts/478651-twitter-x-%E7%BD%91%E9%A1%B5%E7%89%88-%E8%A7%86%E9%A2%91-%E5%8E%9F%E5%A7%8B%E5%9B%BE%E7%89%87-gif%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD-limbopro&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;好用的话给个好评喔&lt;br /&gt;有问题欢迎反馈&lt;br /&gt;&lt;i class=&quot;emoji&quot;&gt;&lt;b&gt;🙏&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E5%AE%9E%E7%94%A8%E5%B7%A5%E5%85%B7&quot; title=&quot;#实用工具&quot;&gt;#实用工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt;&lt;/div&gt;</content:encoded></item><item><title>#Cloudflare #CF #Workers #脚本 #JS #JavaScript #IPv4 #内网穿透 #公网 #IP #节点 #订阅 #Lucky #动态域名 #端口转发 #公网打洞 #内网穿透 #DDNS Cloudflare Workers 配合 Lucky 实现动态公网节点订阅 更新 支持 DB(D1)DB(D1) 和 KV 二选一不用 DB 的话就把 DB 留空: const DB = &apos;&apos;D1 免费额度多一些使用场景:搭建家宽节点, 获得 IPv4 动态公网地址, 无痛更新节点订阅本脚本实现的接口可用来管理数据 此用途仅用于举例 Lucky 可配置动态域名, 端口转发, IPv4 公网打洞, 非常方便 查看文档#脚本 #shell #bash #IPv4 #内网穿透 #公网 #IP #节点 #订阅 #Lucky #动态域名 #端口转发 #公网打洞 #内网穿透 #DDNS #IP4P #NATMap使用 Lucky 进行 STUN 内网穿透时, 配置自定义脚本实现自动更新 IP4P 动态域名 IP4P来自 NATMap, 将 IPv4 地址和端口同时编码在 DNS AAAA 记录中 具体说明使用场景: 结合  Sub-Store 的 IP4P 域名解析, 自动更新节点的服务器 IP 地址和 端口 Lucky 可配置动态域名, 端口转发, IPv4 公网打洞, 非常方便以下为代码:ZONE=&apos;&apos;</title><link>http://telegram.zhetengsha.eu.org/posts/1139</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/1139</guid><pubDate>Wed, 07 Feb 2024 18:34:12 GMT</pubDate><content:encoded>&lt;a href=&quot;/search/result?q=%23Cloudflare&quot; title=&quot;#Cloudflare&quot;&gt;#Cloudflare&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CF&quot; title=&quot;#CF&quot;&gt;#CF&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Workers&quot; title=&quot;#Workers&quot;&gt;#Workers&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%84%9A%E6%9C%AC&quot; title=&quot;#脚本&quot;&gt;#脚本&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JS&quot; title=&quot;#JS&quot;&gt;#JS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IPv4&quot; title=&quot;#IPv4&quot;&gt;#IPv4&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F&quot; title=&quot;#内网穿透&quot;&gt;#内网穿透&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%AC%E7%BD%91&quot; title=&quot;#公网&quot;&gt;#公网&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IP&quot; title=&quot;#IP&quot;&gt;#IP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AE%A2%E9%98%85&quot; title=&quot;#订阅&quot;&gt;#订阅&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Lucky&quot; title=&quot;#Lucky&quot;&gt;#Lucky&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D&quot; title=&quot;#动态域名&quot;&gt;#动态域名&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91&quot; title=&quot;#端口转发&quot;&gt;#端口转发&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%AC%E7%BD%91%E6%89%93%E6%B4%9E&quot; title=&quot;#公网打洞&quot;&gt;#公网打洞&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F&quot; title=&quot;#内网穿透&quot;&gt;#内网穿透&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23DDNS&quot; title=&quot;#DDNS&quot;&gt;#DDNS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961112553196356583.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Cloudflare Workers 配合 Lucky 实现动态公网节点订阅&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5361979468887893611.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; 更新 支持 DB(D1)&lt;br /&gt;&lt;br /&gt;DB(D1) 和 KV 二选一&lt;br /&gt;不用 DB 的话就把 DB 留空: const DB = &apos;&apos;&lt;br /&gt;D1 免费额度多一些&lt;br /&gt;&lt;br /&gt;使用场景:&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5215584915898243758.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;搭建家宽节点, 获得 IPv4 动态公网地址, 无痛更新节点订阅&lt;br /&gt;&lt;br /&gt;本脚本实现的接口可用来管理数据 此用途仅用于举例&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6323392590834042165.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Lucky 可配置动态域名, 端口转发, IPv4 公网打洞, 非常方便&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5976801477509778431.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;a href=&quot;https://xream.notion.site/Cloudflare-Workers-Lucky-IPv4-52930293fb32446e887eeebe3da7aa52&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot; 查看文档&quot;&gt; 查看文档&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E8%84%9A%E6%9C%AC&quot; title=&quot;#脚本&quot;&gt;#脚本&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23shell&quot; title=&quot;#shell&quot;&gt;#shell&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23bash&quot; title=&quot;#bash&quot;&gt;#bash&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IPv4&quot; title=&quot;#IPv4&quot;&gt;#IPv4&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F&quot; title=&quot;#内网穿透&quot;&gt;#内网穿透&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%AC%E7%BD%91&quot; title=&quot;#公网&quot;&gt;#公网&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IP&quot; title=&quot;#IP&quot;&gt;#IP&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%8A%82%E7%82%B9&quot; title=&quot;#节点&quot;&gt;#节点&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%AE%A2%E9%98%85&quot; title=&quot;#订阅&quot;&gt;#订阅&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Lucky&quot; title=&quot;#Lucky&quot;&gt;#Lucky&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D&quot; title=&quot;#动态域名&quot;&gt;#动态域名&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91&quot; title=&quot;#端口转发&quot;&gt;#端口转发&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%85%AC%E7%BD%91%E6%89%93%E6%B4%9E&quot; title=&quot;#公网打洞&quot;&gt;#公网打洞&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F&quot; title=&quot;#内网穿透&quot;&gt;#内网穿透&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23DDNS&quot; title=&quot;#DDNS&quot;&gt;#DDNS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IP4P&quot; title=&quot;#IP4P&quot;&gt;#IP4P&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23NATMap&quot; title=&quot;#NATMap&quot;&gt;#NATMap&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使用 Lucky 进行 STUN 内网穿透时, 配置自定义脚本实现自动更新 IP4P 动态域名&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5976801477509778431.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; IP4P&lt;br /&gt;&lt;br /&gt;来自 NATMap, 将 IPv4 地址和端口同时编码在 DNS AAAA 记录中 &lt;a href=&quot;https://t.me/zhetengsha_group/581628&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;具体说明&quot;&gt;具体说明&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使用场景: &lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5215584915898243758.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;结合 &lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Sub-Store 的 IP4P 域名解析, 自动更新节点的服务器 IP 地址和 端口&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/6323392590834042165.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Lucky 可配置动态域名, 端口转发, IPv4 公网打洞, 非常方便&lt;br /&gt;&lt;br /&gt;以下为代码:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;ZONE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;
&lt;span class=&quot;token constant&quot;&gt;RECORD&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;
&lt;span class=&quot;token constant&quot;&gt;EMAIL&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;
&lt;span class=&quot;token constant&quot;&gt;AUTH&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;
&lt;span class=&quot;token constant&quot;&gt;DOMAIN&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;&apos;&lt;/span&gt;

ipa&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ip&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;d&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;f1&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
ipb&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ip&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;d&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;f2&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
ipc&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ip&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;d&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;f3&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
ipd&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ip&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;d&lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;.&apos;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;f4&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

ipab&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;printf &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;%02x%02x&apos;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ipa&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ipb&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
ipcd&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;printf &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;%02x%02x&apos;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ipc&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;ipd&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

porthex&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;$&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;printf &lt;span class=&quot;token string single-quoted-string&quot;&gt;&apos;%04x&apos;&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;port&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;token constant&quot;&gt;IP4P&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;2001::${porthex}:${ipab}:${ipcd}&quot;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;token variable&quot;&gt;$IP4P&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;token constant boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;do&lt;/span&gt;
    curl &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;PUT&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;https://api.cloudflare.com/client/v4/zones/${ZONE}/dns_records/${RECORD}&quot;&lt;/span&gt; \
        &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;X-Auth-Email: ${EMAIL}&quot;&lt;/span&gt; \
        &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Authorization: Bearer ${AUTH}&quot;&lt;/span&gt; \
        &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;Content-Type:application/json&quot;&lt;/span&gt; \
        &lt;span class=&quot;token operator&quot;&gt;--&lt;/span&gt;data &lt;span class=&quot;token string double-quoted-string&quot;&gt;&quot;{\&quot;type\&quot;:\&quot;AAAA\&quot;,\&quot;name\&quot;:\&quot;${DOMAIN}\&quot;,\&quot;content\&quot;:\&quot;${IP4P}\&quot;,\&quot;ttl\&quot;:60,\&quot;proxied\&quot;:false}&quot;&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt; $&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;-&lt;/span&gt;eq &lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; then
        &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;
    fi
done&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/5976801477509778431.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; 相关内容&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1198&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;IP4P 请求自动重定向, 使用固定的 URL 访问 STUN 打洞的内网服务(以 Surge 模块为例)&quot;&gt;IP4P 请求自动重定向, 使用固定的 URL 访问 STUN 打洞的内网服务(以 Surge 模块为例)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1184&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;使用 Lucky 进行 STUN 内网穿透时, 配置自定义脚本实现自动更新 IP4P 动态域名&quot;&gt;使用 Lucky 进行 STUN 内网穿透时, 配置自定义脚本实现自动更新 IP4P 动态域名&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://t.me/zhetengsha/1186&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;自动使用 IP4P 动态域名 SSH&quot;&gt;自动使用 IP4P 动态域名 SSH&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://lucky666.cn/docs/modules/stun&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Lucky 文档: STUN 内网穿透&quot;&gt;Lucky 文档: STUN 内网穿透&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4960754541902430862.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; &lt;a href=&quot;https://t.me/zhetengsha/1180&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sub-Store 域名解析新增 IP4P, 支持禁用缓存&quot;&gt;Sub-Store 域名解析新增 IP4P, 支持禁用缓存&lt;/a&gt;</content:encoded></item><item><title>#Surge #脚本 #JavaScript #JS #IPv6 Surge 一个简单判断当前配置是否开启了 IPv6 的例子</title><link>http://telegram.zhetengsha.eu.org/posts/995</link><guid isPermaLink="true">http://telegram.zhetengsha.eu.org/posts/995</guid><pubDate>Sat, 02 Dec 2023 04:32:33 GMT</pubDate><content:encoded>&lt;a href=&quot;/search/result?q=%23Surge&quot; title=&quot;#Surge&quot;&gt;#Surge&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%84%9A%E6%9C%AC&quot; title=&quot;#脚本&quot;&gt;#脚本&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JS&quot; title=&quot;#JS&quot;&gt;#JS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23IPv6&quot; title=&quot;#IPv6&quot;&gt;#IPv6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;tg-emoji&quot; src=&quot;/static/https://telegram.me/i/emoji/4961174074307904393.webp&quot; alt=&quot;&quot; loading=&quot;lazy&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt; Surge 一个简单判断当前配置是否开启了 IPv6 的例子&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;
&lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; profile &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;httpAPI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&apos;/v1/profiles/current?sensitive=0&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;GET&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;token function&quot;&gt;$done&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;token literal-property property&quot;&gt;IPv6&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token regex&quot;&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-source language-regex&quot;&gt;(^|\n)ipv6\s*?=\s*?(true|1)\b&lt;/span&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-flags&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;profile&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;httpAPI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;path &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; method &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&apos;POST&apos;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; body &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Promise&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;resolve&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token function&quot;&gt;$httpAPI&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;method&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; path&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; body&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token function&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;result&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content:encoded></item></channel></rss>