返回首页
最新
嗨,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)来计算模仿用户绘图的路线。这个工具是免费的,并且注重隐私。期待你的反馈。
我为Python构建了一个基于Rust的Wavelet Matrix库。<p>令人惊讶的是,Python中可用的实际Wavelet Matrix实现非常少,因此我实现了一个,重点关注性能、可用性和类型化API。它支持快速的排名/选择、前k个元素、分位数、范围查询,甚至动态更新。<p>欢迎反馈!
厌倦了为简单的联系表单支付每月29到99美元(如Typeform、Tally等)后,我决定自己动手制作GitForms:一个开源的联系表单,它将提交内容存储为GitHub问题(Issues)。它的工作原理如下:
- 表单在你的Next.js 14网站上运行(使用Tailwind和TypeScript)。
- 提交后,通过GitHub API在你的代码库中创建一个新的问题(Issue)。
- 你会立即收到来自GitHub的电子邮件通知(免费)。
零持续成本:没有数据库,没有后端服务器。
可以在几分钟内在Vercel/Netlify的免费套餐上部署。
通过JSON进行配置(主题、文本、多语言)。
非常适合MVP、着陆页、作品集或任何低流量的使用场景。代码库链接: [https://github.com/Luigigreco/gitforms](https://github.com/Luigigreco/gitforms)
许可证:CC-BY-NC-SA-4.0(仅限非商业用途——个人项目可以,客户项目不可以)。想知道HN的看法:你会使用这个吗?有没有明显的改进建议或我遗漏的边缘案例?谢谢!
我花了一个月的时间重建1970年至2024年的美国联邦预算,以寻找我们财政崩溃的“根源”。
数学表明,我们并没有主权债务危机,而是存在定价危机。
我将联邦医疗保健支出与CPI加上1.7%的“创新溢价”(以德国作为对照组)进行了比较。
研究结果如下:
联邦医疗保健的过度支付占据了我们国家债务的26万亿美元。
如果没有这个“垄断溢价”,美国今天的债务将仅有9万亿美元左右。
结构性原因:我将其追溯到1997年的住院医师名额上限(供应冻结)和85%的医疗损失率(使保险公司变成成本加成的承包商)。
我对社区对“三级乘数”逻辑(价格 + 创新 + 利息)的反馈很感兴趣。
附言:我目前在LinkedIn上主持关于这些数据政策影响的深入讨论,链接是 bit.ly/3YEv6kl。