Show HN: PipeGate – A Lightweight, Self-Hosted Proxy to Expose Local Servers
github.comHi Hacker News,
I’d like to introduce PipeGate, a lightweight, self-hosted proxy built with FastAPI. I created PipeGate as a fun little exercise to understand how tunneling services work under the hood. PipeGate allows you to expose your local servers to the internet, giving you full control over your setup. Huge caveat to hosting this server publicly is the codebase will accept any websocket connection to the /{connection_id} route. The author gives a small warning about implementing authentication in the README, but it essentially makes the project extremely dangerous to deploy as any person can use your domain to host their content. For me the ngrok killer feature I've never seen elsewhere is a simple embedded webserver with log/inspector for requests + the ability to replay them. Wish Apache or CNCF would fork ngrok v1 and put it on life support. Why not just use one of the many open source ngrok alternatives - https://github.com/anderspitman/awesome-tunneling. I will advocate for zrok.io as I work on its parent project, OpenZiti. zrok is open source and has a free (more generous and capable) SaaS than ngrok. Whats the use for the log/inspector + replay? I don't think we have it today, but could develop if its useful for others. I've tried self-hosting zrok before, however the domain setup was a bit complicated and I stopped halfway Log/inspector and replay are fundamental for me when I am setting up webhooks and integrations Which part of the domain setup was complicated? Curious on how we can streamline/improve (or may have already). Excuse my ignorance, trying to get to the root why, why is replay fundamental for webhooks and integrations? > why is replay fundamental for webhooks and integrations Debugging and testing without dependencies (after capturing one request) Thanks. Spoke to dev, "building debugging tools has been in the backlog for a very long time. we have finite resources... it just hasn't made it to the top of any list". I will try to remember replying once we do have it. Do you mean ngrok's killer feature? In that case, other services also provide similar options. Such as localxpose or https://pinggy.io/ You can do that with many proxy GUIs like Charles. I think the feature is called Map Remote. ngrok -> gui proxy -> your dev server Cool use of WebSockets! Have you tried deploying it to AWS Lambda? I would like to have something similar on AWS, but SSL support and scale-to-zero are hard and tricky with EC2 Load Balancer and ECS. Thanks, I haven't deployed PipeGate on AWS; it started as a personal curiosity project. There are probably many security aspects that would need to be addressed before deploying it in a production environment.