Skip to content

Commit aecc1d4

Browse files
committed
docs: document pipenet vs zrok
1 parent ba427eb commit aecc1d4

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,27 @@ pipenet is a modernized fork of [localtunnel](https://github.com/localtunnel/loc
223223

224224
**Modern JavaScript**: pipenet uses ES modules and is written in TypeScript, providing better IDE support, type safety, and compatibility with modern JavaScript tooling.
225225

226+
## pipenet vs zrok
227+
228+
[zrok](https://zrok.io/) is a powerful tunneling solution with SDK support for Go, Python, and Node.js. However, zrok SDKs require the environment to be initialized via the CLI first - you can't just `npm install` and start tunneling.
229+
230+
pipenet is designed for zero-setup embedding:
231+
232+
```js
233+
import { pipenet } from 'pipenet';
234+
235+
const tunnel = await pipenet({ port: 3000 });
236+
console.log(tunnel.url);
237+
```
238+
239+
No CLI initialization, no external processes, no daemon - just a pure JavaScript library that works out of the box. This makes pipenet ideal for:
240+
241+
- **CLI tools** that need tunneling as a feature (e.g., `mcp-proxy --tunnel`)
242+
- **Test suites** that need ephemeral public URLs
243+
- **Scripts** that should "just work" without setup steps
244+
245+
If you need advanced features like TCP/UDP tunneling, identity management, or a managed SaaS, zrok is an excellent choice.
246+
226247
## Acknowledgments
227248

228249
pipenet is based on [localtunnel](https://github.com/localtunnel/localtunnel).

0 commit comments

Comments
 (0)