News

  • [Go 编程语言] go build 时如何才能不携带 BuildInfo 信息?

    ·

    直接二进制查看 go 编译的二进制文件,会发现带有 import 包信息,挺敏感的 dep github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= dep github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= dep google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= dep google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= dep github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= 但查了下没发现去除的办法

    Read More

  • [分享创造] 写了个简单的网站转 RSS 的 worker

    ·

    首先感谢在昨天的帖子里回答的大家,帮我解决了抓不到 API 的问题 之前用了 RSSHub ,没找到快速好用的公共节点,自己部署还要花钱买服务器,想用 cfworker 实现一个,代码写到一半发现已经有人实现了,但是没有我想用的网站,就把代码写完了。 程序结构很简单,就三部分 main 负责分析参数,router 用来解析网站,rss 用来生成订阅 worker 有执行时间限制,所以不能像 rsshub 那样爬取子页面获得更多的信息 之前想改成用 worker 反代原网页形成 rss 文章来着,因为过于复杂放弃了 感觉直接将 rss 当成通知更合适 github 链接: https://github.com/4evergr8/WorkerRSS

    Read More

  • [Apple] iOS 26 后绕过 Wi-Fi Calling 地区限制的方法可能不再有效

    ·

    某些海外运营商的 Wi-Fi Calling 限制只能在当地使用,特别是香港的运营商基本都有这个限制 iOS 26 之前只需要飞行模式 + 修改/代理 https://gspe1-ssl.ls.apple.com/pep/gcc 为所需的国家代码即可绕过该限制 但由于国行 iPhone 的 eSIM 合规要求必须仅能在中国大陆境内才能添加中国大陆的 eSIM ,而必须在境外才能添加境外 eSIM ,并且像之前 eSIM iPad 的检测漏洞很可能被要求修复。因此 Apple 使用了类似欧盟侧载 countryd 的检测方法,即包括 Wi-Fi SSID 广播的国家代码 / 基站信息 / IP / GNSS 数据在内的综合方法判断。 但 Apple 不知道出于什么原因,这个检测现在应用于整个蜂窝网络相关服务,并且和手机的原始购买地区无关,导致 Wi-Fi Calling 无法在 iOS 26 绕过运营商的地区限制了

    Read More

  • [Apple] macos26 屏幕保护程序存在 bug

    ·

    macos26 屏幕保护程序存在 bug ,进入屏幕保护程序后,移动鼠标或者随便在键盘上按一个键,有几率不能退出屏幕保护程序(表现为闪烁一下桌面又重新进入屏幕保护程序),有时候 dock 栏还会自动切换到自动隐藏

    Read More

  • [TypeScript] TypeScript5.9,仿佛走出草原来到了现代社会

    ·

    TypeScript5.9 刚出就关注了,令我惊喜的是这三个变化:可扩展悬停+悬停最大长度配置+缓存实例 不过当时在 vscode 上摸了半天没法开启,而且 eslint 当时暂时还不支持 5.9 ,于是就回退 5.8 。 今天有时间尝试了一下,vscode 版本大于 1.103 且 TypeScript 版本大于 5.9 ,默认开启可扩展悬停,之前用过实验性配置的可以删掉这个无用配置了 “typescript.experimental.expandableHover”: true 需要注意的是部分插件会阻止这个功能,vue/svelte/astro 等插件要么升到最新版要么禁用 假设有这么一个函数,指定了三个参数 function test1(option: { a: string; b: number; c: boolean }) { console.log(option) } 悬浮在函数名上,得到的是 function test1(option: { a: string; b: number; c: boolean; }): void 如果这个参数类型需要在其他地方使用,只能把内联类型转成接口或者类型别名 type Option = { a:…

    Read More