Merge branch 'main' into dev

This commit is contained in:
miloschwartz
2026-01-20 17:48:34 -08:00
13 changed files with 50 additions and 61 deletions

View File

@@ -1,20 +1,5 @@
# Pangolin Documentation # Pangolin Documentation
Welcome to the official documentation for [Pangolin](https://github.com/fosrl/pangolin), a modern reverse proxy and networking solution. This documentation site is hosted at [docs.pangolin.net](https://docs.pangolin.net) and provides comprehensive guides, API references, and resources for getting started with Pangolin.
## About This Documentation
This documentation covers everything you need to know about Pangolin, including:
- Installation and setup guides
- Configuration options
- API reference
- Self-hosting instructions
- Development and contribution guidelines
All contributions to improve this documentation are welcome! Feel free to submit issues or pull requests to help make these docs better for everyone.
## Development & Contributing
This documentation site is built using [Mintlify](https://mintlify.com). If you'd like to contribute to the documentation or run it locally for development, follow the instructions below. This documentation site is built using [Mintlify](https://mintlify.com). If you'd like to contribute to the documentation or run it locally for development, follow the instructions below.
### Local Development ### Local Development

View File

@@ -66,7 +66,7 @@ Users authenticate through the client using their accounts. Machines connect wit
Clients are available for Mac, Windows, and Linux. They work transparently with applications, so no application configuration is required. Clients are available for Mac, Windows, and Linux. They work transparently with applications, so no application configuration is required.
<Card title="Read more about clients" icon="desktop" href="/manage/clients/add-client"> <Card title="Read more about clients" icon="desktop" href="/manage/clients/understanding-clients">
Learn about clients and where to download them for Mac, Windows, and Linux. Learn about clients and where to download them for Mac, Windows, and Linux.
</Card> </Card>

View File

@@ -6,4 +6,4 @@ icon: "scale-balanced"
- [Terms of Service](https://pangolin.net/terms-of-service.html) - [Terms of Service](https://pangolin.net/terms-of-service.html)
- [Privacy Policy](https://pangolin.net/privacy-policy.html) - [Privacy Policy](https://pangolin.net/privacy-policy.html)
- [AGLPv3](https://www.gnu.org/licenses/gpl-3.0.en.html) - [AGLPv3](https://www.gnu.org/licenses/gpl-3.0.en.html)
- [Fossorial Commercial License (FCL)](https://pangolin.net/fcl.hmtl) - [Fossorial Commercial License (FCL)](https://pangolin.net/fcl.html)

View File

@@ -18,6 +18,7 @@ Pangolin forwards the following headers to your backend when user identity is av
| `Remote-User` | Unique username or user ID | `user_123` | | `Remote-User` | Unique username or user ID | `user_123` |
| `Remote-Email` | User's email address | `john.doe@example.com` | | `Remote-Email` | User's email address | `john.doe@example.com` |
| `Remote-Name` | User's full name | `John Doe` | | `Remote-Name` | User's full name | `John Doe` |
| `Remote-Role` | User's role or group membership | `admin` |
## Authentication Methods ## Authentication Methods

View File

@@ -71,7 +71,7 @@ CIDR (Classless Inter-Domain Routing) notation specifies IP address ranges using
**Examples:** **Examples:**
- `144.234.11.22/24` - Matches all 256 IPs from 192.168.1.0 to 192.168.1.255 - `192.168.1.0/0` - Matches all 256 IPs from 192.168.1.0 to 192.168.1.255
- `10.0.0.0/8` - Matches any IP starting with 10 (16.7 million addresses) - `10.0.0.0/8` - Matches any IP starting with 10 (16.7 million addresses)
- `2001:db8::/32` - Matches a range of IPv6 addresses - `2001:db8::/32` - Matches a range of IPv6 addresses
- `0.0.0.0/0` - Matches all IPv4 addresses - `0.0.0.0/0` - Matches all IPv4 addresses

View File

@@ -227,7 +227,9 @@ services:
### Windows Service ### Windows Service
On Windows, olm has to be installed and run as a Windows service. When running it with the cli args, it will attempt to install and run the service to function like a cli tool. You can also run the following: On Windows, olm has to be installed and run as a Windows service. When running it with the cli args, it will attempt to install and run the service to function like a cli tool.
Minimum Windows version: Windows 10
#### Service Management Commands #### Service Management Commands

View File

@@ -41,13 +41,13 @@ All Fossorial Helm charts are available on Artifact Hub. See <Link href="https:/
```yaml title="values-newt.yaml" ```yaml title="values-newt.yaml"
newtInstances: newtInstances:
- name: main - name: main
enabled: true enabled: true
auth: auth:
existingSecretName: newt-cred existingSecretName: newt-cred
keys: keys:
endpointKey: PANGOLIN_ENDPOINT endpointKey: PANGOLIN_ENDPOINT
idKey: NEWT_ID idKey: NEWT_ID
secretKey: NEWT_SECRET secretKey: NEWT_SECRET
``` ```
</Step> </Step>
<Step title="Newt Installation"> <Step title="Newt Installation">

View File

@@ -791,38 +791,6 @@ This section contains the complete reference for all configuration options in `c
</Expandable> </Expandable>
</ResponseField> </ResponseField>
### DNS Configuration
<ResponseField name="dns" type="object">
DNS settings for domain name resolution and CNAME extensions.
<Expandable title="DNS">
<ResponseField name="nameservers" type="array of strings">
List of nameservers used for DNS resolution.
**Example**: `["ns1.example.com", "ns2.example.com"]`
**Default**: `["ns1.pangolin.net", "ns2.pangolin.net", "ns3.pangolin.net"]`
<Note>
These nameservers are used for DNS queries and domain resolution.
</Note>
</ResponseField>
<ResponseField name="cname_extension" type="string">
Domain extension used for CNAME record management.
**Example**: `cname.example.com`
**Default**: `cname.pangolin.net`
<Note>
Used for creating CNAME records for dynamic domain routing.
</Note>
</ResponseField>
</Expandable>
</ResponseField>
## Environment Variables ## Environment Variables
Some configuration values can be set using environment variables for enhanced security: Some configuration values can be set using environment variables for enhanced security:

View File

@@ -35,6 +35,7 @@ Add the following configuration to your `config/traefik/dynamic_config.yml` to e
- web - web
middlewares: middlewares:
- redirect-to-https - redirect-to-https
- badger # If you have Badger >=1.3.0 and it's enabled in the middlewares section of the dynamic config
int-api-router: int-api-router:
rule: "Host(`api.example.com`)" rule: "Host(`api.example.com`)"

View File

@@ -27,7 +27,7 @@ The Enterprise Edition is distributed under the **Fossorial Commercial License**
<Tab title="Personal Use"> <Tab title="Personal Use">
**Free for individuals and small businesses** **Free for individuals and small businesses**
- **Revenue threshold**: Less than $100,000 USD annual revenue - **Revenue threshold**: Less than $100,000 USD gross annual revenue
- **License cost**: Free - **License cost**: Free
- **Features**: Full access to all "Paid Features" - **Features**: Full access to all "Paid Features"
- **Usage**: Personal and small business use allowed - **Usage**: Personal and small business use allowed
@@ -40,7 +40,7 @@ The Enterprise Edition is distributed under the **Fossorial Commercial License**
<Tab title="Business Use"> <Tab title="Business Use">
**Larger businesses require a paid license** **Larger businesses require a paid license**
- **Revenue threshold**: $100,000+ USD annual revenue - **Revenue threshold**: $100,000+ USD gross annual revenue
- **License cost**: Paid license required - **License cost**: Paid license required
- **Features**: Full access to all "Paid Features" - **Features**: Full access to all "Paid Features"
- **Usage**: Business use with commercial terms - **Usage**: Business use with commercial terms
@@ -189,4 +189,14 @@ Include your organization details and use case for faster assistance.
Personal use is explicitly allowed under the free license terms. Personal use is explicitly allowed under the free license terms.
</Info> </Info>
</Accordion> </Accordion>
<Accordion title="Are there special license terms for educational institutions, non-profits, or government organizations?">
**No exceptions - same license terms apply**
Educational institutions, non-profit organizations, and government entities are subject to the same license terms as all other organizations. There are no special exceptions or discounts for these groups.
<Info>
If you have questions about how your organization's revenue is calculated for licensing purposes, contact [sales@pangolin.net](mailto:sales@pangolin.net).
</Info>
</Accordion>
</AccordionGroup> </AccordionGroup>

View File

@@ -254,6 +254,10 @@ Create `config/traefik/dynamic_config.yml`:
```yaml title="config/traefik/dynamic_config.yml" ```yaml title="config/traefik/dynamic_config.yml"
http: http:
middlewares: middlewares:
badger:
plugin:
badger:
disableForwardAuth: true
redirect-to-https: redirect-to-https:
redirectScheme: redirectScheme:
scheme: https scheme: https
@@ -267,6 +271,7 @@ http:
- web - web
middlewares: middlewares:
- redirect-to-https - redirect-to-https
- badger
# Next.js router (handles everything except API and WebSocket paths) # Next.js router (handles everything except API and WebSocket paths)
next-router: next-router:
@@ -274,6 +279,8 @@ http:
service: next-service service: next-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt
@@ -283,6 +290,8 @@ http:
service: api-service service: api-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt
@@ -292,6 +301,8 @@ http:
service: api-service service: api-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt

View File

@@ -170,6 +170,10 @@ The domain you enter here is what will be used to access the main Pangolin dashb
```yaml title="pangolin/config/traefik/dynamic_config.yml" ```yaml title="pangolin/config/traefik/dynamic_config.yml"
http: http:
middlewares: middlewares:
badger:
plugin:
badger:
disableForwardAuth: true
redirect-to-https: redirect-to-https:
redirectScheme: redirectScheme:
scheme: https scheme: https
@@ -183,6 +187,7 @@ http:
- web - web
middlewares: middlewares:
- redirect-to-https - redirect-to-https
- badger
# Next.js router (handles everything except API and WebSocket paths) # Next.js router (handles everything except API and WebSocket paths)
next-router: next-router:
@@ -190,6 +195,8 @@ http:
service: next-service service: next-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt
@@ -199,6 +206,8 @@ http:
service: api-service service: api-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt
@@ -208,6 +217,8 @@ http:
service: api-service service: api-service
entryPoints: entryPoints:
- websecure - websecure
middlewares:
- badger
tls: tls:
certResolver: letsencrypt certResolver: letsencrypt

View File

@@ -79,7 +79,7 @@ Pangolin self-hosted will always be free and open source, but maintaining the pr
<AccordionGroup> <AccordionGroup>
<Accordion title="Can we use Paypal or other payment methods?"> <Accordion title="Can we use Paypal or other payment methods?">
Github sponsors does not currently support other payment methods but we can process these things manually and send you a key. Please reach out to contact@pangolin.net and we will get you sorted. Github sponsors does not currently support other payment methods. We hope to add more options in the future.
</Accordion> </Accordion>
<Accordion title="How many servers can I use my key on?"> <Accordion title="How many servers can I use my key on?">
**Unlimited usage** **Unlimited usage**