显示HN:Pipenet – Localtunnel 的现代替代方案
Show HN: Pipenet – A Modern Alternative to Localtunnel

原始链接: https://pipenet.dev/

```javascript import { createServer } from 'pipenet/server'; const server = createServer({ domains: ['tunnel.example.com'], secure: true, tunnelPort: 3001, // 生命周期钩子 onTunnelCreated: (tunnel) => { console.log(`Tunnel created: ${tunnel.id} at ${tunnel.url}`); }, onTunnelClosed: (tunnel) => { console.log(`Tunnel closed: ${tunnel.id}`); }, onRequest: (req) => { console.log(`${req.method} ${req.path} via ${req.tunnelId}`); }, }); await server.tunnelServer.listen(3001); server.listen(3000); ```

## Pipenet:一种新的隧道解决方案 Pipenet (pipenet.dev) 是 Localtunnel 的一种现代、开源替代方案,旨在克服 Localtunnel 的端口要求限制——特别是与 Fly.io 等平台和严格防火墙相关的问题。 Pipenet 使用 TypeScript 开发,利用复用技术通过单个端口运行,使其更易于自托管。一个公共实例可在 *.pipenet.dev 上立即使用。 Pipenet 由 Glama 创建,虽然设计为通用的隧道工具,但它填补了作者在研究现有解决方案时发现的一个空白。他们发现缺乏易于自托管、同时支持 CLI 和 SDK 的纯 Node.js 选项,并已将其贡献到 GitHub 上的“awesome-tunneling”列表中。 你可以在 GitHub 上找到该项目的源代码:[https://github.com/punkpeye/pipenet](https://github.com/punkpeye/pipenet)。
相关文章

原文
import { createServer } from 'pipenet/server';

const server = createServer({
  domains: ['tunnel.example.com'],
  secure: true,
  tunnelPort: 3001,

  // Lifecycle hooks
  onTunnelCreated: (tunnel) => {
    console.log(`Tunnel created: ${tunnel.id} at ${tunnel.url}`);
  },
  onTunnelClosed: (tunnel) => {
    console.log(`Tunnel closed: ${tunnel.id}`);
  },
  onRequest: (req) => {
    console.log(`${req.method} ${req.path} via ${req.tunnelId}`);
  },
});

await server.tunnelServer.listen(3001);
server.listen(3000);
联系我们 contact @ memedata.com