返回首页
最新
嗨,HN,
我开发这个扩展是因为频繁切换上下文严重影响了我的工作效率。每次我切换到浏览器分享编码更新(#BuildInPublic)时,往往会无意识地刷屏20分钟,导致工作状态被打断。
由于现有的扩展在X API v2更新后无法使用,我决定自己构建一个解决方案,专注于隐私和免费套餐的限制。
它的工作原理如下:
自带密钥(BYOK):使用您自己的API凭证。
安全性:密钥保存在本地,使用vscode.SecretStorage(绝不存储在settings.json中)。
限制:它实现了一个本地计数器,以遵循免费API套餐严格的17条推文/24小时限制。
只写:它故意不读取您的时间线,以帮助您保持专注。
这是一个开源项目,也是我第一个扩展。欢迎对代码结构提出反馈!
市场链接: [https://marketplace.visualstudio.com/items?itemName=Jawuilp.x-writer](https://marketplace.visualstudio.com/items?itemName=Jawuilp.x-writer)
代码库: [https://github.com/Jawuilp/X-writer](https://github.com/Jawuilp/X-writer)
嗨,HN,
在处理现代网络时,我一直觉得传统的 nc 工具非常令人沮丧。它假设一方有可达的 IP 和监听端口,而在双方都处于 NAT、CGNAT 或防火墙后面时,这种情况很少出现。
我构建了一个基于 Go 的 netcat 风格工具,它仅使用共享的高熵密码短语来实现临时的 P2P 连接。无需入站端口、已知 IP,也不需要手动协调。双方只需运行相同的命令,例如:`nc -p2p <passphrase>`。
实际示例:
类似于 FRP 的替代方案,没有公共服务器进行反向代理,也没有暴露的端口。例如,如果你经常需要访问公司网络内的 10.0.0.1:22,可以在公司局域网内的任意主机上运行以下命令:
`gonc -p2p <passphrase> -linkagent`
然后,从家里你可以使用相同的密码短语启动隧道:
`gonc -p2p <passphrase> -link 3080;3080`
之后,双方可以使用本地的 SOCKS5 监听器代理到对方局域网中的任何 IP:端口。
其背后的“魔法”:
它并不依赖于中央中继或复杂的 VPN,而是使用三阶段握手:
1. 会合:密码短语确定性地派生出一个唯一的 MQTT 主题和一个自签名的 TLS 证书/密钥对。
2. 发现:双方连接到一个公共 MQTT 代理(充当“公告板”)以交换 STUN 发现的候选地址。代理永远不会看到密码短语或原始流量。
3. 连接:首先尝试直接 TCP 连接,然后回退到 UDP 穿孔。如果 NAT 特别“困难”,则使用“生日悖论”策略(喷洒 600+ 个端口)来强制发生冲突。
4. 安全性:一旦连接,MQTT 通道就会被关闭。所有数据通过 mTLS 实现 P2P 传输。由于 TLS 证书是从秘密中派生的,没有密码短语就无法进行冒充。
主要特点:
- 无“客户端”或“服务器”:双方运行完全相同的命令。
- 零基础设施:使用公共 MQTT/STUN 服务器;无需托管自己的信令服务器。
- 熟悉的界面:支持 stdin/stdout 管道和 -e 执行程序(如 P2P 反向 shell 或服务门户)。
- 内置 SOCKS5:可以作为持久隧道/代理访问内部局域网(FRP/NGROK 的替代方案,无需中央代理)。
为什么不直接使用 Tailscale/Wireguard?
Tailscale 非常适合永久性网状网络,但有时你只想快速将一个 500MB 的 tar 包或一个快速 shell 传输到朋友的笔记本电脑,而不需要管理节点、访问控制列表或登录提供者。这是一个“一次性”的安全管道。
期待你的想法!
嗨,HN,我创建了Routista.eu,旨在解决手动制作GPS艺术的烦恼。它使用开放街图(OSM)来计算模仿用户绘图的路线。这个工具是免费的,并且注重隐私。期待你的反馈。