We made Pangolin so you retain full control over your infrastructure while providing a user-friendly and feature-rich solution for managing proxies, authentication, and access, all with a clean and simple dashboard web UI.
GitHub: https://github.com/fosrl/pangolin
Deployment takes about 5 minutes on a VPS: https://docs.fossorial.io/Getting%20Started/quick-install
Demo by Lawrence Systems (YouTube): https://youtu.be/g5qOpxhhS7M?si=M1XTWLGLUZW0WzTv&t=723
Some use cases:
- Grant users access to your apps from anywhere using just a web-browser
- Proxy behind CGNAT
- One application load balancer across multiple clouds and on-premises
- Easily expose services on IoT and edge devices for field monitoring
- Bring localhost online for easy access
A few key features: - No port forwarding and hide your public IP for self-hosting
- Create proxies to multiple different private networks
- OAuth2/OIDC identity providers
- Role-based access control
- Raw TCP and UDP support
- Resource-specific pin codes, passwords, email OTP
- Self-destructing shareable links
- API for automation
- WAF with CrowdSec and Geoblocking
oschwartz10612•7mo ago
Pangolin uses Traefik under the hood to do the actual HTTP proxying. A plugin, Badger, provides a way to authenticate every request with Pangolin. A second service, Gerbil, provides a WireGuard management server that Pangolin can use to create peers for connectivity. And finally, there is Newt, a CLI tool and Docker container that connects back to Gerbil with WireGuard fully in user space and proxies your local resources. This means that you do not need to run a privileged process or container in order to expose your services!
PeterStuer•7mo ago
My experience went very smooth and stable. The one issue I thought I had turned out to be not related to Pangolin at all.
https://github.com/orgs/fosrl/discussions/950
v5v3•7mo ago
PeterStuer•7mo ago
oulipo•7mo ago
fossorialowen•7mo ago
oulipo•7mo ago
oulipo•6mo ago
https://linuxcontainers.org/incus/try-it
hardwaresofton•7mo ago
Traefik is awesome, and one of the biggest reasons is it's extensibility and robustness.
It absolutely does not get enough attention!
jtbaker•7mo ago
The one thing I haven’t been able to figure out how to do with it is do compression (gzip/br/zstd) there, so I’m handling it in the application layer, which feels suboptimal.
Any tips? Seems like a table stakes sort of feature in the space that shouldn’t be too hard to implement.
hardwaresofton•7mo ago
https://doc.traefik.io/traefik/middlewares/http/compress/
Are you trying to compress the request that has already come in to your cluster? I'm not sure there's a ton of value to be extracted there, since the requests have already made their way across the internet uncompressed to your ingress point.
If there's a "long way" to go after hitting your ingress controller then maybe there's something to be gained...
1vuio0pswjnm7•7mo ago
https://github.com/traefik/traefik/releases/expanded_assets/...
FuriouslyAdrift•7mo ago
sgarland•7mo ago
1vuio0pswjnm7•7mo ago
For example, max sizes for the largest and smallest TLS libraries I have tried
OpenSSL 9.0MB
WolfSSL 4.6MB
OpenSSL bloat is unfortunate
Does Traefik allow any TLS libraries other than OpenSSL
SergeAx•6mo ago