oauth2-proxy
awesome-tunneling
Our great sponsors
oauth2-proxy | awesome-tunneling | |
---|---|---|
98 | 111 | |
8,632 | 13,228 | |
2.8% | - | |
9.0 | 6.4 | |
about 11 hours ago | 4 days ago | |
Go | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
oauth2-proxy
-
Keycloak SSO with Docker Compose and Nginx
Recently I looked into having a relatively simple SSO setup for my homelab. My main objective is that I could easily login with Google or GitHub auth. At my previous job I used both JetBrains Hub [1] and Keycloak but I found both of them a bit of a PITA to setup.
JetBrains Hub was really, really easy to get going. As was my previous experience with them. The only thing that annoyed me was the lack of a latest tag on their Docker registry. Don't get me wrong, pinned versions are great, but for my personal use I mostly just want to update all my Docker containers in one go.
On the other hand I found Keycloak very cumbersome to get going. It was pretty easy in dev mode, but I stumbled to get it going in production. AFAIK it had something to do with the wildcard Let's Encrypt cert that I tried to use. But after a couple of hours, I just gave up.
I finally went with Dex [2]. I had previously put it off because of the lack of documentation, but in the end it was extremely easy to setup. It just required some basic YAML, a SQLite database and a (sub)domain. I combined Dex with the excellent OAuth2 Proxy and a custom Nginx (Proxy Manager) template for an easy two line SSO configuration on all of my internal services.
In addition to this setup, I also added Cloudflare Access and WAF outside of my home to add some security. I only want to add some CrowdSec to get a little more insights.
1. https://www.jetbrains.com/hub/
-
Multi client authentication with auth0 and oauth2-proxy
Authentication providers like Auth0 and Okta have become commonplace in software development. These providers help take this work off of your plate, and this can be made even easier by using a reverse proxy that provides authentication capabilities, like oauth2-proxy.
-
Why You Should Migrate to OAuth 2.0 From API Keys
There's also other problems you might run into when using JWT: - First using scopes for permissions like Slack does can generate a token so large that a server might refuse it (One of many examples: https://github.com/oauth2-proxy/oauth2-proxy/issues/644, any rational server won't allow unlimited sized header), in my company they did this with the convention of read:team:product:resource but if you're an admin and have every rights by default, then you can't use the generated token by default as it will be too large. I think Quarkus works that way and you might encounter some problems with you don't configure it correctly. - Second is that it will cost a lot of bandwidth to send this header each time you're doing something, and probably won't be the perfect answer for what you want to do (do you really have third parties calling your API ?) - Third is about security concerns, you might say that having your permissions in a token is not as bad as you might think but in case of a Man In The Middle attack, you could leak information about your company, process or business intelligence that could have been prevented. - Fourth and that'll be the last, is that you can't revoke a JWT. And if you say you can, then you don't need a JWT at the first time because it would defeat the principle of a self contained JWT.
-
Moving from Google workspace to Microsoft 365 and implementing Zero Trust
That is not how you do Zero Trust. You want to use an Identity Aware Proxy. There are lots of ways you can implement this with Google as your core auth. For example Pomerium or oauth2-proxy.
-
Microsoft launches Windows App for accessing PCs in the cloud from any device
I use self-hosted Apache Guacamole (RDP) through a reverse proxy with Google SSO (oauth2-proxy[0]). So easy to access my desktop from virtually any browser (mobile isn't the best though). This would be a good solution for gaming, but for other activities RDP is unbeatable imo.
-
Best Practice For Serving Static (Frontend) Files with NGINX in K8s?
Meet https://oauth2-proxy.github.io/oauth2-proxy/ It could be deployed in the cluster somewhere and reuse it where needed. We do this to authenticate prometheus,alertmanager ui for useres
-
Any thoughts on implemented access control of self hosted front end apps?
At work, I've used oauth2-proxy as a sidecar container (on Kubernetes) for an app that has no authentication mechanism. Pretty straightforward, works well. I think this or Authelia is your best bet.
-
Authentik reverse proxy vs swag
BTW also keycloak and other similar products offer the oauth-proxy capability, I even used the original oauth2-proxy https://github.com/oauth2-proxy/oauth2-proxy for a while, but it was getting too difficult to maintain for me. I used for a while https://github.com/thomseddon/traefik-forward-auth that was a smart hack configuring a single upstream provider, but it look abandoned. So I was considering authentik but apparently it's just oauth2-proxy embedded in it, at that point why not use oauth2-proxy directly.
-
How to build Auth in 2023 with go?
Like auth basic? Mate, its 2023 get that RestAPI endpoint behind an OAuth proxy. github.com/oauth2-proxy/oauth2-proxy is a good one on a budget or use some cloud provider's ApiGateway and IAM services.
-
Pomerium or Authentik?
I use it in combination with oauth2-proxy, which sits in front of my network and the various services I host. https://github.com/oauth2-proxy/oauth2-proxy
awesome-tunneling
-
Can You Grok It – Hacking Together Your Own Dev Tunnel Service
awesome-tunneling lists a number of ngrok alternatives: https://github.com/anderspitman/awesome-tunneling
- https://news.ycombinator.com/item?id=39754786
- FWIU headscale works with the tailscale client and supports MagicDNS
-
Do You Need IPv4 Anymore?
There are a whole bunch of alternatives too - 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 SaaS as well as more built in security.
-
Reverst: Reverse Tunnels in Go over HTTP/3 and QUIC
https://github.com/anderspitman/awesome-tunneling. Seems similar to zrok.io, ngrok, cloudflare tunnels, tailscale funnels and zrok although you're using http/3 explicitly.
Personally I work on two similar projects you might want to check out: zrok and OpenZiti. Similar projects, but zrok is closest to what you did here.
-
Portr – open-source ngrok alternative designed for teams
Thanks for the history. I maintain this list[0], and wasn't aware of OG localtunnel, likely because there's a somewhat newer and now more popular project with the same name[1]. You appear to be correct on timing. Here's the earliest commits on GitHub for each of the projects:
OG localtunnel (2010): https://github.com/progrium/localtunnel/tree/fb82920d9d3e538...
Other localtunnel (2012): https://github.com/localtunnel/localtunnel/tree/93d62b9dbb9f...
ngrok (2012): https://github.com/inconshreveable/ngrok/tree/8f4795ecac7f92...
I'll see that OG localtunnel gets added to the list for posterity.
-
Tunnelmole, an ngrok alternative (open source)
I haven't tried vscode forwarding. What features does it have that are missing from most of the options on the list[0]?
If you want a nice GUI for remote managing maybe check out one of my tools, boringproxy
-
JIT WireGuard
I maintain this list:
https://github.com/anderspitman/awesome-tunneling
Your use case sounds interesting and there may be a tool out there that will do it, but I can't quite wrap my head around your description of how everything is connected and what runs where with your current setup.
I agree with sibling that my main question is what prevents you from using SSHFS or similar?
-
Hesitating between Tailscale Funnel / Cloudflare tunnel and others
I'm starting to try to get into Cloudflare tunnel, Tailscale funnel and other alternatives. What I need is my services to be accessible without any installation client-side, and I'm unsure what services provide this. I also looked at solutions like BoringProxy, TunnelMole from this page : https://github.com/anderspitman/awesome-tunneling My goal is to have my current domain rented at OVH pointing to my server to make it as much like before as possible.
-
My ISP doesn't allow port forwarding. What are my options ?
Here's a list of options to get around CGNAT: https://github.com/anderspitman/awesome-tunneling
-
Would we still create Nebula today?
We have a section for overlay networks on the tunneling list[0] I maintain. This is a very interesting space with some excellent software.
I certainly have my gripes about the closed nature of Slack itself, in particular using a closed protocol when the model is clearly "federated" between multiple servers internally. That said, the contribution of something on the scale and quality of Nebula back to the open source community is hard to argue with.
[0]: https://github.com/anderspitman/awesome-tunneling#overlay-ne...
-
Every Phone Should Be Able to Run Personal Website – Rohanrd.xyz
Lots of alternatives to Ngrok and Cloudflare - https://github.com/anderspitman/awesome-tunneling. What we need is more open source and permissives ones which are well maintained and easy to use. fwiw, I work on one in the list called zrok.io, its open source and we have a free SaaS version.
I dont think (as the author suggests) that IPv6 everywhere is happening anytime soon.
What are some alternatives?
traefik-forward-auth - Minimal forward authentication service that provides Google/OpenID oauth based login and authentication for the traefik reverse proxy
cloudflared - Cloudflare Tunnel client (formerly Argo Tunnel)
vouch-proxy - an SSO and OAuth / OIDC login solution for Nginx using the auth_request module
frp - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
authelia - The Single Sign-On Multi-Factor portal for web apps
Jellyfin - The Free Software Media System
Keycloak - Open Source Identity and Access Management For Modern Applications and Services
yunohost - YunoHost is an operating system aiming to simplify as much as possible the administration of a server. This repository corresponds to the core code, written mostly in Python and Bash.
caddy-auth-portal - Authentication Plugin for Caddy v2 implementing Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google, Facebook, Okta, etc.), SAML Authentication. MFA with App Authenticators and Yubico.
SirTunnel - Minimal, self-hosted, 0-config alternative to ngrok. Caddy+OpenSSH+50 lines of Python.
Docusaurus - Easy to maintain open source documentation websites.
remotemoe - tunnels to localhost and other ssh plumbing