Jauth
Lightweight TLS reverse proxy with SSH and Telegram authorization
188 stars 9 forks last commit first released GPL-3.0
Likely dormant
No commits since 21 Dec 2024. Expect to maintain it yourself or pick an alternative.
Jauth is a compact SSL/TLS reverse proxy written in Go that protects self-hosted applications by requiring authorization before proxying traffic. It provides SSH- and Telegram-based login methods, optional single sign-on behavior, and can obtain certificates automatically or use self-signed/manual certificates.
Key Features
- Single static binary with minimal dependencies, designed for simple self-hosting
- TLS support via autogenerated self-signed certificates, manual certificates, or ACME/Let's Encrypt
- Authorization via an integrated SSH server (authorized_keys) and Telegram login widget validation
- Optional lightweight SSO: authenticated username is forwarded to backend via Remote-User header
- Per-domain configuration, domain-specific whitelists and optional per-domain Telegram users
- Whitelist-based access control and a NoAuth mode to act as a plain TLS proxy
- Stores authenticated sessions/tokens on disk for session persistence between restarts
- Defaults that let it run with minimal configuration while supporting custom TOML config
Use Cases
- Protect web interfaces and internal dashboards for self-hosted apps without adding app-level auth
- Provide a simple SSO/pass-through header for multiple services behind the same gateway
- Allow SSH key or Telegram-based access for teams that prefer key-based authentication or tokenless login flows
Limitations and Considerations
- Telegram-based login requires registering a bot and binding it to a domain (one bot per domain); Jauth validates tokens rather than using the Telegram bot API directly
- ACME certificate issuance is per-domain and may be delayed; logs may not always show issuance progress
- SSO is minimal (username is forwarded via header) and is not a full-featured identity provider or OIDC/SAML implementation
- Session tokens are stored in a local file; if running with dropped privileges or restricted filesystem access, token persistence or state saving may be affected
Jauth is focused on minimalism and pragmatic access control for self-hosted services. It is suitable when a lightweight, single-binary TLS proxy with SSH/Telegram authorization and simple SSO semantics is preferred over a full identity platform.
Categories:
Tags:
Tech Stack:
Similar to Jauth
OAuth2 Proxy
Reverse proxy and middleware for OAuth2/OIDC authentication
OAuth2 Proxy is a reverse proxy and middleware that protects web apps with OAuth2/OIDC login and forwards authenticated user identity to upstream services.
Pomerium
Identity- and context-aware access proxy for zero trust access
Pomerium is an identity-aware access proxy that provides zero trust, per-request authorization to internal web apps and services without a traditional VPN.
Apache HTTP Server
Open-source HTTP server for modern operating systems
Apache HTTP Server (httpd) is a secure, efficient, and extensible web server for hosting websites and web applications on Unix-like systems and Windows.
GLAuth
Lightweight LDAP authentication server with pluggable backends
GLAuth is a lightweight LDAP/LDAPS authentication server for development, CI, and homelabs, supporting file, S3, SQL, or LDAP proxy backends and optional 2FA.

Soft Serve
Self-hosted Git server with an SSH-accessible terminal UI
Self-hostable Git server focused on SSH, featuring a terminal UI, access control, and Git LFS support, with cloning via SSH, HTTP, or the Git protocol.
Docker Socket Proxy
Security-enhanced proxy to restrict Docker socket API access
A ACL-based proxy that sits in front of the Docker daemon to block unsafe API endpoints while allowing authorized operations.


