MCPcopy
hub / github.com/fosrl/pangolin

github.com/fosrl/pangolin @1.19.4 sqlite

repository ↗ · DeepWiki ↗ · release 1.19.4 ↗
3,363 symbols 14,255 edges 1,417 files 160 documented · 5%
README
<h2>
<a href="https://pangolin.net/">






        <img alt="Pangolin Logo" src="https://github.com/fosrl/pangolin/raw/1.19.4/public/logo/word_mark_black.png" width="350">



</a>
</h2>
Website | Documentation | Contact Us

Discord Slack Docker Stars YouTube

<strong>
    Get started with Pangolin at <a href="https://app.pangolin.net/auth/signup">app.pangolin.net</a>
</strong>

Pangolin is an open-source, identity-based remote access platform built on WireGuard® that enables secure, seamless connectivity to private and public resources. Pangolin combines reverse proxy and VPN capabilities into one platform, providing browser-based access to web applications and client-based access to any private resources with NAT traversal, all with granular access controls.

Installation

Pangolin

Deployment Options

  • Pangolin Cloud - Fully managed service - no infrastructure required.
  • Self-Host: Community Edition - Free, open source, and licensed under AGPL-3.
  • Self-Host: Enterprise Edition - Licensed under Fossorial Commercial License. Free for personal and hobbyist use, and for businesses making less than \$100K USD gross annual revenue.

Key Features

Connect remote networks with sites and NAT traversal

Pangolin's site connectors provide gateways into networks so you can access any networked resources. Sites use outbound tunnels and intelligent NAT traversal to make networks behind restrictive firewalls available for authorized access without public IPs or open ports. Easily deploy a site as a binary or container on any platform.

Sites

Browser-based reverse proxy access

Expose web applications through identity and context-aware tunneled reverse proxies. Users access applications through any web browser with authentication and granular access control without installing a client. Pangolin handles routing, load balancing, health checking, and automatic SSL certificates without exposing your network directly to the internet.

Reverse proxy access

Client-based private resource access

Access private resources like SSH servers, databases, RDP, and entire network ranges through Pangolin clients. Intelligent NAT traversal enables connections even through restrictive firewalls, while DNS aliases provide friendly names and fast connections to resources across all your sites. Add redundancy by routing traffic through multiple connectors in your network.

Private resources

Give users and roles access to resources

Use Pangolin's built in users or bring your own identity provider and set up role based access control (RBAC). Grant users access to specific resources, not entire networks. Unlike traditional VPNs that expose full network access, Pangolin's zero-trust model ensures users can only reach the applications, services, and routes you explicitly define.

Users from identity provider with roles

Download Clients

Download the Pangolin client for your platform:

Get Started

Sign up now

Create a free account at app.pangolin.net to get started with Pangolin Cloud.

Check out the docs

We encourage everyone to read the full documentation first, which is available at docs.pangolin.net. This README provides only a very brief subset of the docs to illustrate some basic ideas.

Licensing

Pangolin is dual licensed under the AGPL-3 and the Fossorial Commercial License. For inquiries about commercial licensing, please contact us at contact@pangolin.net.

Contributions

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

Extension points exported contracts — how you extend this code

LogDestinationProvider (Interface)
(no doc) [4 implementers]
server/private/lib/logStreaming/providers/LogDestinationProvider.ts
RebuildQueueManager (Interface)
(no doc) [3 implementers]
server/lib/rebuildQueue.ts
Meta (Interface)
(no doc)
src/types/tanstack-query.d.ts
LayoutHeaderProps (Interface)
(no doc)
src/components/LayoutHeader.tsx
ProviderProps (Interface)
(no doc)
src/providers/SupporterStatusProvider.tsx
DockerState (Interface)
(no doc)
src/lib/docker.ts
SettingsLayoutProps (Interface)
(no doc)
src/app/[orgId]/settings/layout.tsx
UserContextType (Interface)
(no doc)
src/contexts/userContext.ts

Core symbols most depended-on inside this repo

get
called by 451
server/lib/cache.ts
toast
called by 376
src/hooks/useToast.ts
response
called by 365
server/lib/response.ts
set
called by 361
server/lib/cache.ts
cn
called by 333
src/lib/cn.ts
getRawConfig
called by 291
server/lib/config.ts
assertEquals
called by 219
test/assert.ts
formatAxiosError
called by 192
src/lib/api/formatAxiosError.ts

Shape

Function 2,848
Method 236
Interface 216
Class 48
Enum 8
Struct 6
TypeAlias 1

Languages

TypeScript98%
Go2%
Python1%

Modules by API surface

server/private/lib/redis.ts47 symbols
server/private/routers/ws/ws.ts33 symbols
server/private/routers/billing/featureLifecycle.ts25 symbols
server/private/lib/cache.ts23 symbols
src/app/[orgId]/settings/(private)/billing/page.tsx22 symbols
server/private/lib/logStreaming/LogStreamingManager.ts21 symbols
server/lib/ip.ts21 symbols
server/lib/traefik/TraefikConfigManager.ts20 symbols
server/lib/rebuildClientAssociations.ts19 symbols
server/lib/blueprints/publicResources.ts19 symbols
server/private/lib/rateLimit.ts18 symbols
install/main.go18 symbols

Dependencies from manifests, versioned

github.com/atotto/clipboardv0.1.4 · 1×
github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/catppuccin/gov0.3.0 · 1×
github.com/charmbracelet/bubblesv0.21.1-0.2025062310 · 1×
github.com/charmbracelet/colorprofilev0.2.3-0.20250311203 · 1×
github.com/charmbracelet/lipglossv1.1.0 · 1×
github.com/charmbracelet/x/ansiv0.9.3 · 1×
github.com/charmbracelet/x/cellbufv0.0.13 · 1×
github.com/charmbracelet/x/exp/stringsv0.0.0-2024072216074 · 1×
github.com/charmbracelet/x/termv0.2.1 · 1×

Datastores touched

postgresDatabase · 1 repos

For agents

$ claude mcp add pangolin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact