Tunneled Mesh Reverse Proxy Server with Identity and Access Control and Dashboard UI https://fossorial.io
Find a file
2025-07-16 23:06:51 -07:00
.github Bump docker/setup-buildx-action from 2 to 3 2025-07-06 17:02:46 +00:00
bruno Merge branch 'dev' into holepunch 2025-03-25 20:42:14 -04:00
cli add set server admin password to cli 2025-06-15 13:19:07 -04:00
config remove is base domain resource and flag 2025-07-15 15:07:34 -07:00
install remove is base domain resource and flag 2025-07-15 15:07:34 -07:00
messages New translations en-us.json (Korean) 2025-07-16 23:06:51 -07:00
public Working on adjusting readme 2025-07-16 22:30:20 -07:00
server add screenshots and minor fixes 2025-07-16 22:18:11 -07:00
src add screenshots and minor fixes 2025-07-16 22:18:11 -07:00
test Add clean up our few tests and add tests for #228 2025-03-08 11:43:22 -05:00
.dockerignore Pull up downstream changes 2025-07-13 21:57:24 -07:00
.editorconfig add .editorconfig and fix db imports in scripts 2024-09-28 17:42:07 -04:00
.eslintrc.json typescript issues and add eslint back 2024-11-24 11:52:46 -05:00
.gitignore add build file 2025-07-16 16:41:59 -07:00
.nvmrc add shad 2024-10-06 09:55:45 -04:00
.prettierrc env context and refactor api support different ports 2024-12-12 22:46:58 -05:00
components.json Format files and fix http response 2024-10-06 18:05:20 -04:00
CONTRIBUTING.md Working on readm 2025-07-16 21:58:52 -07:00
crowdin.yml Add first i18n stuff 2025-05-04 15:11:42 +00:00
docker-compose.example.yml update to v3.4.0 2025-05-16 09:16:49 +02:00
docker-compose.pgr.yml a 2025-07-16 18:20:05 -07:00
docker-compose.yml Fix dockerfiles 2025-07-15 11:39:19 -07:00
Dockerfile.dev Add docker file for dev 2025-07-14 18:24:37 -07:00
Dockerfile.pg Merge branch 'main' into dev 2025-06-30 10:21:51 -07:00
Dockerfile.sqlite Rename to sqlite 2025-07-14 18:27:06 -07:00
drizzle.pg.config.ts Pull up downstream changes 2025-07-13 21:57:24 -07:00
drizzle.sqlite.config.ts support postgresql as database option 2025-06-04 12:02:07 -04:00
esbuild.mjs add license system and ui 2025-04-27 13:03:00 -04:00
eslint.config.js Restore eslint 2025-06-10 18:38:11 -04:00
LICENSE add feature parity 2025-05-13 11:09:38 -04:00
Makefile Rename to sqlite 2025-07-14 18:27:06 -07:00
next.config.mjs support postgresql as database option 2025-06-04 12:02:07 -04:00
package-lock.json Bump the dev-patch-updates group across 1 directory with 2 updates 2025-07-16 22:01:58 -07:00
package.json Bump the dev-patch-updates group across 1 directory with 2 updates 2025-07-16 22:01:58 -07:00
postcss.config.mjs Add quotes 2025-06-10 18:37:26 -04:00
README.md Working on readme 2025-07-16 22:31:15 -07:00
SECURITY.md add security policy 2025-01-08 21:47:26 -05:00
tsconfig.json add set server admin password to cli 2025-06-15 13:19:07 -04:00

Pangolin Logo

Secure gateway to your private networks

Pangolin tunnels your services to the internet so you can access anything from anywhere.

Start testing Pangolin at pangolin.fossorial.io

Pangolin is a self-hosted tunneled reverse proxy server with identity and access control, designed to securely expose private resources on distributed networks. Acting as a central hub, it connects isolated networks — even those behind restrictive firewalls — through encrypted tunnels, enabling easy access to remote services without opening ports.

Preview

gif

Key Features

Reverse Proxy Through WireGuard Tunnel

  • Expose private resources on your network without opening ports (firewall punching).
  • Secure and easy to configure site-to-site connectivity via a custom user space WireGuard client, Newt.
  • Built-in support for any WireGuard client.
  • Automated SSL certificates (https) via LetsEncrypt.
  • Support for HTTP/HTTPS and raw TCP/UDP services.
  • Load balancing.

Identity & Access Management

  • Centralized authentication system using platform SSO. Users will only have to manage one login.
  • Define access control rules for IPs, IP ranges, and URL paths per resource.
  • TOTP with backup codes for two-factor authentication.
  • Create organizations, each with multiple sites, users, and roles.
  • Role-based access control to manage resource access permissions.
  • Additional authentication options include:
    • Email whitelisting with one-time passcodes.
    • Temporary, self-destructing share links.
    • Resource specific pin codes.
    • Resource specific passwords.
  • External identity provider (IdP) support with OAuth2/OIDC, such as Authentik, Keycloak, Okta, and others.
    • Auto-provision users and roles from your IdP.

Simple Dashboard UI

  • Manage sites, users, and roles with a clean and intuitive UI.
  • Monitor site usage and connectivity.
  • Light and dark mode options.
  • Mobile friendly.

Easy Deployment

  • Run on any cloud provider or on-premises.
  • Docker Compose based setup for simplified deployment.
  • Future-proof installation script for streamlined setup and feature additions.
  • Use any WireGuard client to connect, or use Newt, our custom user space client for the best experience.
  • Use the API to create custom integrations and scripts.
    • Fine-grained access control to the API via scoped API keys.
    • Comprehensive Swagger documentation for the API.

Modular Design

  • Extend functionality with existing Traefik plugins, such as CrowdSec and Geoblock.
    • Automatically install and configure Crowdsec via Pangolin's installer script.
  • Attach as many sites to the central server as you wish.

Deployment Options

Fully Self Hosted!

Host the full application on your own server on your network our on the cloud with a VPS. Take a look at the documentation to get started.

Many of our users have had a great experience with RackNerd. Depending on promotions, you can get a VPS with 1 vCPU, 1GB RAM, and ~20GB SSD for just around $12/year. That's a great deal!

Pangolin Cloud

Easy to use with simple pay as you go pricing. Check it out here. Everything you get with self hosted Pangolin but managed for you.

Hybrid & HA

Managed control plane, your infrastructure

  • We manage database and control plane
  • You self-host lightweight exit-node
  • Traffic flows through your infra
  • Fail over to the cloud when things go bad

Enterprise

Contact us for HA distributed enterprise deployments

Project Development / Roadmap

View the project board for more detailed info.

We want to hear your your feature requests! Add them to the discussion board.

Licensing

Pangolin is dual licensed under the AGPL-3 and the Fossorial Commercial license. For inquiries about commercial licensing, please contact us at numbat@fossorial.io.

Contributions

Looking for something to contribute? Take a look at issues marked with help wanted.

Please see CONTRIBUTING in the repository for guidelines and best practices.

Please post bug reports and other functional issues in the Issues section of the repository.