Compare commits

..

2703 Commits

Author SHA1 Message Date
Owen Schwartz
b0ff50a76f Merge pull request #1834 from fosrl/dev
Small Bug Fixes
2025-11-08 16:35:50 -08:00
Owen
37acdc2796 Revert transaction 2025-11-08 16:33:48 -08:00
Owen Schwartz
f3d31cb6de Merge pull request #1833 from fosrl/crowdin_dev
New Crowdin updates
2025-11-08 16:23:11 -08:00
Owen Schwartz
a336955066 New translations en-us.json (Norwegian Bokmal) 2025-11-08 16:22:42 -08:00
Owen Schwartz
a229fc1c61 New translations en-us.json (Chinese Simplified) 2025-11-08 16:22:40 -08:00
Owen Schwartz
7995fd364e New translations en-us.json (Turkish) 2025-11-08 16:22:39 -08:00
Owen Schwartz
5e0d822d45 New translations en-us.json (Russian) 2025-11-08 16:22:38 -08:00
Owen Schwartz
4fddaa8f11 New translations en-us.json (Portuguese) 2025-11-08 16:22:36 -08:00
Owen Schwartz
4a87cecf89 New translations en-us.json (Polish) 2025-11-08 16:22:35 -08:00
Owen Schwartz
ac5ee5c7ca New translations en-us.json (Dutch) 2025-11-08 16:22:34 -08:00
Owen Schwartz
8a8c357563 New translations en-us.json (Korean) 2025-11-08 16:22:32 -08:00
Owen Schwartz
263fd80c18 New translations en-us.json (Italian) 2025-11-08 16:22:31 -08:00
Owen Schwartz
7bdf05bdf5 New translations en-us.json (German) 2025-11-08 16:22:30 -08:00
Owen Schwartz
d00f12967d New translations en-us.json (Czech) 2025-11-08 16:22:28 -08:00
Owen Schwartz
d9991a18e2 New translations en-us.json (Bulgarian) 2025-11-08 16:22:27 -08:00
Owen Schwartz
a51c21cdd2 New translations en-us.json (Spanish) 2025-11-08 16:22:26 -08:00
Owen Schwartz
265cab5b64 New translations en-us.json (French) 2025-11-08 16:22:24 -08:00
Owen
da15e5e77b Remove software-properties-common
Fixes #1828
2025-11-08 16:13:42 -08:00
Owen
a717ca2675 Only uppercase the value if its a country
Fixes #1813
2025-11-08 15:42:46 -08:00
Owen
564b290244 Fix #1830 2025-11-08 14:24:28 -08:00
Owen
84d78df67e Merge branch 'main' into dev 2025-11-08 14:20:40 -08:00
Owen
107053a98f Merge branch 'main' of github.com:fosrl/pangolin 2025-11-08 14:20:35 -08:00
Owen Schwartz
6422a78e6f Merge pull request #1830 from hetlelid/patch-2
Update resourceRawSettingsDescription with details
2025-11-08 14:20:21 -08:00
miloschwartz
5f11630e27 minor adjustments to blueprints screens 2025-11-08 14:15:47 -08:00
Owen
a776b2ea94 Fix: qiery perferWildcardCert from db
Fixes #1816
Fixes #1829
2025-11-08 14:14:17 -08:00
miloschwartz
b83ec1b503 remove target unique check 2025-11-08 13:57:00 -08:00
Owen
83bd5957cd Dont allow editing a config managed domain
Ref #1816
2025-11-08 12:18:36 -08:00
hetlelid
66c14c2d09 Update resourceRawSettingsDescription with details
Expanded the description for resourceRawSettings to include mapping details and a documentation link.
2025-11-08 13:24:51 +01:00
Owen Schwartz
51db267a4a Merge pull request #1779 from fosrl/dependabot/npm_and_yarn/eslint-config-next-16.0.1
Bump eslint-config-next from 15.5.6 to 16.0.1
2025-11-07 12:15:19 -08:00
dependabot[bot]
669817818a Bump eslint-config-next from 15.5.6 to 16.0.1
Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 15.5.6 to 16.0.1.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.0.1/packages/eslint-config-next)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 16.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 20:07:29 +00:00
Owen Schwartz
b84453bfbe Merge pull request #1825 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-282bba5f0a
Bump the dev-patch-updates group across 1 directory with 5 updates
2025-11-07 12:06:08 -08:00
Owen Schwartz
15d561f59f Merge pull request #1824 from robtec/patch-1
Fix typo in shareSeeOnce message
2025-11-07 12:05:59 -08:00
dependabot[bot]
749cea5a4d Bump the dev-patch-updates group across 1 directory with 5 updates
Bumps the dev-patch-updates group with 4 updates in the / directory: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx), [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss), [esbuild](https://github.com/evanw/esbuild) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@dotenvx/dotenvx` from 1.51.0 to 1.51.1
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.51.0...v1.51.1)

Updates `@tailwindcss/postcss` from 4.1.16 to 4.1.17
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.17/packages/@tailwindcss-postcss)

Updates `esbuild` from 0.25.11 to 0.25.12
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.11...v0.25.12)

Updates `tailwindcss` from 4.1.16 to 4.1.17
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.17/packages/tailwindcss)

Updates `typescript-eslint` from 8.46.2 to 8.46.3
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.3/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.51.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript-eslint
  dependency-version: 8.46.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-07 01:23:55 +00:00
miloschwartz
2a7529c39e don't delete user 2025-11-06 16:48:53 -08:00
miloschwartz
fce887436d fix bug causing auto provision to override manually created users 2025-11-06 15:46:54 -08:00
Rob
3489107a49 Fix typo in shareSeeOnce message 2025-11-06 23:09:52 +00:00
Owen Schwartz
296b220bf3 Merge pull request #1819 from Pallavikumarimdb/fix/resourceTable-typeError
Fix/Revert column from Resource table to fix type error and match overall styling
2025-11-06 12:03:15 -08:00
Pallavi Kumari
0a9f37c44d revert column from resource table 2025-11-06 22:57:03 +05:30
Owen Schwartz
ef5d72663f Merge pull request #1328 from Pallavikumarimdb/enhancement-#906/dashboard-enhancements
Enhancement #906/Resources Dashboard: Targets Column, Customizable Columns & Status Indicators
2025-11-05 11:41:43 -08:00
Owen
6ddfc9b8fe Revert columns 2025-11-05 11:41:07 -08:00
Owen
301654b63e Fix styling 2025-11-05 11:38:14 -08:00
Owen Schwartz
3b12a77cf0 Merge pull request #1809 from clemone210/patch-2
Update German translations for client and blueprint terms
2025-11-04 10:34:26 -08:00
Timo
7cd31313d8 Update German translations for client and blueprint terms
"Kunden" is generally used for "Customers", so in this case I suggest to stick with Client, as this is a widely used term in german tech sector. The same for "Bauplan" or "Blaupause". "Bauplan" is a "Construction plan" for building houses. "Blaupause" is pretty much the right translation for blueprints, but I would stick with Blueprint here as well.
2025-11-04 07:40:33 +01:00
Milo Schwartz
9822deb4bf Update README.md 2025-11-03 22:56:57 -05:00
Owen
8942cb7aa7 Update const 2025-11-03 17:38:50 -08:00
Owen
f0f219f293 Merge branch 'main' into dev 2025-11-03 17:38:43 -08:00
Owen
6174599754 Allow >30 days on oss 2025-11-03 09:54:41 -08:00
Owen Schwartz
8ba04aeb74 Merge pull request #1802 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-700e856888
Bump the prod-minor-updates group across 1 directory with 9 updates
2025-11-03 09:49:01 -08:00
Owen
43590896e9 Add fosrl 2025-11-02 18:56:46 -08:00
Owen Schwartz
3547c4832b Revert "Refactor CI/CD workflow for improved release process" 2025-11-02 18:56:46 -08:00
Marc Schäfer
1cd098252e Refactor CI/CD workflow for improved release process
Updated CI/CD workflow to include new permissions, job definitions, and steps for version validation, tagging, and artifact management.
2025-11-02 18:56:46 -08:00
Owen
4adbc31dae Fix blueprints not applying
Fixes #1795
2025-11-02 18:56:46 -08:00
Owen
99031feb35 Fix camel case in health checks 2025-11-02 18:56:46 -08:00
Owen
d363b06d0e Fix rewritePath
Closes #1528
2025-11-02 18:56:46 -08:00
Owen
2af100cc86 Warning -> debug 2025-11-02 18:56:46 -08:00
dependabot[bot]
3e90211108 Bump the prod-minor-updates group across 1 directory with 9 updates
Bumps the prod-minor-updates group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.908.0` | `3.922.0` |
| [axios](https://github.com/axios/axios) | `1.12.2` | `1.13.1` |
| [eslint](https://github.com/eslint/eslint) | `9.37.0` | `9.39.0` |
| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `8.1.0` | `8.2.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.545.0` | `0.552.0` |
| [next-intl](https://github.com/amannn/next-intl) | `4.3.12` | `4.4.0` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node) | `5.10.4` | `5.11.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.65.0` | `7.66.0` |
| [resend](https://github.com/resend/resend-node) | `6.1.3` | `6.4.0` |



Updates `@aws-sdk/client-s3` from 3.908.0 to 3.922.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.922.0/clients/client-s3)

Updates `axios` from 1.12.2 to 1.13.1
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.12.2...v1.13.1)

Updates `eslint` from 9.37.0 to 9.39.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.37.0...v9.39.0)

Updates `express-rate-limit` from 8.1.0 to 8.2.1
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.1.0...v8.2.1)

Updates `lucide-react` from 0.545.0 to 0.552.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.552.0/packages/lucide-react)

Updates `next-intl` from 4.3.12 to 4.4.0
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.12...v4.4.0)

Updates `posthog-node` from 5.10.4 to 5.11.0
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.11.0/packages/node)

Updates `react-hook-form` from 7.65.0 to 7.66.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.65.0...v7.66.0)

Updates `resend` from 6.1.3 to 6.4.0
- [Release notes](https://github.com/resend/resend-node/releases)
- [Commits](https://github.com/resend/resend-node/compare/v6.1.3...v6.4.0)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.922.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: axios
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: express-rate-limit
  dependency-version: 8.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.552.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: next-intl
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: posthog-node
  dependency-version: 5.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.66.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: resend
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 01:34:13 +00:00
Owen
6dd161fe17 Add fosrl 2025-11-02 15:35:02 -08:00
Owen Schwartz
558bd040c6 Merge pull request #1801 from fosrl/revert-1792-main
Revert "Refactor CI/CD workflow for improved release process"
2025-11-02 15:22:12 -08:00
Owen Schwartz
f2c48975f6 Revert "Refactor CI/CD workflow for improved release process" 2025-11-02 15:22:03 -08:00
Owen Schwartz
fc43a56bb3 Merge pull request #1792 from marcschaeferger/main
Refactor CI/CD workflow for improved release process
2025-11-02 15:00:09 -08:00
Owen
ca7f557a3c Fix blueprints not applying
Fixes #1795
2025-11-02 14:56:19 -08:00
Owen
7477713eef Fix camel case in health checks 2025-11-02 14:17:38 -08:00
Owen
c16e762fa4 Fix rewritePath
Closes #1528
2025-11-02 14:05:41 -08:00
Owen Schwartz
41592133a6 Merge pull request #1788 from Pallavikumarimdb/fix/deleting-and-adding-back-a-target
Add transaction while deleting targets
2025-11-02 13:51:08 -08:00
Pallavi Kumari
54f7525f1b add status column in resource table 2025-11-02 13:55:17 +05:30
Pallavi Kumari
ad6bb3da9f fix type error 2025-11-02 13:55:17 +05:30
Pallavi Kumari
49bc2dc5da fix duplicate 2025-11-02 13:55:16 +05:30
Pallavi
cdf77087cd get niceid 2025-11-02 13:55:16 +05:30
Pallavi
8e5dde887c list targes in frontend 2025-11-02 13:55:16 +05:30
Pallavi
f21188000e remove status check and add column filtering on all of the tables 2025-11-02 13:55:16 +05:30
Pallavi
1b3eb32bf4 Show targets and status icons in the dashboard 2025-11-02 13:55:16 +05:30
Marc Schäfer
eec3f183e6 Refactor CI/CD workflow for improved release process
Updated CI/CD workflow to include new permissions, job definitions, and steps for version validation, tagging, and artifact management.
2025-11-02 00:44:03 +01:00
Owen
31b66cd911 Warning -> debug 2025-11-01 10:46:09 -07:00
Pallavi Kumari
ad425e8d9e add transaction while deleting targets 2025-11-01 11:58:09 +05:30
miloschwartz
da0196a308 no reset password for external users 2025-10-30 22:24:07 -07:00
miloschwartz
e585972b7b remove useSubscriptionStatusContext from HorizontalTabs 2025-10-30 21:31:48 -07:00
miloschwartz
cc62cd4add remove sqlite driver logger 2025-10-30 21:23:05 -07:00
Owen
25225a452c Return instead of throwing error 2025-10-30 21:18:26 -07:00
Owen
678644c7fb Fix empty blueprint 2025-10-30 21:09:20 -07:00
Owen
32f20ed984 Bugfixes for remote nodes 2025-10-30 21:01:45 -07:00
Owen
4eb5bf08d5 UI fixes 2025-10-30 17:44:22 -07:00
Owen
35c93f38e0 Fix small ui issues 2025-10-30 17:32:03 -07:00
Owen
f60c2f4fb9 Make refresh work 2025-10-30 17:25:49 -07:00
Owen
b2cf152b9e Add copy to clip 2025-10-30 16:17:20 -07:00
Owen
444928dffd Add wildcard 2025-10-30 15:27:24 -07:00
Owen
4d7e2d5840 Minor fixes to rc 2025-10-30 11:42:31 -07:00
Owen Schwartz
318046ce1d Merge pull request #1780 from fosrl/crowdin_dev
New Crowdin updates
2025-10-29 21:17:18 -07:00
Owen Schwartz
808ad1e272 New translations en-us.json (Norwegian Bokmal) 2025-10-29 21:16:51 -07:00
Owen Schwartz
05a1195661 New translations en-us.json (Chinese Simplified) 2025-10-29 21:16:49 -07:00
Owen Schwartz
c46322c6a6 New translations en-us.json (Turkish) 2025-10-29 21:16:48 -07:00
Owen Schwartz
80d5efc41f New translations en-us.json (Russian) 2025-10-29 21:16:47 -07:00
Owen Schwartz
0409ab7dc1 New translations en-us.json (Portuguese) 2025-10-29 21:16:46 -07:00
Owen Schwartz
63f079ec76 New translations en-us.json (Polish) 2025-10-29 21:16:45 -07:00
Owen Schwartz
5988f1e8da New translations en-us.json (Dutch) 2025-10-29 21:16:43 -07:00
Owen Schwartz
ed0c0edeba New translations en-us.json (Korean) 2025-10-29 21:16:42 -07:00
Owen Schwartz
34b4841f4d New translations en-us.json (Italian) 2025-10-29 21:16:40 -07:00
Owen Schwartz
ff47c5a8ad New translations en-us.json (German) 2025-10-29 21:16:39 -07:00
Owen Schwartz
9430a53c0c New translations en-us.json (Czech) 2025-10-29 21:16:38 -07:00
Owen Schwartz
03334e3f0f New translations en-us.json (Bulgarian) 2025-10-29 21:16:37 -07:00
Owen Schwartz
6f2ecf9d0d New translations en-us.json (Spanish) 2025-10-29 21:16:35 -07:00
Owen Schwartz
6f803c3b4b New translations en-us.json (French) 2025-10-29 21:16:34 -07:00
Owen
15d400c842 Fix migration and install faker 2025-10-29 21:12:12 -07:00
Owen Schwartz
3ddf150661 New translations en-us.json (Norwegian Bokmal) 2025-10-29 21:00:51 -07:00
Owen Schwartz
5b519afee4 New translations en-us.json (Chinese Simplified) 2025-10-29 21:00:50 -07:00
Owen Schwartz
15ea9f3dcc New translations en-us.json (Turkish) 2025-10-29 21:00:48 -07:00
Owen Schwartz
d5e2536f8d New translations en-us.json (Russian) 2025-10-29 21:00:47 -07:00
Owen Schwartz
d7e9083e06 New translations en-us.json (Portuguese) 2025-10-29 21:00:45 -07:00
Owen Schwartz
e0cc338c3a New translations en-us.json (Polish) 2025-10-29 21:00:44 -07:00
Owen Schwartz
624c5741e2 New translations en-us.json (Dutch) 2025-10-29 21:00:43 -07:00
Owen Schwartz
558507dd71 New translations en-us.json (Korean) 2025-10-29 21:00:41 -07:00
Owen Schwartz
565340bd53 New translations en-us.json (Italian) 2025-10-29 21:00:40 -07:00
Owen Schwartz
756745487a New translations en-us.json (German) 2025-10-29 21:00:39 -07:00
Owen Schwartz
d2ece4d370 New translations en-us.json (Czech) 2025-10-29 21:00:37 -07:00
Owen Schwartz
d5f5d1da1e New translations en-us.json (Bulgarian) 2025-10-29 21:00:35 -07:00
Owen Schwartz
dfaf1a72cc New translations en-us.json (Spanish) 2025-10-29 21:00:34 -07:00
Owen Schwartz
ff8e5b871c New translations en-us.json (French) 2025-10-29 21:00:33 -07:00
Owen
927dda4e53 Add blueprints to migrations 2025-10-29 20:50:36 -07:00
Owen
0e51bac307 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-29 20:46:13 -07:00
Owen Schwartz
7a50af14f3 Merge pull request #1733 from Fredkiss3/feat-blueprint-ui-on-dashboard
feat: blueprint ui on dashboard
2025-10-29 20:45:31 -07:00
Owen
396477c2e2 Update makefiles 2025-10-29 20:42:56 -07:00
Fred KISSIE
8765874d9a ♻️ include Blueprint applied with errors: in blueprint message when it fails 2025-10-30 02:33:45 +01:00
Fred KISSIE
49dffe086d ♻️ show warning toast and do not throw error in case of UI source 2025-10-30 02:18:48 +01:00
Owen Schwartz
77ddadcded Merge pull request #1777 from fosrl/crowdin_dev
New Crowdin updates
2025-10-29 17:51:22 -07:00
Owen Schwartz
05b297ddec New translations en-us.json (Norwegian Bokmal) 2025-10-29 17:49:16 -07:00
Owen Schwartz
feb0de9a08 New translations en-us.json (Chinese Simplified) 2025-10-29 17:49:14 -07:00
Owen Schwartz
f4f2361d22 New translations en-us.json (Turkish) 2025-10-29 17:49:13 -07:00
Owen Schwartz
cae6a9f51c New translations en-us.json (Russian) 2025-10-29 17:49:12 -07:00
Owen Schwartz
2872f5c018 New translations en-us.json (Portuguese) 2025-10-29 17:49:10 -07:00
Owen Schwartz
0512c21ad7 New translations en-us.json (Polish) 2025-10-29 17:49:09 -07:00
Owen Schwartz
922a69feed New translations en-us.json (Dutch) 2025-10-29 17:49:08 -07:00
Owen Schwartz
24192c79d4 New translations en-us.json (Korean) 2025-10-29 17:49:07 -07:00
Owen Schwartz
17c22a635f New translations en-us.json (Italian) 2025-10-29 17:49:05 -07:00
Owen Schwartz
bcbcf417b5 New translations en-us.json (German) 2025-10-29 17:49:04 -07:00
Owen Schwartz
acf7596368 New translations en-us.json (Czech) 2025-10-29 17:49:03 -07:00
Owen Schwartz
34c7d925ca New translations en-us.json (Bulgarian) 2025-10-29 17:49:01 -07:00
Owen Schwartz
c10730ebb9 New translations en-us.json (Spanish) 2025-10-29 17:49:00 -07:00
Owen Schwartz
e50743b922 New translations en-us.json (French) 2025-10-29 17:48:59 -07:00
Owen
75b0745e42 Add proxy procotol to private config 2025-10-29 17:42:21 -07:00
Owen
ebd99f95a3 Also order by id 2025-10-29 17:37:29 -07:00
Owen
0e649883cb More bugfixes 2025-10-29 17:21:32 -07:00
Fred KISSIE
3d376c8d14 ♻️ change default blueprint table ordering to createdAt: desc 2025-10-30 00:55:12 +01:00
Fred KISSIE
adedb0e391 💬 Show Success: Blueprint applied successfully 2025-10-30 00:54:15 +01:00
Fred KISSIE
521935786c 💄 remove rounded-sm 2025-10-30 00:34:14 +01:00
Fred KISSIE
885b9d186b ♻️ remove blueprint name form description 2025-10-30 00:32:55 +01:00
Fred KISSIE
356f023539 💬 fix capitalization 2025-10-30 00:32:08 +01:00
Fred KISSIE
de8d3f45da 💬 uppercase blueprint in create blueprint 2025-10-30 00:30:50 +01:00
Fred KISSIE
72c9956190 💄 Standardize go back to blueprints 2025-10-30 00:27:27 +01:00
Owen
6dc4cbe448 Check country code 2025-10-29 16:24:35 -07:00
Fred KISSIE
77364488c2 💄 show action on the right of the column 2025-10-30 00:21:59 +01:00
Fred KISSIE
5a61040027 💄 remove form description and format w/ prettier 2025-10-30 00:21:39 +01:00
Owen
c6f7be40df Sort by descending 2025-10-29 16:16:25 -07:00
Fred KISSIE
c36fb63f8c 🔨 add drizzle in docker-compose DEV for viewing the postgres db in local development 2025-10-30 00:10:49 +01:00
Owen
48aebea6cf Show error 2025-10-29 15:23:53 -07:00
Owen
55082d2ef8 Rename file 2025-10-29 14:49:53 -07:00
Owen
cc03b97234 Merge branch 'dev' into feat-blueprint-ui-on-dashboard 2025-10-29 14:46:34 -07:00
Owen
5542873368 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-29 14:43:32 -07:00
Owen
1db5d76ef1 Merge branch 'main' into dev 2025-10-29 14:43:18 -07:00
Owen
ca6c45087b Fix the ordering of deleting targets 2025-10-29 14:40:09 -07:00
Owen Schwartz
3333eb95f9 Merge pull request #1773 from Pallavikumarimdb/fix/long-copy-box
Fix text overflow in CopyToClipboard by setting a max width
2025-10-29 14:11:27 -07:00
Pallavi Kumari
d681725fc3 update max width of CopyToClipboard 2025-10-30 00:59:08 +05:30
Owen
f5eadc9e1e Various fixes 2025-10-29 12:16:28 -07:00
miloschwartz
219e213c1e change logs to debug 2025-10-29 11:39:45 -07:00
miloschwartz
af654e663b add missing translation key 2025-10-29 11:34:13 -07:00
Fred KISSIE
39b3b4ef9d 🐛 add missing orgId to blueprints table 2025-10-29 14:39:42 +01:00
Owen Schwartz
6c62a0900f Merge pull request #1763 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-56e321e524
Bump posthog-node from 5.10.3 to 5.10.4 in the prod-patch-updates group
2025-10-28 21:15:31 -07:00
Owen Schwartz
ddd772eb43 Merge pull request #1769 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-a759a3dffa
Bump the dev-patch-updates group across 1 directory with 4 updates
2025-10-28 21:15:24 -07:00
Fred KISSIE
69458ab649 🔇 remove console.log 2025-10-29 04:25:37 +01:00
Fred KISSIE
c7df70143e ♻️ log only in DEV 2025-10-29 03:50:36 +01:00
Fred KISSIE
a81ea7cc8f 🐛 fix merge errors 2025-10-29 03:34:44 +01:00
Fred KISSIE
02330a0756 Merge branch 'dev' into feat-blueprint-ui-on-dashboard 2025-10-29 03:31:51 +01:00
Fred KISSIE
db49b599b5 add faker dependency 2025-10-29 03:09:16 +01:00
Fred KISSIE
bb0bfd440a ♻️ refactor 2025-10-29 03:09:02 +01:00
Fred KISSIE
10ce732b8d 🚚 rename integration API applyBlueprint to apply JSON blueprint and the UI applyBlueprint to apply YAML blueprint 2025-10-29 03:08:48 +01:00
Fred KISSIE
4c567cf2d7 ♻️ refactor docker and websocket blueprint to call the new applyBlueprint function 2025-10-29 03:07:55 +01:00
Fred KISSIE
2783d2989d ♻️ refactor 2025-10-29 03:06:42 +01:00
Fred KISSIE
c3d6510231 💬 update the text in the blueprint details page to say parsed contents 2025-10-29 03:06:28 +01:00
Fred KISSIE
3bb948991f ♻️ applyBlueprint core logic now saves the blueprint in the DB 2025-10-29 03:01:25 +01:00
dependabot[bot]
4b9ce22f06 Bump the dev-patch-updates group across 1 directory with 4 updates
Bumps the dev-patch-updates group with 4 updates in the / directory: [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) and [drizzle-kit](https://github.com/drizzle-team/drizzle-orm).


Updates `@types/express` from 5.0.4 to 5.0.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

Updates `@types/node` from 24.9.1 to 24.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/pg` from 8.15.5 to 8.15.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

Updates `drizzle-kit` from 0.31.5 to 0.31.6
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.5...drizzle-kit@0.31.6)

---
updated-dependencies:
- dependency-name: "@types/express"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/pg"
  dependency-version: 8.15.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: drizzle-kit
  dependency-version: 0.31.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 01:22:53 +00:00
miloschwartz
772bda69f9 check for user email in support request 2025-10-27 21:56:22 -07:00
miloschwartz
8b4722b1c9 add support message button in saas 2025-10-27 21:55:34 -07:00
Owen
9e5c9d9c34 Check role access when inviting users 2025-10-27 20:51:16 -07:00
dependabot[bot]
ee533df38f Bump posthog-node from 5.10.3 to 5.10.4 in the prod-patch-updates group
Bumps the prod-patch-updates group with 1 update: [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node).


Updates `posthog-node` from 5.10.3 to 5.10.4
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.10.4/packages/node)

---
updated-dependencies:
- dependency-name: posthog-node
  dependency-version: 5.10.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 01:31:57 +00:00
Owen
52dc8e011c Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-27 17:55:10 -07:00
Owen
bd5cc790d6 Fixing various things 2025-10-27 17:52:39 -07:00
Milo Schwartz
7d6d5a7787 Update README.md 2025-10-27 20:15:44 -04:00
Milo Schwartz
ba6e7dd06a Update README.md 2025-10-27 20:08:14 -04:00
miloschwartz
6270fb3237 consolidate install commands 2025-10-27 16:58:11 -07:00
miloschwartz
16ec50a6ee add alaytics to saas 2025-10-27 16:43:52 -07:00
miloschwartz
3d2021c8a1 use select component 2025-10-27 16:38:04 -07:00
Owen
15d63ddffa Various fixes for rc 2025-10-27 16:33:21 -07:00
Fred KISSIE
7ce6fadb3d blueprint details page 2025-10-28 00:14:27 +01:00
Owen
6b18a24f9b @server/private -> #dynamic 2025-10-27 13:46:54 -07:00
Owen
a38cb961c7 Create missing stubs 2025-10-27 13:45:24 -07:00
Owen
3c5fe21078 Add missing header 2025-10-27 11:54:56 -07:00
Owen
b44305694f Add postgres migration 2025-10-27 11:52:45 -07:00
Owen
be217e2b6f Create 1.12.0 sqlite migration 2025-10-27 11:47:14 -07:00
Owen
6ce04c2aa1 Change migration to 1.12.0 2025-10-27 11:34:46 -07:00
Owen
85e4b649db Update cicd: allow to run on rc 2025-10-27 11:14:56 -07:00
Owen
73a3335148 Update cicd: login to ghcr 2025-10-27 11:13:05 -07:00
Owen
32845c5a3d Fix const issue 2025-10-27 11:03:16 -07:00
Owen Schwartz
05a878ac34 Merge pull request #1759 from fosrl/crowdin_dev
New Crowdin updates
2025-10-27 10:55:59 -07:00
Owen Schwartz
847d015243 New translations en-us.json (Spanish) 2025-10-27 10:55:27 -07:00
Owen Schwartz
51cde2681c New translations en-us.json (Norwegian Bokmal) 2025-10-27 10:55:26 -07:00
Owen Schwartz
9c0606942c New translations en-us.json (Chinese Simplified) 2025-10-27 10:55:24 -07:00
Owen Schwartz
646d476bdb New translations en-us.json (Turkish) 2025-10-27 10:55:23 -07:00
Owen Schwartz
31261681a0 New translations en-us.json (Russian) 2025-10-27 10:55:21 -07:00
Owen Schwartz
f6fae820c4 New translations en-us.json (Portuguese) 2025-10-27 10:55:20 -07:00
Owen Schwartz
b3cbf925aa New translations en-us.json (Polish) 2025-10-27 10:55:19 -07:00
Owen Schwartz
aa1ae3ee42 New translations en-us.json (Dutch) 2025-10-27 10:55:17 -07:00
Owen Schwartz
80f6c8b74e New translations en-us.json (Korean) 2025-10-27 10:55:16 -07:00
Owen Schwartz
79d8e8d59d New translations en-us.json (Italian) 2025-10-27 10:55:15 -07:00
Owen Schwartz
9193375586 New translations en-us.json (German) 2025-10-27 10:55:13 -07:00
Owen Schwartz
240bcb8759 New translations en-us.json (Czech) 2025-10-27 10:55:12 -07:00
Owen Schwartz
a5dcafb84c New translations en-us.json (Bulgarian) 2025-10-27 10:55:11 -07:00
Owen Schwartz
192207a857 New translations en-us.json (French) 2025-10-27 10:55:09 -07:00
Owen Schwartz
d18fafb0ef Merge pull request #1757 from fosrl/user-compliance
Enforce org user compliance
2025-10-27 10:44:13 -07:00
Owen
380c86898c Fix lint 2025-10-27 10:43:44 -07:00
Owen
b59a6b82ef Merge branch 'dev' into user-compliance 2025-10-27 10:37:53 -07:00
Owen Schwartz
77ba568c36 Merge pull request #1755 from fosrl/audit-logs
Request, action, and access logs
2025-10-27 10:10:57 -07:00
Owen
a0f05cc77b Resolve export of logActionAudit 2025-10-27 10:09:06 -07:00
Owen
80f43a9774 Fix lint 2025-10-27 10:05:31 -07:00
Owen
c04d9eda6b Merge branch 'dev' into audit-logs 2025-10-27 10:02:32 -07:00
Owen Schwartz
cabf3e9695 Merge pull request #1749 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-b7f346f221
Bump the dev-patch-updates group with 7 updates
2025-10-27 09:57:14 -07:00
Owen Schwartz
ff7b4386d6 Merge pull request #1750 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-c81bf49cf4
Bump the prod-patch-updates group with 5 updates
2025-10-27 09:57:03 -07:00
Owen Schwartz
4dbbe159ee Merge pull request #1751 from fosrl/dependabot/github_actions/actions/upload-artifact-5.0.0
Bump actions/upload-artifact from 4.6.2 to 5.0.0
2025-10-27 09:56:52 -07:00
miloschwartz
eeab92719a add smaller time values and update translations 2025-10-27 09:52:25 -07:00
miloschwartz
43e6b7de07 remove delete on cascade for skipToIdp on resource closes #1654 2025-10-27 09:46:26 -07:00
miloschwartz
4cfd1b1ff5 always check resource session length 2025-10-27 09:45:12 -07:00
dependabot[bot]
09ba018493 Bump actions/upload-artifact from 4.6.2 to 5.0.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 5.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](ea165f8d65...330a01c490)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 01:41:35 +00:00
dependabot[bot]
7acf7dd0eb Bump the prod-patch-updates group with 5 updates
Bumps the prod-patch-updates group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [canvas-confetti](https://github.com/catdad/canvas-confetti) | `1.9.3` | `1.9.4` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.44.6` | `0.44.7` |
| [ioredis](https://github.com/luin/ioredis) | `5.8.1` | `5.8.2` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.9` | `7.0.10` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node) | `5.10.0` | `5.10.3` |


Updates `canvas-confetti` from 1.9.3 to 1.9.4
- [Release notes](https://github.com/catdad/canvas-confetti/releases)
- [Commits](https://github.com/catdad/canvas-confetti/compare/1.9.3...1.9.4)

Updates `drizzle-orm` from 0.44.6 to 0.44.7
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.44.6...0.44.7)

Updates `ioredis` from 5.8.1 to 5.8.2
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.8.1...v5.8.2)

Updates `nodemailer` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.9...v7.0.10)

Updates `posthog-node` from 5.10.0 to 5.10.3
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.10.3/packages/node)

---
updated-dependencies:
- dependency-name: canvas-confetti
  dependency-version: 1.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: ioredis
  dependency-version: 5.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: nodemailer
  dependency-version: 7.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: posthog-node
  dependency-version: 5.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 01:36:44 +00:00
Owen
592d085de6 Lock down days 2025-10-26 18:36:09 -07:00
dependabot[bot]
2cf2c64651 Bump the dev-patch-updates group with 7 updates
Bumps the dev-patch-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server) | `4.3.1` | `4.3.2` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.15` | `4.1.16` |
| [@types/cookie-parser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cookie-parser) | `1.4.9` | `1.4.10` |
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `5.0.3` | `5.0.4` |
| [@types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs) | `17.0.33` | `17.0.34` |
| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `4.3.1` | `4.3.2` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.15` | `4.1.16` |


Updates `@react-email/preview-server` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.3.2/packages/preview-server)

Updates `@tailwindcss/postcss` from 4.1.15 to 4.1.16
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.16/packages/@tailwindcss-postcss)

Updates `@types/cookie-parser` from 1.4.9 to 1.4.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cookie-parser)

Updates `@types/express` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

Updates `@types/yargs` from 17.0.33 to 17.0.34
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs)

Updates `react-email` from 4.3.1 to 4.3.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.3.2/packages/react-email)

Updates `tailwindcss` from 4.1.15 to 4.1.16
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.16/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/cookie-parser"
  dependency-version: 1.4.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/express"
  dependency-version: 5.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/yargs"
  dependency-version: 17.0.34
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 01:27:47 +00:00
Owen
560974f7d2 Merge branch 'feat/add-proxy-protocol-support' into dev 2025-10-26 18:16:38 -07:00
Owen
85270f497a Restrict raw resources and use st from config 2025-10-26 18:15:39 -07:00
miloschwartz
9fbea4a380 move enterprise/subscription required alert to component 2025-10-26 17:12:47 -07:00
miloschwartz
cbf9c5361e redirect to org login via query param 2025-10-26 17:08:35 -07:00
miloschwartz
44316731c0 enforce resource session length 2025-10-26 16:52:15 -07:00
Owen Schwartz
60513af8ed Merge pull request #1716 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-5d11ea411f
Bump the dev-patch-updates group with 3 updates
2025-10-26 16:31:27 -07:00
Owen Schwartz
24cfe02979 Merge pull request #1717 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-648ae407da
Bump @types/node from 24.8.1 to 24.9.1 in the dev-minor-updates group
2025-10-26 16:31:18 -07:00
Owen
8f3324560a Install maxmind by default 2025-10-26 16:04:19 -07:00
Owen
2041edcf30 Allow protocols on the same port
Fixes #1745
2025-10-26 15:57:12 -07:00
miloschwartz
1227b3c11a use alert instead of badge for unlock status 2025-10-25 17:21:21 -07:00
miloschwartz
8973726f63 add org policy check to verify session 2025-10-25 17:15:37 -07:00
Owen
5559fef1bc Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-25 16:27:12 -07:00
Owen
9cb3c3821a Merge branch 'Pallavikumarimdb-feat/cert-resolver-through-UI' into dev 2025-10-25 16:25:51 -07:00
Owen
c85e367ded Merge branch 'feat/cert-resolver-through-UI' of github.com:Pallavikumarimdb/pangolin into Pallavikumarimdb-feat/cert-resolver-through-UI 2025-10-25 16:25:42 -07:00
Owen Schwartz
5e20487216 Merge pull request #1732 from Pallavikumarimdb/feat/show-update-for-client-olm
Client olm version show in the table with an update prompt
2025-10-25 16:23:51 -07:00
Owen Schwartz
bc6b9eb905 Merge pull request #1736 from Lokowitz/fix-geoip-blueprint
fix blueprint country issue - fix #1705 - option 2
2025-10-25 16:21:49 -07:00
Owen
5940bbd498 Uppercase 2025-10-25 16:20:50 -07:00
Owen
f4a0f6a2e6 Update ui 2025-10-25 16:17:45 -07:00
Milo Schwartz
0df7d45678 Update README.md 2025-10-25 13:48:14 -04:00
Fred KISSIE
a05ee2483b 💄 adjust form style for createblueprintform 2025-10-25 03:22:51 +02:00
Fred KISSIE
f5dbc18c05 create and apply blueprint 2025-10-25 03:06:54 +02:00
Fred KISSIE
dd052fa1af 💄 Gave a relooking to the blueprint table 2025-10-25 03:06:45 +02:00
Fred KISSIE
2cc4ad9c30 💄 fix header & cell misalignment in table 2025-10-25 03:05:47 +02:00
Fred KISSIE
4dd741cc3f 🔊 log all SQL queries 2025-10-25 02:55:19 +02:00
miloschwartz
9ce81b34c9 add confirm dialog to update security settings 2025-10-24 17:30:39 -07:00
miloschwartz
460df46abc update translation and send password reset email 2025-10-24 17:18:34 -07:00
miloschwartz
1e70e4289b add password expiry enforcement 2025-10-24 17:11:39 -07:00
Owen
5fa0ac5927 Add hybrid request logs function 2025-10-24 17:05:05 -07:00
Owen
4b40e7b8d6 Restrict features 2025-10-24 16:29:37 -07:00
Fred KISSIE
29cd035a05 🚧 add & validate blueprint yaml 2025-10-25 01:25:19 +02:00
miloschwartz
39d6b93d42 enforce max session length 2025-10-24 16:14:21 -07:00
miloschwartz
629f17294a 2fa policy check working 2025-10-24 14:31:50 -07:00
Owen
10a5af67aa Merge branch 'dev' into audit-logs 2025-10-24 11:15:39 -07:00
Owen
b542d82553 Consolidate into central cache 2025-10-24 11:14:07 -07:00
Owen
2a644c3f88 Working on settings 2025-10-24 10:51:32 -07:00
Owen
f6de61968d Merge branch 'dev' into audit-logs 2025-10-24 10:31:54 -07:00
Owen
68f0c4df3a Working on licencing 2025-10-24 10:11:28 -07:00
Pallavi Kumari
0743daf56a add en-US for proxy protocol 2025-10-24 16:30:34 +05:30
Pallavi Kumari
58b6ab2601 Implement Proxy Protocol handling in Traefik config generator 2025-10-24 15:56:46 +05:30
Fred KISSIE
038f8829c2 🚧 create blueprint form 2025-10-24 04:17:13 +02:00
miloschwartz
ddcf77a62d add basic org policy check in middleware 2025-10-23 18:15:00 -07:00
Owen
adefbdbeb3 Fix various ui bugs 2025-10-23 17:36:24 -07:00
Owen
921285e5b1 Filtering on all tables 2025-10-23 15:33:29 -07:00
Owen
264bf46798 Filtering working on both access and request 2025-10-23 14:34:56 -07:00
miloschwartz
5a7b5d65a4 remove org settings json 2025-10-23 14:22:50 -07:00
Fred KISSIE
23b13f0a0e 💄 add toploader navigation 2025-10-23 23:10:28 +02:00
Fred KISSIE
90ddffce0e 🚧 create blueprint page 2025-10-23 22:27:14 +02:00
Fred KISSIE
e30fde5237 💄 blueprint data table 2025-10-23 22:14:09 +02:00
Pallavi Kumari
ac683c3ff7 add pg schema for proxy protocol 2025-10-23 23:24:42 +05:30
Pallavi Kumari
b5a931c96e UI and backend update to add proxy protocol support 2025-10-23 23:07:26 +05:30
Lokowitz
5b61742075 change geoip to country 2025-10-23 13:27:34 +00:00
Lokowitz
4e4a38f7e9 move to match type country instead of geoip 2025-10-23 13:19:27 +00:00
miloschwartz
c1bb029a1c simplify telemetry collection 2025-10-22 21:41:36 -07:00
Owen
eae2c37388 Add expandable columns 2025-10-22 18:21:54 -07:00
dependabot[bot]
7193fea068 Bump the dev-patch-updates group with 3 updates
Bumps the dev-patch-updates group with 3 updates: [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss), [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@tailwindcss/postcss` from 4.1.14 to 4.1.15
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.15/packages/@tailwindcss-postcss)

Updates `tailwindcss` from 4.1.14 to 4.1.15
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.15/packages/tailwindcss)

Updates `typescript-eslint` from 8.46.1 to 8.46.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.2/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript-eslint
  dependency-version: 8.46.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-23 01:20:34 +00:00
dependabot[bot]
9b85deebf8 Bump @types/node from 24.8.1 to 24.9.1 in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.8.1 to 24.9.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-23 01:20:13 +00:00
Owen
0211f75cb6 Access logs working 2025-10-22 17:42:27 -07:00
Fred KISSIE
fa6b7ca3ed 🚧 (WIP) blueprints table 2025-10-23 00:33:49 +02:00
Fred KISSIE
007d03e7f6 ♻️ refactor 2025-10-23 00:27:07 +02:00
Fred KISSIE
a534301eb7 ♻️ make source not null 2025-10-23 00:26:41 +02:00
miloschwartz
1baa987016 update resend ids 2025-10-22 15:14:57 -07:00
Fred KISSIE
a5b48ab392 🚧 blueprints page 2025-10-23 00:13:31 +02:00
Owen
7f981f05fb Show resource link in table for requests 2025-10-22 14:58:18 -07:00
Fred KISSIE
259cea1c42 add API endpoint for listing blueprints 2025-10-22 23:49:43 +02:00
Fred KISSIE
9024b2a974 🗃️ finish db schemas for blueprints 2025-10-22 23:49:13 +02:00
Owen
f2c31d3ca6 Add actor data to request 2025-10-22 14:27:21 -07:00
miloschwartz
6f8b5dd909 change get to post for whitelist 2025-10-22 14:02:43 -07:00
Fred KISSIE
6521b66b7c 🍱 add jsonschema for blueprint yaml validation 2025-10-22 21:58:19 +02:00
Fred KISSIE
202d2075a6 🚧 add blueprint to the sidebar and scaffold page 2025-10-22 21:56:26 +02:00
Fred KISSIE
e575fae73b 🚧 SQLite database schema with modes (is it okay ?) 2025-10-22 21:56:10 +02:00
Fred KISSIE
d84ee3d03d 🌐 add blueprint section title in the sidebar in messages (en-US for now) 2025-10-22 21:55:41 +02:00
Fred KISSIE
ba745588e9 🎨 format with prettier 2025-10-22 21:55:09 +02:00
Pallavi Kumari
84731bdc19 client olm version show in the table 2025-10-23 00:55:48 +05:30
Owen
f748c5dbe4 Basic request log working 2025-10-22 12:23:48 -07:00
Owen
fdd4d5244f Temp dont ignore org 2025-10-22 10:59:35 -07:00
Owen
9301477262 Merge branch 'dev' into audit-logs 2025-10-22 10:34:31 -07:00
Owen
9a787e6ef8 Merge branch 'main' into dev 2025-10-22 10:34:21 -07:00
Owen Schwartz
5b8cdf7884 Merge pull request #1730 from Pallavikumarimdb/fix/shareable-link-resource-URI
Update shareable link resource URI to use NiceId instead of resourceId
2025-10-22 10:11:10 -07:00
Fred KISSIE
5fd104bb30 🗃️ add bluePrintRuns model 2025-10-22 14:02:37 +02:00
Pallavi Kumari
9ba42a8fa3 add niceid to CreateShareLinkForm 2025-10-22 16:18:19 +05:30
Pallavi Kumari
fe8fd2e3a8 change shareable link resource URI from resource Id to NiceId 2025-10-22 15:53:29 +05:30
Owen
9ebce35d2b Dont do local sites undefined in cloud 2025-10-21 22:02:09 -07:00
Owen
654145be84 Clean up imports and ordering 2025-10-21 21:58:09 -07:00
Owen
3662d42374 Add resource id and cc 2025-10-21 21:42:53 -07:00
Owen
d392fb371e Add logging for all auth 2025-10-21 21:22:56 -07:00
Owen
1142d6ac48 Date picker working 2025-10-21 20:15:43 -07:00
Owen
bdc3b2425b Basic table working 2025-10-21 17:35:13 -07:00
Owen
9a64f45815 Basic log table there 2025-10-21 15:26:03 -07:00
Fred KISSIE
3633e02ff7 🔨 run next server with turbopack (easy win) 2025-10-22 00:17:42 +02:00
Owen Schwartz
2c502ec764 Merge pull request #1728 from jonasmerkel/main
Update German translations for client terminology
2025-10-21 14:29:23 -07:00
Jonas
b17d7f0e27 Update German translations for client terminology 2025-10-21 23:26:27 +02:00
Owen
65364d6b0f Merge branch 'dev' into audit-logs 2025-10-21 11:31:33 -07:00
Owen
6fd6c77ce6 Further revert 2025-10-21 11:29:27 -07:00
Owen
e447549de1 revert changes around sites assigned to exit nodes 2025-10-21 11:12:27 -07:00
Pallavi Kumari
6b0dd00aa5 show IP of the server inside DNS records 2025-10-21 20:43:42 +05:30
Pallavi Kumari
461866836e Remove the popup after creating domain and redirect to domain details page 2025-10-21 17:41:14 +05:30
Pallavi Kumari
3ae42f054f show the wildcard record info 2025-10-21 17:07:34 +05:30
Pallavi Kumari
5a571f19e1 add each form control it's own form field/item/control 2025-10-21 16:10:23 +05:30
Owen
70aeaf7b5d Change badges and button size 2025-10-21 15:37:03 +05:30
Pallavi Kumari
7a6838f5a5 fix lint 2025-10-21 15:37:03 +05:30
Pallavi Kumari
07f5e8f215 add update domain Settings for wildcard 2025-10-21 15:37:03 +05:30
Pallavi Kumari
2b05bc1f5f ui and layout fix 2025-10-21 15:37:03 +05:30
Pallavi Kumari
edf64ae7b5 fix invalid "default" 2025-10-21 15:37:03 +05:30
Pallavi Kumari
7370448be9 pg schema 2025-10-21 15:37:02 +05:30
Pallavi Kumari
51af293d66 add doc link button and fix continuous polling 2025-10-21 15:37:02 +05:30
Pallavi Kumari
d37e28215e add restart button 2025-10-21 15:37:02 +05:30
Pallavi Kumari
2c01849f2e fix import 2025-10-21 15:37:02 +05:30
Pallavi Kumari
c29ba9bb5f add DNS Records table 2025-10-21 15:37:02 +05:30
Pallavi Kumari
8fdf120ec2 backend setup to store and get DNS Records 2025-10-21 15:37:02 +05:30
Pallavi Kumari
a9b9161c40 template for Domain Settings 2025-10-21 15:37:02 +05:30
Pallavi Kumari
43f907ebec remove import 2025-10-21 15:37:02 +05:30
Pallavi Kumari
ae670e1eb5 initial setup for viewing domain details 2025-10-21 15:37:02 +05:30
Pallavi Kumari
f102718901 add edit button to domain table 2025-10-21 15:37:02 +05:30
Pallavi Kumari
9d452efc7d fix treafik config mismatch 2025-10-21 15:37:02 +05:30
Pallavi Kumari
156fe529b5 fix code conflicts and match dev change 2025-10-21 15:37:02 +05:30
Owen
df24525105 Fix type issues 2025-10-21 15:37:02 +05:30
Owen
d938345deb Copy in config to db, remove 2nd column, + prefer 2025-10-21 15:37:02 +05:30
Pallavi Kumari
d6681733dd remove custom cery type form config file 2025-10-21 15:37:02 +05:30
Pallavi Kumari
2f1aec02f0 traefik config update for custom Cert Resolver 2025-10-21 15:37:01 +05:30
Pallavi Kumari
d30e0a3c51 schema add 2025-10-21 15:37:01 +05:30
Pallavi Kumari
3f3e9cf1bb add cert resolver 2025-10-21 15:37:01 +05:30
Owen
e77909d498 Change runs on 2025-10-20 21:45:40 -07:00
Owen
d10830f892 Fix exitNodeId col 2025-10-20 21:34:10 -07:00
Owen
18d8f72da2 Change runner back 2025-10-20 21:01:45 -07:00
Owen
4a59823e58 Actually run the migrations; update exit nodes
Fix #1718
Fix #1720
2025-10-20 20:55:47 -07:00
Owen
f3149e46cd Starting to create frontend 2025-10-20 20:40:04 -07:00
Owen
60379a7b4e Merge branch 'dev' 2025-10-20 17:17:02 -07:00
dependabot[bot]
605b3cccee Bump @types/node from 24.7.2 to 24.8.1 in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.7.2 to 24.8.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 17:16:40 -07:00
dependabot[bot]
843799f4f6 Bump the dev-patch-updates group with 2 updates
Bumps the dev-patch-updates group with 2 updates: [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server) and [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email).


Updates `@react-email/preview-server` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.3.1/packages/preview-server)

Updates `react-email` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.3.1/packages/react-email)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 17:16:40 -07:00
Marc Schäfer
a69cda5c13 ci(actions): add GHCR mirroring and cosign signing for Docker images
- mirror images from Docker Hub to GHCR using skopeo (preserves multi-arch manifests)
- login to GHCR via docker/login-action for signing/pushing
- install cosign and perform dual signing: keyless (OIDC) + key-based; verify signatures
- add required permissions for id-token/packages and reference necessary secrets
2025-10-20 17:16:40 -07:00
Marc Schäfer
dbaa3dbd52 ci(actions): add permissions section to workflows 2025-10-20 17:16:40 -07:00
Marc Schäfer
58197c6fb2 ci(actions): change runner from ubuntu-latest to amd64-runner 2025-10-20 17:16:40 -07:00
Marc Schäfer
7813093452 ci(actions): pin action versions to commit SHAs for security
- Pin actions/checkout to SHA for v5.0.0
- Pin docker/setup-qemu-action to SHA for v3.6.0
- Pin docker/setup-buildx-action to SHA for v3.11.1
- Pin docker/login-action to SHA for v3.6.0
- Pin actions/setup-go to SHA for v6.0.0
- Pin actions/upload-artifact to SHA for v4.6.2
- Pin actions/setup-node to SHA for v6.0.0
- Pin actions/stale to SHA for v10.1.0
2025-10-20 17:16:40 -07:00
Marc Schäfer
3f2c3dc987 feat(actions): Sync Images from Docker to GHCR 2025-10-20 17:16:40 -07:00
miloschwartz
08ddba25d0 hide method selector on raw resources 2025-10-20 17:15:45 -07:00
Owen Schwartz
d47fa7e64f Merge pull request #1715 from marcschaeferger/gh-action
Adding GHCR to CI/CD Release Workflow & further improvements
2025-10-20 17:12:05 -07:00
Marc Schäfer
c87aa2e537 Merge branch 'fosrl:main' into gh-action 2025-10-21 02:09:04 +02:00
Marc Schäfer
bc430546bc ci(actions): add GHCR mirroring and cosign signing for Docker images
- mirror images from Docker Hub to GHCR using skopeo (preserves multi-arch manifests)
- login to GHCR via docker/login-action for signing/pushing
- install cosign and perform dual signing: keyless (OIDC) + key-based; verify signatures
- add required permissions for id-token/packages and reference necessary secrets
2025-10-21 02:07:26 +02:00
Owen Schwartz
9428e065eb Merge pull request #1707 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-be6156b6cb
Bump @types/node from 24.7.2 to 24.8.1 in the dev-minor-updates group
2025-10-20 17:06:20 -07:00
Owen Schwartz
10408c5717 Merge pull request #1706 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-b03f25c1b7
Bump the dev-patch-updates group with 2 updates
2025-10-20 17:06:13 -07:00
Owen Schwartz
ae902da913 Merge pull request #1714 from fosrl/crowdin_dev
New Crowdin updates
2025-10-20 17:06:00 -07:00
Owen Schwartz
0be5a91eff New translations en-us.json (Spanish) 2025-10-20 17:05:44 -07:00
Owen Schwartz
7dcf46ce98 New translations en-us.json (Norwegian Bokmal) 2025-10-20 17:05:42 -07:00
Owen Schwartz
33e6e4b411 New translations en-us.json (Chinese Simplified) 2025-10-20 17:05:41 -07:00
Owen Schwartz
bab6e4eb0d New translations en-us.json (Turkish) 2025-10-20 17:05:39 -07:00
Owen Schwartz
6a7c7521d8 New translations en-us.json (Russian) 2025-10-20 17:05:38 -07:00
Owen Schwartz
d070244ea7 New translations en-us.json (Portuguese) 2025-10-20 17:05:37 -07:00
Owen Schwartz
9219bb7d6e New translations en-us.json (Polish) 2025-10-20 17:05:35 -07:00
Owen Schwartz
54e83f35e5 New translations en-us.json (Dutch) 2025-10-20 17:05:34 -07:00
Owen Schwartz
eb138d6526 New translations en-us.json (Korean) 2025-10-20 17:05:33 -07:00
Owen Schwartz
edd0c3099b New translations en-us.json (Italian) 2025-10-20 17:05:31 -07:00
Owen Schwartz
04455d40cf New translations en-us.json (German) 2025-10-20 17:05:30 -07:00
Owen Schwartz
221af94d15 New translations en-us.json (Czech) 2025-10-20 17:05:29 -07:00
Owen Schwartz
48ac3bb7af New translations en-us.json (Bulgarian) 2025-10-20 17:05:27 -07:00
Owen Schwartz
07273b8b7f New translations en-us.json (French) 2025-10-20 17:05:26 -07:00
Marc Schäfer
bfb5b2864d ci(actions): add permissions section to workflows 2025-10-21 01:59:52 +02:00
Marc Schäfer
07330e84fb ci(actions): change runner from ubuntu-latest to amd64-runner 2025-10-21 01:54:23 +02:00
Marc Schäfer
0e39704b3a ci(actions): pin action versions to commit SHAs for security
- Pin actions/checkout to SHA for v5.0.0
- Pin docker/setup-qemu-action to SHA for v3.6.0
- Pin docker/setup-buildx-action to SHA for v3.11.1
- Pin docker/login-action to SHA for v3.6.0
- Pin actions/setup-go to SHA for v6.0.0
- Pin actions/upload-artifact to SHA for v4.6.2
- Pin actions/setup-node to SHA for v6.0.0
- Pin actions/stale to SHA for v10.1.0
2025-10-21 01:53:20 +02:00
miloschwartz
f25e794e7c add checks to prevent fk failure in ensureActions 2025-10-20 16:01:40 -07:00
Owen Schwartz
df46ce8bdc Merge pull request #1712 from marcschaeferger/ghcr
feat(actions): Sync Images from Docker to GHCR
2025-10-20 13:07:34 -07:00
Marc Schäfer
4d83f537dc feat(actions): Sync Images from Docker to GHCR 2025-10-20 22:06:36 +02:00
Owen
58443ef53f Reorder log middleware 2025-10-19 22:25:00 -07:00
Owen
1ee52ad86b Add headers 2025-10-19 21:59:51 -07:00
Owen
bc941239ec Fix the indexes 2025-10-19 21:59:41 -07:00
Owen
9a52d5387d Merge branch 'dev' into audit-logs 2025-10-19 21:54:26 -07:00
Owen
1f50bc3752 Add logActionAudit and query endpoint 2025-10-19 21:53:00 -07:00
dependabot[bot]
0819df0910 Bump @types/node from 24.7.2 to 24.8.1 in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.7.2 to 24.8.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 01:35:01 +00:00
dependabot[bot]
663787c15b Bump the dev-patch-updates group with 2 updates
Bumps the dev-patch-updates group with 2 updates: [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server) and [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email).


Updates `@react-email/preview-server` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.3.1/packages/preview-server)

Updates `react-email` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.3.1/packages/react-email)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 01:32:52 +00:00
Owen
2c39d07261 Add missing headers 2025-10-19 17:59:40 -07:00
Owen
dce84b9b09 Add action audit middleware and tables 2025-10-19 17:58:52 -07:00
Owen
a5bab6bb80 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-19 12:04:59 -07:00
miloschwartz
7536c03f63 add int api routes for add/remote email to resource email whitelist 2025-10-19 12:04:20 -07:00
Owen
ada5d2ef0e Update domain 2025-10-19 11:59:10 -07:00
Owen
b8bead0590 Select exit node for local sites 2025-10-19 11:13:33 -07:00
Milo Schwartz
68f852d6d1 Merge pull request #1699 from Pallavikumarimdb/make-easier-to-delete
Make it easier to delete things
2025-10-19 14:00:19 -04:00
Owen
d9fe5a8819 Always set exit node to online
Fixes #1692
2025-10-19 10:47:32 -07:00
Owen
346183a23f Only allow nodes to pull with defined exitNodeID 2025-10-19 10:46:25 -07:00
Owen
dcfd7f5443 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-19 10:43:39 -07:00
Pallavi Kumari
e59cd6672b fix space 2025-10-19 22:23:57 +05:30
Pallavi Kumari
7c8c440f67 fix text 2025-10-19 21:36:47 +05:30
Pallavi Kumari
f258c41f15 easier to delete 2025-10-19 20:37:07 +05:30
Pallavi Kumari
ae4a24f4aa easier to delete resources 2025-10-19 15:50:00 +05:30
Pallavi Kumari
476cdcfe86 easier to delete sites 2025-10-19 15:02:35 +05:30
Owen
f869df2f65 Working on fixing exit node issue 2025-10-18 21:32:26 -07:00
Owen Schwartz
03cfabacd9 Merge pull request #1695 from Pallavikumarimdb/fix/rule-priority-input
Make priority input box focused on pressing the up/down arrows
2025-10-18 13:38:54 -07:00
miloschwartz
47ac5875f3 change digpangolin.com to pangolin.net 2025-10-18 11:51:09 -07:00
miloschwartz
f67327358e Merge branch 'main' into dev 2025-10-18 11:41:06 -07:00
Milo Schwartz
4901823f15 Update README.md 2025-10-18 14:25:22 -04:00
Pallavi Kumari
5407e3c821 make priority input box focus on up/down click 2025-10-18 23:38:14 +05:30
Owen Schwartz
1d5cdad8b7 Merge pull request #1693 from Pallavikumarimdb/fix/sorting-resources-alphabetically-by-default
Sorting Resources Alphabetically by Default
2025-10-18 10:03:28 -07:00
Owen Schwartz
cd2424cb77 Merge pull request #1691 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-30703f013a
Bump the prod-patch-updates group across 1 directory with 4 updates
2025-10-18 10:03:23 -07:00
Pallavi Kumari
c17efde6bf Sorting Resources Alphabetically by Default 2025-10-18 14:43:54 +05:30
Owen
40cd8cdec7 Merge branch 'dev' 2025-10-17 16:25:01 -07:00
Owen
6768672a44 Merge branch 'main' of github.com:fosrl/pangolin 2025-10-17 16:24:55 -07:00
Owen
240c5b005b Add more transactions support 2025-10-17 16:22:43 -07:00
dependabot[bot]
8dde170a35 Bump the prod-patch-updates group across 1 directory with 4 updates
Bumps the prod-patch-updates group with 3 updates in the / directory: [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components), [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) and [next](https://github.com/vercel/next.js).


Updates `@react-email/components` from 0.5.6 to 0.5.7
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.5.7/packages/components)

Updates `@react-email/render` from 1.3.2 to 1.4.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/render/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/render@1.4.0/packages/render)

Updates `eslint-config-next` from 15.5.5 to 15.5.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.5.6/packages/eslint-config-next)

Updates `next` from 15.5.5 to 15.5.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.5.5...v15.5.6)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.5.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@react-email/render"
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-patch-updates
- dependency-name: eslint-config-next
  dependency-version: 15.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next
  dependency-version: 15.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 21:06:44 +00:00
Owen
c07abf8ff9 Pass through transaction 2025-10-17 14:05:17 -07:00
Owen
e5a436593f Delete all before migrating 2025-10-17 14:05:17 -07:00
Owen
bb6e093ac6 Priority needs to be def 2025-10-17 14:05:17 -07:00
Milo Schwartz
59a334ce24 Update README.md 2025-10-17 14:05:17 -07:00
Owen
d241dcfb27 Fix typo 2025-10-17 14:05:17 -07:00
Owen
af263e7913 Pass through transaction 2025-10-17 14:04:49 -07:00
Owen Schwartz
6610e7d405 Merge pull request #1673 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-ac45ae572b
Bump the prod-patch-updates group across 1 directory with 2 updates
2025-10-17 14:02:36 -07:00
Owen Schwartz
c476e65cf2 Merge pull request #1677 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-3f2a7d9f8f
Bump the dev-patch-updates group across 1 directory with 2 updates
2025-10-17 14:01:57 -07:00
Owen Schwartz
b69b2eeeb3 Merge pull request #1689 from barnabehvrd/patch-2
FR translation update
2025-10-17 13:57:09 -07:00
Barnabé Havard
89dab0917b Fixed (again ...) indentation issues 2025-10-17 22:42:07 +02:00
Barnabé Havard
73efdb95ae Fixed indentation issues 2025-10-17 22:36:08 +02:00
Barnabé Havard
1bcca88614 Updated several translation 2025-10-17 22:32:51 +02:00
Owen
3af1e0ef56 Delete all before migrating 2025-10-17 11:56:19 -07:00
Owen Schwartz
8387571c1d Merge pull request #1684 from Pallavikumarimdb/fix/make-priority-optional
Make priority optional in schema
2025-10-17 10:14:01 -07:00
Pallavi Kumari
1d017f60b4 make priority optional in schema 2025-10-17 19:51:32 +05:30
dependabot[bot]
81effda9e8 Bump the prod-patch-updates group across 1 directory with 2 updates
Bumps the prod-patch-updates group with 2 updates in the / directory: [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) and [next](https://github.com/vercel/next.js).


Updates `eslint-config-next` from 15.5.4 to 15.5.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.5.5/packages/eslint-config-next)

Updates `next` from 15.5.4 to 15.5.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.5.4...v15.5.5)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 15.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next
  dependency-version: 15.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 01:22:32 +00:00
dependabot[bot]
9343906ab1 Bump the dev-patch-updates group across 1 directory with 2 updates
Bumps the dev-patch-updates group with 2 updates in the / directory: [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) and [esbuild](https://github.com/evanw/esbuild).


Updates `@types/react-dom` from 19.2.1 to 19.2.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `esbuild` from 0.25.10 to 0.25.11
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.10...v0.25.11)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-version: 19.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 01:20:39 +00:00
Owen
08b7d6735c Priority needs to be def 2025-10-16 14:52:14 -07:00
Milo Schwartz
a91ebd1e91 Update README.md 2025-10-16 17:45:11 -04:00
Owen
312e03b4eb Fix typo 2025-10-16 14:43:11 -07:00
miloschwartz
e8a57e432c hide path match and rewrite in raw resource 2025-10-16 14:30:22 -07:00
Owen
bca2eef2e8 Show ssl toggle 2025-10-16 14:24:36 -07:00
Owen
ec7211a15d Handle updating exit node and fix raw resource issues 2025-10-16 13:55:08 -07:00
Owen
46807c6477 Fix various bugs 2025-10-16 10:23:25 -07:00
miloschwartz
b578786e62 add empty state to sites table cols 2025-10-16 10:11:50 -07:00
miloschwartz
2e0ad8d262 branding only works when licensed 2025-10-15 22:07:33 -07:00
miloschwartz
003f0cfa6d fix target validation on create site 2025-10-15 20:43:59 -07:00
Owen
ee3df081ef Fix docker button and positioning 2025-10-15 20:21:15 -07:00
Owen
08eeb12519 Fix going away when creating target
cd8062ada3
2025-10-15 17:48:31 -07:00
Owen
e66c6b2505 remove volumes for remote nodes 2025-10-15 17:44:03 -07:00
miloschwartz
d2a880d9c8 update docker command in makefile 2025-10-15 17:36:09 -07:00
miloschwartz
edc0b86470 add translation and update url 2025-10-15 17:32:39 -07:00
Owen
aebe6b80b7 Make private file optional 2025-10-15 17:22:43 -07:00
Owen
4d87333b43 Merge branch 'main' into dev 2025-10-15 17:15:48 -07:00
Owen
ef32f3ed5a Load encryption file dynamically 2025-10-15 17:14:24 -07:00
Owen
216ded3034 Merge branch 'main' of github.com:fosrl/pangolin 2025-10-15 17:14:14 -07:00
miloschwartz
cb59fe2cee update readme 2025-10-15 16:34:06 -07:00
miloschwartz
7776f6d09c disable branding 2025-10-15 16:32:16 -07:00
Owen
c50392c947 Remove logging 2025-10-15 13:57:42 -07:00
Owen
ceee978fcd Merge branch 'dev' 2025-10-15 12:13:15 -07:00
Owen
c5a73dc87e Try to handle the certs better 2025-10-15 12:12:59 -07:00
Owen
7198ef2774 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-10-15 11:12:38 -07:00
miloschwartz
7e9a066797 update form 2025-10-15 11:10:37 -07:00
Milo Schwartz
ba96332313 Update README.md 2025-10-15 14:02:28 -04:00
Owen
e2d0338b0b Merge branch 'dev' 2025-10-15 10:39:50 -07:00
Owen
59ecab5738 Dont ping remote nodes; handle certs better 2025-10-15 10:39:45 -07:00
miloschwartz
721bf3403d fix form 2025-10-15 10:21:00 -07:00
Owen
3b8ba47377 Update package lock 2025-10-14 18:00:46 -07:00
Milo Schwartz
e752929f69 Update README.md 2025-10-14 20:50:41 -04:00
Milo Schwartz
e41c3e6f54 Update README.md 2025-10-14 20:48:44 -04:00
Milo Schwartz
9dedd1a8de Update README.md 2025-10-14 20:41:14 -04:00
Owen
c4a5fae28f Update workflow and add runner 2025-10-14 17:34:47 -07:00
Owen
5f95a3233f Merge branch 'dev' 2025-10-14 17:05:40 -07:00
Owen Schwartz
d3174d0196 Merge pull request #1671 from fosrl/crowdin_dev
New Crowdin updates
2025-10-14 17:03:22 -07:00
Owen Schwartz
3710d71974 New translations en-us.json (Spanish) 2025-10-14 17:02:54 -07:00
Owen Schwartz
f62e88eb67 New translations en-us.json (Norwegian Bokmal) 2025-10-14 17:02:53 -07:00
Owen Schwartz
904b302fb6 New translations en-us.json (Chinese Simplified) 2025-10-14 17:02:52 -07:00
Owen Schwartz
5fc096f2d5 New translations en-us.json (Turkish) 2025-10-14 17:02:50 -07:00
Owen Schwartz
87668c492f New translations en-us.json (Russian) 2025-10-14 17:02:49 -07:00
Owen Schwartz
6d7a8b97ad New translations en-us.json (Portuguese) 2025-10-14 17:02:48 -07:00
Owen Schwartz
282d444933 New translations en-us.json (Polish) 2025-10-14 17:02:46 -07:00
Owen Schwartz
f3d7d97fb9 New translations en-us.json (Dutch) 2025-10-14 17:02:45 -07:00
Owen Schwartz
de857a7c4e New translations en-us.json (Korean) 2025-10-14 17:02:44 -07:00
Owen Schwartz
20a0ebfc9d New translations en-us.json (Italian) 2025-10-14 17:02:43 -07:00
Owen Schwartz
ba8166bdeb New translations en-us.json (German) 2025-10-14 17:02:41 -07:00
Owen Schwartz
2b634fc6c5 New translations en-us.json (Czech) 2025-10-14 17:02:40 -07:00
Owen Schwartz
5429bc03ab New translations en-us.json (Bulgarian) 2025-10-14 17:02:38 -07:00
Owen Schwartz
a558b34608 New translations en-us.json (French) 2025-10-14 17:02:37 -07:00
Owen Schwartz
1850d56977 Merge pull request #1669 from fosrl/dev
Dev
2025-10-14 16:57:01 -07:00
Owen
61b4c62824 Merge branch 'main' into dev 2025-10-14 16:55:12 -07:00
Owen
10e5ccfe86 Handle tsconfig 2025-10-14 16:34:11 -07:00
Owen
9f5d475e80 Migrations work 2025-10-14 16:34:11 -07:00
Milo Schwartz
9bb9a3acbe Update README.md 2025-10-14 19:04:09 -04:00
Milo Schwartz
0923b7e3c5 Update README.md 2025-10-14 18:59:31 -04:00
Owen
ccd81f6fe2 Adjust migration 2025-10-14 15:31:56 -07:00
miloschwartz
0f74107e86 add links to license 2025-10-14 14:39:05 -07:00
Owen
8377434c08 Add update database to installer 2025-10-14 14:23:18 -07:00
Owen
1fbf2bfb8d Remove managed add maxmind 2025-10-14 14:15:33 -07:00
Owen
42facf8e12 Add pg migration 2025-10-14 12:11:17 -07:00
Owen
4bb3d85c25 Add sqlite migration 2025-10-14 12:04:02 -07:00
Owen
c0039190bd Fix frontend type imports 2025-10-14 11:28:56 -07:00
Owen
a8d00a47cd Remote nodes working 2025-10-14 10:58:51 -07:00
Owen
57bcbf6c48 Include traefik config when sending to remote nodes 2025-10-14 10:38:41 -07:00
Owen
c57db1479e Update language for local sites 2025-10-14 10:25:03 -07:00
Owen
cd8062ada3 Fix various bugs 2025-10-14 10:25:03 -07:00
Owen
244d05adb1 Import the right customer 2025-10-14 10:25:03 -07:00
miloschwartz
812bd64325 improve docker container selector button placement 2025-10-13 18:33:55 -07:00
miloschwartz
276d1361ac move billing and and licenses up in sidebar 2025-10-13 18:07:00 -07:00
miloschwartz
881eac4722 fix tier and remove test interval 2025-10-13 17:01:32 -07:00
Owen
2a2a550a6a Merge branch 'distribution' of github.com:fosrl/pangolin-saas into distribution 2025-10-13 17:00:37 -07:00
miloschwartz
e75001080a update license terminateAt and update word mark 2025-10-13 16:45:19 -07:00
miloschwartz
6fbba38a76 fix license type and default selected domain type 2025-10-13 16:45:19 -07:00
Owen
902b413881 Path rewriting working? 2025-10-13 16:41:14 -07:00
Owen
8b2f8ad3ef Add rewriting to traefik config 2025-10-13 15:53:17 -07:00
Owen
377cb77307 Returning unauthorized 2025-10-13 15:34:26 -07:00
miloschwartz
733bf0b169 set wildcard domain verified to true 2025-10-13 15:31:34 -07:00
miloschwartz
8faff3e075 hide provided domains if not using dns 2025-10-13 15:21:59 -07:00
Owen
48af91c976 Return unauthorized if header auth is the only one 2025-10-13 15:20:53 -07:00
Owen
6664efaa13 Fix up UI around resource auth headers 2025-10-13 15:20:53 -07:00
miloschwartz
e5ee96cf52 fix create domain 2025-10-13 15:08:57 -07:00
Owen
38faf1f905 Add header auth so it does not allow passing 2025-10-13 14:59:54 -07:00
Owen
2cff142266 Use Pangolin DNS fix 2025-10-13 14:42:40 -07:00
miloschwartz
2c99cfacc0 fix header auth formatting 2025-10-13 14:39:41 -07:00
miloschwartz
0c63ea1f50 remove log 2025-10-13 14:28:23 -07:00
Owen
f50df66e3a Fix use_pangolin_dns 2025-10-13 14:27:51 -07:00
Owen
4b93491160 rename generateOwnCertificates and check in resource header 2025-10-13 14:26:36 -07:00
Owen
19210cbf7d Hide cname and ns if not using dns 2025-10-13 14:22:06 -07:00
miloschwartz
9af206b69a move schemas to folder 2025-10-13 14:13:26 -07:00
Owen
b6b9c71c5e Pass this middleware correctly in saas 2025-10-13 12:27:45 -07:00
Owen
c000c4502f Fix instance name 2025-10-13 12:13:04 -07:00
Owen
b6c1d9a592 Merge branch 'dev' into distribution 2025-10-13 12:04:41 -07:00
Owen Schwartz
7a75fe0cad Merge pull request #1658 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-6f2a42a27f
Bump @types/node from 24.7.0 to 24.7.2 in the dev-patch-updates group
2025-10-13 12:03:21 -07:00
Owen Schwartz
a83e660902 Merge pull request #1659 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-9b5291575b
Bump the prod-minor-updates group with 2 updates
2025-10-13 12:03:09 -07:00
Owen Schwartz
65eb3e4b95 Merge pull request #1612 from Pallavikumarimdb/fix/UI-adjustment
UI Adjustments
2025-10-13 12:02:55 -07:00
Pallavi Kumari
093fb419f3 add en-US 2025-10-14 00:28:00 +05:30
Pallavi Kumari
026e56aead fix lint 2025-10-14 00:28:00 +05:30
Pallavi Kumari
fa9bc59f62 match create resource ui with proxy ui 2025-10-14 00:28:00 +05:30
Pallavi Kumari
06ec80db42 replace dialog with credenza 2025-10-14 00:28:00 +05:30
miloschwartz
24d564b79b add advanced toggle to targets table 2025-10-14 00:28:00 +05:30
Owen
2f5e6248cd Small ui adjustments 2025-10-14 00:27:24 +05:30
Pallavi Kumari
c0cc81ed96 standardizing the targets input table 2025-10-14 00:27:24 +05:30
Pallavi Kumari
b33a54a449 remove unused 2025-10-14 00:27:24 +05:30
Pallavi Kumari
94137e587c change target config ui for create resource 2025-10-14 00:27:24 +05:30
Pallavi Kumari
a6086d3724 address input design 2025-10-14 00:27:24 +05:30
Pallavi Kumari
0a377150e3 reorder columns 2025-10-14 00:27:24 +05:30
Pallavi Kumari
d20e0a228a adjust target config ui inside create resource 2025-10-14 00:27:24 +05:30
Pallavi Kumari
ca146a1b57 adjust target config column 2025-10-14 00:27:24 +05:30
Pallavi Kumari
c7c3e3ee73 refresh button inside admin 2025-10-14 00:27:24 +05:30
Pallavi Kumari
cd27f6459c refresh button 2025-10-14 00:27:24 +05:30
Pallavi Kumari
b1e212721e refresh button for role, user, share-link, invitation table 2025-10-14 00:27:24 +05:30
Pallavi Kumari
ccd2773331 refresh button on resources page 2025-10-14 00:27:23 +05:30
Pallavi Kumari
cfa82b51fb refresh button in clients page 2025-10-14 00:27:23 +05:30
Owen
9c91a8db46 Update build process 2025-10-13 11:49:48 -07:00
miloschwartz
b160eee8d2 Merge branch 'dev' into distribution 2025-10-13 11:06:14 -07:00
miloschwartz
37ceabdf5d add enterprise license system 2025-10-13 10:41:10 -07:00
Owen
e7828a43fa Add flag for generate own certs 2025-10-13 10:32:41 -07:00
dependabot[bot]
ccb1f04ad8 Bump the prod-minor-updates group with 2 updates
Bumps the prod-minor-updates group with 2 updates: [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) and [react-hook-form](https://github.com/react-hook-form/react-hook-form).


Updates `@aws-sdk/client-s3` from 3.906.0 to 3.908.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.908.0/clients/client-s3)

Updates `react-hook-form` from 7.64.0 to 7.65.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.64.0...v7.65.0)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.908.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 01:38:51 +00:00
dependabot[bot]
4c14ccbb63 Bump @types/node from 24.7.0 to 24.7.2 in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.7.0 to 24.7.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 01:33:47 +00:00
Owen Schwartz
25c24ca9cf Merge pull request #1639 from fosrl/dependabot/go_modules/install/prod-minor-updates-cf68330517
Bump golang.org/x/term from 0.35.0 to 0.36.0 in /install in the prod-minor-updates group
2025-10-12 17:08:31 -07:00
Owen Schwartz
787869fe21 Merge pull request #1641 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-7acd695279
Bump the prod-minor-updates group with 2 updates
2025-10-12 17:08:20 -07:00
Owen Schwartz
b51c27a823 Merge pull request #1646 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-942db9cd59
Bump the prod-patch-updates group across 1 directory with 3 updates
2025-10-12 17:08:11 -07:00
Owen
5917881b47 Remove dev image for now #1625 2025-10-12 17:06:41 -07:00
Owen
c7a40d59b7 Seperate managed node code to fosrl/pangolin-node 2025-10-12 16:34:36 -07:00
Owen
a50c0d84e9 Make easier to run in dev - fix a couple of things 2025-10-12 16:23:38 -07:00
Owen
f17a957058 Cleaning up more imports 2025-10-11 20:46:49 -07:00
Owen
2c63851130 Separate types & fix #private import 2025-10-11 19:02:15 -07:00
miloschwartz
6b125bba7c reject user if no policies match and remove root user in auto provision 2025-10-10 11:52:45 -07:00
Owen
d92b87b7c8 Chungus 2.0 2025-10-10 11:27:15 -07:00
miloschwartz
f64a477c3d fix spacing issue in strategy select 2025-10-09 20:21:16 -07:00
dependabot[bot]
b6f8ed1e4a Bump the prod-patch-updates group across 1 directory with 3 updates
Bumps the prod-patch-updates group with 3 updates in the / directory: [next-intl](https://github.com/amannn/next-intl), [npm](https://github.com/npm/cli) and [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node).


Updates `next-intl` from 4.3.11 to 4.3.12
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.11...v4.3.12)

Updates `npm` from 11.6.1 to 11.6.2
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.6.1...v11.6.2)

Updates `posthog-node` from 5.9.3 to 5.9.5
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.9.5/packages/node)

---
updated-dependencies:
- dependency-name: next-intl
  dependency-version: 4.3.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: npm
  dependency-version: 11.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: posthog-node
  dependency-version: 5.9.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 01:21:19 +00:00
dependabot[bot]
bad88e4741 Bump the prod-minor-updates group with 2 updates
Bumps the prod-minor-updates group with 2 updates: [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) and [react-easy-sort](https://github.com/ValentinH/react-easy-sort).


Updates `@aws-sdk/client-s3` from 3.901.0 to 3.906.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.906.0/clients/client-s3)

Updates `react-easy-sort` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/ValentinH/react-easy-sort/releases)
- [Commits](https://github.com/ValentinH/react-easy-sort/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.906.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-easy-sort
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 01:26:12 +00:00
dependabot[bot]
01db519691 Bump golang.org/x/term in /install in the prod-minor-updates group
Bumps the prod-minor-updates group in /install with 1 update: [golang.org/x/term](https://github.com/golang/term).


Updates `golang.org/x/term` from 0.35.0 to 0.36.0
- [Commits](https://github.com/golang/term/compare/v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 01:22:20 +00:00
miloschwartz
e601038c0f fix role extraction in idp form 2025-10-08 17:49:30 -07:00
miloschwartz
e0996a17ef rename managed nodes 2025-10-08 17:35:08 -07:00
Owen
526307e192 Fix ssl undefined issue 2025-10-08 16:43:40 -07:00
miloschwartz
1b01c4f053 fix idp infinite redirect closes #1540 2025-10-08 14:00:26 -07:00
Owen Schwartz
a184e23f16 Merge pull request #1634 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-f2d0e72ffc
Bump the prod-minor-updates group with 8 updates
2025-10-08 13:57:14 -07:00
Owen Schwartz
06156e0ca6 Merge pull request #1633 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-831eaa71e3
Bump the prod-patch-updates group with 3 updates
2025-10-08 13:56:33 -07:00
Owen
02b1de3266 Make sure siteIds are numbers
Fixes PAN-145
2025-10-08 12:06:48 -07:00
Owen
c5b3d92466 Update lock 2025-10-07 21:11:29 -07:00
miloschwartz
186a78b064 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-10-07 20:33:42 -07:00
miloschwartz
9a808dc139 fix invite flow 2025-10-07 20:32:44 -07:00
dependabot[bot]
977404b8c3 Bump the prod-minor-updates group with 8 updates
Bumps the prod-minor-updates group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.837.0` | `3.901.0` |
| [eslint](https://github.com/eslint/eslint) | `9.35.0` | `9.37.0` |
| [ioredis](https://github.com/luin/ioredis) | `5.6.1` | `5.8.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.544.0` | `0.545.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.1.1` | `19.2.0` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.1.1` | `19.2.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.62.0` | `7.64.0` |
| [winston](https://github.com/winstonjs/winston) | `3.17.0` | `3.18.3` |


Updates `@aws-sdk/client-s3` from 3.837.0 to 3.901.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.901.0/clients/client-s3)

Updates `eslint` from 9.35.0 to 9.37.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.35.0...v9.37.0)

Updates `ioredis` from 5.6.1 to 5.8.1
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.6.1...v5.8.1)

Updates `lucide-react` from 0.544.0 to 0.545.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.545.0/packages/lucide-react)

Updates `react` from 19.1.1 to 19.2.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.0/packages/react)

Updates `react-dom` from 19.1.1 to 19.2.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.0/packages/react-dom)

Updates `react-hook-form` from 7.62.0 to 7.64.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.62.0...v7.64.0)

Updates `winston` from 3.17.0 to 3.18.3
- [Release notes](https://github.com/winstonjs/winston/releases)
- [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md)
- [Commits](https://github.com/winstonjs/winston/compare/v3.17.0...v3.18.3)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.901.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: ioredis
  dependency-version: 5.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.545.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react
  dependency-version: 19.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-dom
  dependency-version: 19.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.64.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: winston
  dependency-version: 3.18.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 01:29:00 +00:00
dependabot[bot]
b00143ce9b Bump the prod-patch-updates group with 3 updates
Bumps the prod-patch-updates group with 3 updates: [next-intl](https://github.com/amannn/next-intl), [nodemailer](https://github.com/nodemailer/nodemailer) and [semver](https://github.com/npm/node-semver).


Updates `next-intl` from 4.3.9 to 4.3.11
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.9...v4.3.11)

Updates `nodemailer` from 7.0.7 to 7.0.9
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.7...v7.0.9)

Updates `semver` from 7.7.2 to 7.7.3
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3)

---
updated-dependencies:
- dependency-name: next-intl
  dependency-version: 4.3.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: nodemailer
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: semver
  dependency-version: 7.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 01:25:17 +00:00
Owen
4435d9a248 Merge branch 'dev' 2025-10-07 15:08:32 -07:00
Owen
7d0303e2be Add postgres pool info to config 2025-10-07 15:06:42 -07:00
Owen Schwartz
a0da9c1129 Merge pull request #1625 from Lokowitz/add-dev-images
Add docker dev image creation workflow for PRs
2025-10-07 12:15:54 -07:00
Owen Schwartz
5e73690570 Merge pull request #1627 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-d783df5103
Bump the prod-patch-updates group with 7 updates
2025-10-06 21:32:14 -07:00
Owen Schwartz
b0409b7d52 Merge pull request #1626 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-75f37cbce1
Bump the dev-minor-updates group with 4 updates
2025-10-06 21:32:02 -07:00
dependabot[bot]
fe474b3989 Bump the prod-patch-updates group with 7 updates
Bumps the prod-patch-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.5.5` | `0.5.6` |
| [@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render) | `1.3.1` | `1.3.2` |
| [@simplewebauthn/browser](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/browser) | `13.2.0` | `13.2.2` |
| [@simplewebauthn/server](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/server) | `13.2.1` | `13.2.2` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.6` | `7.0.7` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node) | `5.9.2` | `5.9.3` |
| [resend](https://github.com/resendlabs/resend-node) | `6.1.1` | `6.1.2` |


Updates `@react-email/components` from 0.5.5 to 0.5.6
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.5.6/packages/components)

Updates `@react-email/render` from 1.3.1 to 1.3.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/render/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/render@1.3.2/packages/render)

Updates `@simplewebauthn/browser` from 13.2.0 to 13.2.2
- [Release notes](https://github.com/MasterKale/SimpleWebAuthn/releases)
- [Changelog](https://github.com/MasterKale/SimpleWebAuthn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MasterKale/SimpleWebAuthn/commits/v13.2.2/packages/browser)

Updates `@simplewebauthn/server` from 13.2.1 to 13.2.2
- [Release notes](https://github.com/MasterKale/SimpleWebAuthn/releases)
- [Changelog](https://github.com/MasterKale/SimpleWebAuthn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MasterKale/SimpleWebAuthn/commits/v13.2.2/packages/server)

Updates `nodemailer` from 7.0.6 to 7.0.7
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.6...v7.0.7)

Updates `posthog-node` from 5.9.2 to 5.9.3
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.9.3/packages/node)

Updates `resend` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/resendlabs/resend-node/releases)
- [Commits](https://github.com/resendlabs/resend-node/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@react-email/render"
  dependency-version: 1.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@simplewebauthn/browser"
  dependency-version: 13.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@simplewebauthn/server"
  dependency-version: 13.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: nodemailer
  dependency-version: 7.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: posthog-node
  dependency-version: 5.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: resend
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 01:28:25 +00:00
dependabot[bot]
5154d5d3ee Bump the dev-minor-updates group with 4 updates
Bumps the dev-minor-updates group with 4 updates: [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@react-email/preview-server` from 4.2.12 to 4.3.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.3.0/packages/preview-server)

Updates `@types/node` from 24.6.2 to 24.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `react-email` from 4.2.12 to 4.3.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.3.0/packages/react-email)

Updates `typescript-eslint` from 8.45.0 to 8.46.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: "@types/node"
  dependency-version: 24.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: react-email
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.46.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 01:23:26 +00:00
Marvin
62df92f63a Update dev-image.yml 2025-10-06 21:37:22 +02:00
Marvin
e2534af40e Create dev-image.yml 2025-10-06 20:42:24 +02:00
Owen
b627e391ac Add tsc test 2025-10-06 11:29:34 -07:00
Owen
40a3eac704 Adjust tag match to exclude s. 2025-10-06 11:28:26 -07:00
Owen Schwartz
2ee3f10e02 Merge pull request #1522 from jln-brtn/feature-header-authentication
Feature HTTP Basic Authentication support  #226 #937
2025-10-06 11:14:46 -07:00
Owen
5a3bf2f758 Fix import issue 2025-10-06 11:06:41 -07:00
Owen
e121dd0d1d Add to blueprints 2025-10-06 11:02:08 -07:00
Owen
2c46a37a53 Include in hybrid 2025-10-06 10:31:31 -07:00
Owen
23f05d7f4e Add translations to EN 2025-10-06 10:20:01 -07:00
Owen
6105eea7a9 Fix rebase 2025-10-06 10:16:29 -07:00
Owen
850e9a734a Adding HTTP Header Authentication 2025-10-06 10:14:02 -07:00
dependabot[bot]
2d30b155f2 Bump @types/node from 24.6.1 to 24.6.2 in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.6.1 to 24.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:55:35 -07:00
dependabot[bot]
1333e21553 Bump @react-email/preview-server in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server).


Updates `@react-email/preview-server` from 4.1.0 to 4.2.12
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.2.12/packages/preview-server)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.2.12
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 09:55:35 -07:00
Owen
4c412528f5 Clean up and copy to getTraefikConfig 2025-10-06 09:55:35 -07:00
OddMagnet
a8fce47ba0 Update traefik dynamic config to also use resource name 2025-10-06 09:55:35 -07:00
Owen Schwartz
cb7c57fd03 Merge pull request #1621 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-5e2570e910
Bump @types/node from 24.6.1 to 24.6.2 in the dev-patch-updates group
2025-10-06 09:52:18 -07:00
Owen Schwartz
494d0f7c14 Merge pull request #1622 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-44a7c5045b
Bump @react-email/preview-server from 4.1.0 to 4.2.12 in the dev-minor-updates group
2025-10-06 09:52:07 -07:00
Owen Schwartz
a4e480e02b Merge pull request #1539 from OddMagnet/feature-add-resource-name-to-resource-id
[Feature] Update traefik dynamic config to also use resource name
2025-10-06 09:51:22 -07:00
Owen
cd285cc019 Clean up and copy to getTraefikConfig 2025-10-06 09:50:18 -07:00
OddMagnet
9e8e00d4bb Update traefik dynamic config to also use resource name 2025-10-06 17:33:08 +02:00
dependabot[bot]
389834f735 Bump @react-email/preview-server in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@react-email/preview-server](https://github.com/resend/react-email/tree/HEAD/packages/preview-server).


Updates `@react-email/preview-server` from 4.1.0 to 4.2.12
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/preview-server/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/preview-server@4.2.12/packages/preview-server)

---
updated-dependencies:
- dependency-name: "@react-email/preview-server"
  dependency-version: 4.2.12
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 01:26:52 +00:00
dependabot[bot]
b14ddc07fb Bump @types/node from 24.6.1 to 24.6.2 in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 24.6.1 to 24.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 01:24:59 +00:00
Owen Schwartz
4447fb8202 Merge pull request #1459 from SigmaSquadron/revert-1281-push-nymutulytrsq
Revert "fix: change default integration_api to 3004"
2025-10-05 17:41:15 -07:00
Owen Schwartz
1c9c4b1802 Merge pull request #1619 from fosrl/crowdin_dev
New Crowdin updates
2025-10-05 17:19:23 -07:00
Owen Schwartz
19e15f4ef5 New translations en-us.json (Chinese Simplified) 2025-10-05 17:16:34 -07:00
Owen Schwartz
c2c29e2cd2 New translations en-us.json (Portuguese) 2025-10-05 17:16:31 -07:00
Owen Schwartz
7b33dc591d New translations en-us.json (Dutch) 2025-10-05 17:16:29 -07:00
Owen Schwartz
a95f2e76f4 New translations en-us.json (Italian) 2025-10-05 17:16:27 -07:00
Owen Schwartz
979860a951 New translations en-us.json (Czech) 2025-10-05 17:16:25 -07:00
Owen Schwartz
9e9a81d9e8 New translations en-us.json (Bulgarian) 2025-10-05 17:16:24 -07:00
Owen Schwartz
8f09561114 Merge pull request #1592 from Pallavikumarimdb/ordered-priority-in-path-routing-rules
Add ordered priority for path-based routing rules
2025-10-05 17:10:26 -07:00
miloschwartz
b167d94ead update cors to check array 2025-10-05 16:50:46 -07:00
Owen
e4c0a157e3 Add to oss traefik config and fix create/update 2025-10-05 15:46:46 -07:00
miloschwartz
956869ab58 add strip duplicate sesion middleware 2025-10-05 15:41:05 -07:00
Owen
e5f4da9a99 Fix lint errors 2025-10-05 15:22:54 -07:00
miloschwartz
9649d9a46b fix redirect issue in firefox and safari 2025-10-05 14:59:46 -07:00
Pallavi Kumari
22477b7e81 add removed rewrite schema 2025-10-06 02:16:06 +05:30
Pallavi Kumari
b6c76a2164 add priority type 2025-10-06 02:08:41 +05:30
Pallavi Kumari
043834274d fix priority inside blueprints 2025-10-06 02:08:41 +05:30
Owen
1e4ca69c89 priority add for traefik config setup 2025-10-06 02:08:41 +05:30
Owen
ff2bcfb0e7 backend setup 2025-10-06 02:08:41 +05:30
Owen
b47fc9f901 frontend for ordered priority 2025-10-06 02:08:41 +05:30
Owen Schwartz
165f4023d0 Merge pull request #1617 from fosrl/crowdin_dev
New Crowdin updates
2025-10-05 10:59:34 -07:00
Owen
d51053ce86 Merge branch 'main' into dev 2025-10-05 10:57:15 -07:00
Owen Schwartz
229872589c Merge pull request #1608 from iconoclasthero/patch-logger-docker
Patch logger for ISO8601 TZ offsets and Docker build fix
2025-10-05 10:52:51 -07:00
Owen
e4c47c46a6 Restore npm ci and add tzdata 2025-10-05 10:48:34 -07:00
Owen
84fe2fb92e Remove domains from price 2025-10-05 10:36:59 -07:00
miloschwartz
076912c648 fix hostname in set cookie 2025-10-05 10:26:14 -07:00
Owen Schwartz
033653e234 New translations en-us.json (Spanish) 2025-10-04 22:17:09 -07:00
Owen Schwartz
0624087373 New translations en-us.json (Norwegian Bokmal) 2025-10-04 22:17:08 -07:00
Owen Schwartz
346d886f8a New translations en-us.json (Chinese Simplified) 2025-10-04 22:17:06 -07:00
Owen Schwartz
67ac01b31a New translations en-us.json (Turkish) 2025-10-04 22:17:05 -07:00
Owen Schwartz
87f1cf6730 New translations en-us.json (Russian) 2025-10-04 22:17:04 -07:00
Owen Schwartz
0f46651500 New translations en-us.json (Portuguese) 2025-10-04 22:17:03 -07:00
Owen Schwartz
65bf055e0f New translations en-us.json (Polish) 2025-10-04 22:17:01 -07:00
Owen Schwartz
4c995f786b New translations en-us.json (Dutch) 2025-10-04 22:17:00 -07:00
Owen Schwartz
4853c8c872 New translations en-us.json (Korean) 2025-10-04 22:16:59 -07:00
Owen Schwartz
170da08001 New translations en-us.json (Italian) 2025-10-04 22:16:58 -07:00
Owen Schwartz
a39a133ee5 New translations en-us.json (German) 2025-10-04 22:16:57 -07:00
Owen Schwartz
1251b1e870 New translations en-us.json (Czech) 2025-10-04 22:16:56 -07:00
Owen Schwartz
418120196f New translations en-us.json (Bulgarian) 2025-10-04 22:16:55 -07:00
Owen Schwartz
759661420e New translations en-us.json (French) 2025-10-04 22:16:53 -07:00
Owen
bb28f856da Merge branch 'main' into dev 2025-10-04 21:32:50 -07:00
Owen Schwartz
f90e6bef9e New translations en-us.json (Spanish) 2025-10-04 21:10:27 -07:00
Owen Schwartz
cabaa2e6d6 New translations en-us.json (Norwegian Bokmal) 2025-10-04 21:10:26 -07:00
Owen Schwartz
c8bddd4289 New translations en-us.json (Chinese Simplified) 2025-10-04 21:10:25 -07:00
Owen Schwartz
71ba980757 New translations en-us.json (Turkish) 2025-10-04 21:10:24 -07:00
Owen Schwartz
38c3c49778 New translations en-us.json (Russian) 2025-10-04 21:10:23 -07:00
Owen Schwartz
ab7ac9cb60 New translations en-us.json (Portuguese) 2025-10-04 21:10:22 -07:00
Owen Schwartz
e4787924e7 New translations en-us.json (Polish) 2025-10-04 21:10:21 -07:00
Owen Schwartz
3385a92b0f New translations en-us.json (Dutch) 2025-10-04 21:10:20 -07:00
Owen Schwartz
e73e6956a5 New translations en-us.json (Korean) 2025-10-04 21:10:19 -07:00
Owen Schwartz
024eb2b157 New translations en-us.json (Italian) 2025-10-04 21:10:18 -07:00
Owen Schwartz
ccff0592ca New translations en-us.json (German) 2025-10-04 21:10:17 -07:00
Owen Schwartz
942f7c2bc9 New translations en-us.json (Czech) 2025-10-04 21:10:16 -07:00
Owen Schwartz
b3a6cd0660 New translations en-us.json (Bulgarian) 2025-10-04 21:10:15 -07:00
Owen Schwartz
c5569fccf1 New translations en-us.json (French) 2025-10-04 21:10:14 -07:00
Owen
cc7c443145 Update test 2025-10-04 21:07:59 -07:00
Owen
8d7e5baf9d Update ignore 2025-10-04 21:02:30 -07:00
miloschwartz
ed64d4b5ae update gitignore 2025-10-04 21:01:15 -07:00
Owen
8fe42bc6aa Update gitignore 2025-10-04 20:57:32 -07:00
Owen
a67aa3852d Remove config 2025-10-04 20:57:11 -07:00
Owen
c2c907852d Chungus 2025-10-04 18:36:44 -07:00
Owen Schwartz
3123f858bb Merge pull request #1611 from fosrl/crowdin_dev
New Crowdin updates
2025-10-04 16:53:42 -07:00
Owen Schwartz
6a18369891 New translations en-us.json (Spanish) 2025-10-03 19:07:44 -07:00
Owen Schwartz
0f4ef40600 New translations en-us.json (Norwegian Bokmal) 2025-10-03 19:07:43 -07:00
Owen Schwartz
42a7fb949a New translations en-us.json (Chinese Simplified) 2025-10-03 19:07:42 -07:00
Owen Schwartz
bbfa6e9c82 New translations en-us.json (Turkish) 2025-10-03 19:07:40 -07:00
Owen Schwartz
0d8ae0d615 New translations en-us.json (Russian) 2025-10-03 19:07:39 -07:00
Owen Schwartz
7bbbc88c34 New translations en-us.json (Portuguese) 2025-10-03 19:07:38 -07:00
Owen Schwartz
e2ad197d7e New translations en-us.json (Polish) 2025-10-03 19:07:37 -07:00
Owen Schwartz
ca8f52d304 New translations en-us.json (Dutch) 2025-10-03 19:07:35 -07:00
Owen Schwartz
7395a64b26 New translations en-us.json (Korean) 2025-10-03 19:07:34 -07:00
Owen Schwartz
4dd672a590 New translations en-us.json (Italian) 2025-10-03 19:07:33 -07:00
Owen Schwartz
cff3f739db New translations en-us.json (German) 2025-10-03 19:07:32 -07:00
Owen Schwartz
7fb35cfebb New translations en-us.json (Czech) 2025-10-03 19:07:30 -07:00
Owen Schwartz
ddfda31924 New translations en-us.json (Bulgarian) 2025-10-03 19:07:29 -07:00
Owen Schwartz
353e085b0e New translations en-us.json (French) 2025-10-03 19:07:28 -07:00
Owen Schwartz
989b548ef9 Merge pull request #1580 from Pallavikumarimdb/feature/path-rewriting-rules
Rules for rewriting requests to another path
2025-10-03 18:16:56 -07:00
Owen Schwartz
8f60e7e200 Merge pull request #1597 from fosrl/crowdin_dev
New Crowdin updates
2025-10-03 17:59:00 -07:00
Owen Schwartz
ec74525fde Merge pull request #1605 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-f04ca2729e
Bump the prod-patch-updates group across 1 directory with 5 updates
2025-10-03 17:51:16 -07:00
Owen Schwartz
a317c50737 Merge pull request #1602 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-bfc23b1742
Bump the dev-patch-updates group across 1 directory with 4 updates
2025-10-03 17:51:03 -07:00
Owen Schwartz
c62b46268a Merge pull request #1610 from Pallavikumarimdb/fix/QR-code-issue-on-dark-themes
Set the QR code background to white in dark mode.
2025-10-03 17:50:34 -07:00
Pallavi Kumari
42ef075d4f white background 2025-10-03 20:42:58 +05:30
iconoclast hero
f52605289b Patch logger for ISO8601 TZ offsets and fix Docker build
- server/logger.ts: timestamps now use local TZ offset instead of Z
- Dockerfile: replaced 'npm ci --omit=dev' with 'npm install --omit=dev' to fix Alpine build failure
- References discussion: https://github.com/orgs/fosrl/discussions/1025
- Note: timestamps default to +00:00 (UTC) unless the user sets environment: TZ=<timezone> in docker-compose.yaml

Optional future improvement: include tzdata in the container for shell/date consistency.
2025-10-03 09:33:43 -04:00
iconoclast hero
68e0911866 Patch logger for ISO8601 TZ offsets and fix Docker build
- server/logger.ts: timestamps now use local TZ offset instead of Z
- Dockerfile: replaced 'npm ci --omit=dev' with 'npm install --omit=dev' to fix Alpine build failure
- References discussion: https://github.com/orgs/fosrl/discussions/1025
- Note: timestamps default to +00:00 (UTC) unless the user sets environment: TZ=<timezone> in docker-compose.yaml

Optional future improvement: include tzdata in the container for shell/date consistency.
2025-10-03 09:25:45 -04:00
dependabot[bot]
756fcbb590 Bump the prod-patch-updates group across 1 directory with 5 updates
Bumps the prod-patch-updates group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.5.3` | `0.5.5` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.44.5` | `0.44.6` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.5.3` | `15.5.4` |
| [next](https://github.com/vercel/next.js) | `15.5.3` | `15.5.4` |
| [npm](https://github.com/npm/cli) | `11.6.0` | `11.6.1` |



Updates `@react-email/components` from 0.5.3 to 0.5.5
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.5.5/packages/components)

Updates `drizzle-orm` from 0.44.5 to 0.44.6
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.44.5...0.44.6)

Updates `eslint-config-next` from 15.5.3 to 15.5.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.5.4/packages/eslint-config-next)

Updates `next` from 15.5.3 to 15.5.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.5.3...v15.5.4)

Updates `npm` from 11.6.0 to 11.6.1
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.6.0...v11.6.1)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: eslint-config-next
  dependency-version: 15.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next
  dependency-version: 15.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: npm
  dependency-version: 11.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-03 01:21:48 +00:00
dependabot[bot]
a49d900951 Bump the dev-patch-updates group across 1 directory with 4 updates
Bumps the dev-patch-updates group with 3 updates in the / directory: [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript](https://github.com/microsoft/TypeScript).


Updates `@tailwindcss/postcss` from 4.1.13 to 4.1.14
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.14/packages/@tailwindcss-postcss)

Updates `@types/node` from 24.6.0 to 24.6.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `tailwindcss` from 4.1.13 to 4.1.14
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.14/packages/tailwindcss)

Updates `typescript` from 5.9.2 to 5.9.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.6.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript
  dependency-version: 5.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-02 01:18:15 +00:00
Owen Schwartz
38f212d632 New translations en-us.json (Dutch) 2025-10-01 14:02:59 -07:00
Owen Schwartz
204fdfd233 New translations en-us.json (Dutch) 2025-10-01 12:45:15 -07:00
Owen
b5e04e8111 Add exit node name 2025-10-01 09:49:29 -07:00
Owen Schwartz
21fc829766 New translations en-us.json (Norwegian Bokmal) 2025-10-01 01:02:51 -07:00
Owen Schwartz
39851c3412 New translations en-us.json (Chinese Simplified) 2025-10-01 01:02:50 -07:00
Owen Schwartz
21811465b6 New translations en-us.json (Turkish) 2025-10-01 01:02:48 -07:00
Owen Schwartz
7574726815 New translations en-us.json (Russian) 2025-10-01 01:02:47 -07:00
Owen Schwartz
236e0f9ab6 New translations en-us.json (Portuguese) 2025-10-01 01:02:46 -07:00
Owen Schwartz
8e95f0b73f New translations en-us.json (Polish) 2025-10-01 01:02:44 -07:00
Owen Schwartz
bed45a5fbd New translations en-us.json (Dutch) 2025-10-01 01:02:43 -07:00
Owen Schwartz
c50c2e2b01 New translations en-us.json (Korean) 2025-10-01 01:02:42 -07:00
Owen Schwartz
adf982fcd6 New translations en-us.json (Italian) 2025-10-01 01:02:41 -07:00
Owen Schwartz
9b4103be75 New translations en-us.json (German) 2025-10-01 01:02:39 -07:00
Owen Schwartz
672eec0c33 New translations en-us.json (Czech) 2025-10-01 01:02:38 -07:00
Owen Schwartz
0d8c06595e New translations en-us.json (Bulgarian) 2025-10-01 01:02:37 -07:00
Owen Schwartz
a5a7ca5fcc New translations en-us.json (French) 2025-10-01 01:02:35 -07:00
Pallavi Kumari
8767d20c47 add missing path / validation 2025-10-01 13:06:09 +05:30
Owen
4cbf3fffb1 Quiet up logs 2025-10-01 13:06:09 +05:30
Owen
51fad19d0d Sanitize all keys 2025-10-01 13:06:09 +05:30
Pallavi Kumari
664aa6ed2a update blueprints 2025-10-01 13:06:09 +05:30
Pallavi Kumari
574cd2a754 make rewrite data null if no match added 2025-10-01 13:06:09 +05:30
Pallavi Kumari
1b34ee7369 match and rewrite path ui improve for create resource 2025-10-01 13:06:09 +05:30
Pallavi Kumari
7b2f1dd4c6 button fix 2025-10-01 13:06:09 +05:30
Pallavi Kumari
a97b6efe9c redesign path match and rewrite modal 2025-10-01 13:06:09 +05:30
Pallavi Kumari
3722b67724 preserves the rest of the path after the matched prefix 2025-10-01 13:06:09 +05:30
Pallavi Kumari
218a5ec9e4 fix traefik config file 2025-10-01 13:06:09 +05:30
Pallavi Kumari
90d3ac07a9 add rewrite path to create resource page 2025-10-01 13:06:09 +05:30
Pallavi Kumari
149a4b916b basic setup for rewriting requests to another path 2025-10-01 13:06:08 +05:30
Owen
70914e836f Add headers description 2025-09-30 21:46:44 -07:00
Owen
a2dae8aa13 Fix updating sites on exit nodes 2025-09-30 17:34:26 -07:00
Owen
b6ea0808e4 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-09-30 14:00:27 -07:00
Owen
089e43e1ce Update migration 2025-09-30 13:59:12 -07:00
Owen Schwartz
42936ab8dc Merge pull request #1594 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-cccdb78c39
Bump the dev-patch-updates group across 1 directory with 2 updates
2025-09-30 13:50:45 -07:00
dependabot[bot]
411fa9345f Bump the dev-patch-updates group across 1 directory with 2 updates
Bumps the dev-patch-updates group with 2 updates in the / directory: [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/nodemailer` from 7.0.1 to 7.0.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer)

Updates `@types/react` from 19.1.15 to 19.1.16
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/nodemailer"
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-30 19:25:14 +00:00
Owen Schwartz
336e118096 Merge pull request #1591 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-308b41d39d
Bump the dev-minor-updates group with 2 updates
2025-09-30 12:23:17 -07:00
dependabot[bot]
d1707801bf Bump the dev-minor-updates group with 2 updates
Bumps the dev-minor-updates group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@types/node` from 24.5.2 to 24.6.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `typescript-eslint` from 8.44.1 to 8.45.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.45.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.45.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-30 03:40:16 +00:00
miloschwartz
71bcf25718 move table unique constraint 2025-09-29 17:07:38 -07:00
Owen
288da0ef05 Merge branch 'main' into dev 2025-09-29 16:57:06 -07:00
miloschwartz
fec29eb349 update templates 2025-09-29 16:39:36 -07:00
miloschwartz
032d48e394 add period to cookie 2025-09-29 16:12:17 -07:00
Owen
a433d97573 Make proxy port optional
Fixes #1585
2025-09-29 14:21:23 -07:00
Owen Schwartz
6bd571f1b3 Merge pull request #1583 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-509b2f8484
Bump the dev-patch-updates group with 3 updates
2025-09-29 11:50:23 -07:00
Owen Schwartz
1dd89601ad Merge pull request #1584 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-a0244f92d6
Bump @dotenvx/dotenvx from 1.49.1 to 1.51.0 in the dev-minor-updates group
2025-09-29 11:50:07 -07:00
Owen Schwartz
a7cf359672 Merge pull request #1589 from fosrl/revert-1588-patch-1
Revert "Update de-DE.json: Server-Administrator->Administration"
2025-09-29 11:38:14 -07:00
Owen Schwartz
baa98952fa Revert "Update de-DE.json: Server-Administrator->Administration" 2025-09-29 11:38:04 -07:00
Owen Schwartz
55afbf4db5 Merge pull request #1588 from nicolaus-hee/patch-1
Update de-DE.json: Server-Administrator->Administration
2025-09-29 10:46:27 -07:00
nicolaus-hee
dca0fb327b Update de-DE.json: Server-Administrator->Administration
Menu item "Server Admin" --> "Server-Administation" the activity / section not "Server-Administratior" (the person)
2025-09-29 19:41:24 +02:00
Owen
e34a31941d Add org settings column 2025-09-29 09:54:17 -07:00
Milo Schwartz
dbba5002d9 Merge pull request #1586 from Pallavikumarimdb/fix/resource-auth-param-handling
Fix resource auth API call to use resourceGuid instead of resourceid
2025-09-29 12:53:41 -04:00
Pallavi Kumari
4dd9e34a11 use resourceGuid instead of resourceid 2025-09-29 14:46:59 +05:30
miloschwartz
a30222a13e add templates 2025-09-28 22:18:18 -07:00
miloschwartz
5797144083 add favicon back 2025-09-28 20:40:27 -07:00
Owen
db513b43e7 Make postgres connection string also a ENV var 2025-09-28 20:34:27 -07:00
dependabot[bot]
d387fa3bfb Bump @dotenvx/dotenvx in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx).


Updates `@dotenvx/dotenvx` from 1.49.1 to 1.51.0
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.49.1...v1.51.0)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 01:21:37 +00:00
dependabot[bot]
1bff9f550e Bump the dev-patch-updates group with 3 updates
Bumps the dev-patch-updates group with 3 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react), [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) and [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email).


Updates `@types/react` from 19.1.13 to 19.1.15
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `drizzle-kit` from 0.31.4 to 0.31.5
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.4...drizzle-kit@0.31.5)

Updates `react-email` from 4.2.11 to 4.2.12
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.2.12/packages/react-email)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: drizzle-kit
  dependency-version: 0.31.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.2.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 01:20:51 +00:00
Owen
0167b30bf1 Fixes PAN-122 2025-09-28 18:18:03 -07:00
Owen
bf993d04f1 Fix FOU-106 2025-09-28 18:08:10 -07:00
miloschwartz
be2b2c6c77 add robots.txt 2025-09-28 16:43:42 -07:00
miloschwartz
8851156f23 use resource guid in url closes #1517 2025-09-28 16:22:26 -07:00
miloschwartz
1a13694843 gray out time selector in share links if never expire is checked 2025-09-28 12:23:30 -07:00
miloschwartz
3872831bd7 clean up sidebar 2025-09-28 12:21:15 -07:00
Owen
ef4ce115ff Merge branch 'main' into dev 2025-09-28 11:39:38 -07:00
Owen
516b300731 Use olm install script 2025-09-28 11:39:18 -07:00
Owen
88d97dd49b Fix migration 2025-09-28 11:12:41 -07:00
Owen Schwartz
be9494dd54 Merge pull request #1519 from Lokowitz/webauth
Fix upgrade @simplewebauthn/server from 9.0.3 to 13.2.1
2025-09-28 10:47:06 -07:00
Owen
e43fc59634 Use double quotes 2025-09-28 10:42:29 -07:00
Owen
4523a8df0f Bump build 2025-09-28 10:36:03 -07:00
Owen
2c8082451f Add where clause to sql migrations 2025-09-28 10:32:46 -07:00
Owen Schwartz
7ab498702c Merge pull request #1550 from Shamilius/add-minor-image-tags
Add minor version tags to Docker build commands in Makefile
2025-09-28 10:13:20 -07:00
sh.nurmagomedov
a06e8c8f83 Add major version tags to Docker build commands in Makefile 2025-09-28 12:17:29 +03:00
Owen
1a01e8d53a Update readme crowdin 2025-09-27 16:59:41 -07:00
Owen
5ce60cf1cd Merge branch 'main' of github.com:fosrl/pangolin 2025-09-27 16:59:29 -07:00
Owen Schwartz
de1a6025d0 Merge pull request #1572 from vmfventura/fix-portuguese-typo
fix portuguese typo
2025-09-27 16:20:10 -07:00
Vitor Ventura
ca6ae53fe6 fix portuguese typo 2025-09-27 23:26:47 +01:00
sh.nurmagomedov
4eff52ab62 Add minor version tags to Docker build commands in Makefile 2025-09-27 10:54:14 +03:00
Owen Schwartz
e5c5780547 Bump tar-fs from 2.1.3 to 2.1.4 (#1549)
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 13:53:18 -07:00
dependabot[bot]
f348c9daa7 Bump tar-fs from 2.1.3 to 2.1.4
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-26 20:23:01 +00:00
Owen Schwartz
e1dd29dd0b Merge pull request #1548 from fosrl/crowdin_dev
New Crowdin updates
2025-09-26 10:39:46 -07:00
Owen Schwartz
558f302342 New translations en-us.json (French) 2025-09-26 10:30:06 -07:00
Owen Schwartz
5fee1c3ebd New translations en-us.json (Norwegian Bokmal) 2025-09-26 10:30:05 -07:00
Owen Schwartz
248debb7c4 New translations en-us.json (Chinese Simplified) 2025-09-26 10:30:04 -07:00
Owen Schwartz
8504fd8d9d New translations en-us.json (Turkish) 2025-09-26 10:30:02 -07:00
Owen Schwartz
e360a5323d New translations en-us.json (Russian) 2025-09-26 10:30:01 -07:00
Owen Schwartz
1ad5eb010a New translations en-us.json (Portuguese) 2025-09-26 10:30:00 -07:00
Owen Schwartz
ca7f1e5db8 New translations en-us.json (Polish) 2025-09-26 10:29:58 -07:00
Owen Schwartz
2981e35c75 New translations en-us.json (Dutch) 2025-09-26 10:29:57 -07:00
Owen Schwartz
f3e8677ae4 New translations en-us.json (Korean) 2025-09-26 10:29:56 -07:00
Owen Schwartz
d209c8af9d New translations en-us.json (Italian) 2025-09-26 10:29:55 -07:00
Owen Schwartz
26b2233168 New translations en-us.json (German) 2025-09-26 10:29:54 -07:00
Owen Schwartz
b2669aaa34 New translations en-us.json (Czech) 2025-09-26 10:29:52 -07:00
Owen Schwartz
1438eef62b New translations en-us.json (Bulgarian) 2025-09-26 10:29:51 -07:00
Owen Schwartz
a92f7dbb7c New translations en-us.json (Spanish) 2025-09-26 10:29:50 -07:00
miloschwartz
4710bab697 pull hostname from dashboard url in crowdsec install 2025-09-26 09:57:35 -07:00
dependabot[bot]
52aa27025d Bump the dev-patch-updates group across 1 directory with 2 updates (#1543)
Bumps the dev-patch-updates group with 2 updates in the / directory: [tsx](https://github.com/privatenumber/tsx) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `tsx` from 4.20.5 to 4.20.6
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.5...v4.20.6)

Updates `typescript-eslint` from 8.44.0 to 8.44.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: tsx
  dependency-version: 4.20.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript-eslint
  dependency-version: 8.44.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 09:15:42 -07:00
Owen Schwartz
8e544c056f Merge pull request #1542 from fosrl/crowdin_dev
New Crowdin updates
2025-09-26 09:12:28 -07:00
Owen Schwartz
3c2a8b9031 Merge pull request #1545 from Pallavikumarimdb/fix/view-settings-in-manage-API-keys
Link to View Settings in API Keys
2025-09-26 09:08:00 -07:00
Pallavi Kumari
fff4883bca Link to View Settings in API Keys 2025-09-26 18:25:19 +05:30
Owen Schwartz
dc234beab1 New translations en-us.json (French) 2025-09-25 17:15:35 -07:00
Owen Schwartz
66d310fcca New translations en-us.json (Norwegian Bokmal) 2025-09-25 17:15:34 -07:00
Owen Schwartz
702b5eb3dd New translations en-us.json (Chinese Simplified) 2025-09-25 17:15:32 -07:00
Owen Schwartz
06477b6e7f New translations en-us.json (Turkish) 2025-09-25 17:15:31 -07:00
Owen Schwartz
fc76899384 New translations en-us.json (Russian) 2025-09-25 17:15:30 -07:00
Owen Schwartz
97102b9be9 New translations en-us.json (Portuguese) 2025-09-25 17:15:28 -07:00
Owen Schwartz
1c0dfa830e New translations en-us.json (Polish) 2025-09-25 17:15:27 -07:00
Owen Schwartz
53bfaac0c0 New translations en-us.json (Dutch) 2025-09-25 17:15:26 -07:00
Owen Schwartz
30790fdcb6 New translations en-us.json (Korean) 2025-09-25 17:15:24 -07:00
Owen Schwartz
b8b256da2e New translations en-us.json (Italian) 2025-09-25 17:15:23 -07:00
Owen Schwartz
0472dc1b25 New translations en-us.json (German) 2025-09-25 17:15:22 -07:00
Owen Schwartz
1ec3e53e11 New translations en-us.json (Czech) 2025-09-25 17:15:20 -07:00
Owen Schwartz
9f66e09e44 New translations en-us.json (Bulgarian) 2025-09-25 17:15:19 -07:00
Owen Schwartz
a71b0a8924 New translations en-us.json (Spanish) 2025-09-25 17:15:18 -07:00
miloschwartz
e555d3c496 add server action proxies 2025-09-25 17:14:36 -07:00
Lokowitz
df92e41384 added migration for simplewebauthn 2025-09-25 19:55:36 +00:00
Owen
d10fdac670 Merge branch 'dev' 2025-09-23 14:36:46 -07:00
Owen Schwartz
b63bffa524 Merge pull request #1529 from Tim5965/patch-5
Update nl-NL.json
2025-09-23 16:43:47 -04:00
Tim
957cfdd5d7 Update nl-NL.json
Minor changes (probably missed)
2025-09-23 21:42:48 +02:00
Lokowitz
1352316492 update securityKey 2025-09-23 17:44:34 +00:00
Lokowitz
73cd82081a fix securitykey 2025-09-23 16:51:08 +00:00
Marvin
812820472f Merge branch 'fosrl:main' into webauth 2025-09-23 17:32:53 +02:00
Owen
21f0cd6e3f Fix #1527 2025-09-23 09:30:18 -04:00
Owen Schwartz
b2ee8ef7de Merge pull request #1525 from Lokowitz/Resolver
Fix upgrade @hookform/resolvers from 4.1.3 to 5.2.2
2025-09-23 09:19:08 -04:00
Marvin
1e066cbabd fix components 2025-09-22 20:22:31 +00:00
Marvin
4cc38d44e0 Merge branch 'Resolver' of https://github.com/Lokowitz/pangolin into Resolver 2025-09-22 20:10:21 +00:00
Marvin
dcf7393259 update resolver 2025-09-22 20:06:55 +00:00
Marvin
bab070b09c page.tsx aktualisieren 2025-09-22 17:34:52 +02:00
Marvin
2bd4ad5770 page.tsx aktualisieren 2025-09-22 17:20:32 +02:00
Marvin
61ecebf911 bbbv 2025-09-22 15:13:29 +00:00
Marvin
33c8663a5b package.json aktualisieren 2025-09-22 17:04:30 +02:00
Marvin
76da2ee324 cleanup 2025-09-22 12:19:35 +00:00
Marvin
31896c9be9 cleanup 2025-09-22 12:12:46 +00:00
Marvin
f61d722aee Merge branch 'fosrl:main' into webauth 2025-09-22 12:36:06 +02:00
Owen
1f9f3fdede Merge branch 'dev' 2025-09-21 22:25:09 -04:00
Owen
a778109214 Fix using wrong protocol when creating resource 2025-09-21 22:25:05 -04:00
Owen
cb7fa9375b Make sure to process headers correctly in blueprint 2025-09-21 22:25:05 -04:00
Owen
515ecb09e7 Update url and remove example token 2025-09-21 22:25:04 -04:00
Owen
a12a620697 Fix using wrong protocol when creating resource 2025-09-21 22:24:54 -04:00
Owen
0c3b2bc2f5 Make sure to process headers correctly in blueprint 2025-09-21 22:24:53 -04:00
Owen
78ba27dc63 Update url and remove example token 2025-09-21 22:24:53 -04:00
Owen Schwartz
dc20b863ed Merge pull request #1512 from fosrl/dev
1.10.2
2025-09-21 22:24:29 -04:00
Owen Schwartz
c9a211d5cf Merge pull request #1505 from fosrl/crowdin_dev
New Crowdin updates
2025-09-21 21:01:25 -04:00
Owen
95f94cffd2 Fix lint 2025-09-21 20:50:01 -04:00
Owen
0da95cbdb8 Version correctly 2025-09-21 20:48:13 -04:00
Owen
dadd1e3101 Add migration to manager 2025-09-21 16:44:08 -04:00
Owen
d523ae3ffa Fix input overwriting value 2025-09-21 16:39:40 -04:00
Owen
9a41cac6e1 Remove port checks 2025-09-21 16:16:41 -04:00
Owen
5d3c5ab7cc Store headers as json 2025-09-21 15:49:50 -04:00
Marvin
08c930e6cf update webauthen 2025-09-21 18:32:18 +00:00
Owen
e94ded920b Fix #1501 2025-09-21 11:42:51 -04:00
Owen Schwartz
c882fbd59a New translations en-us.json (German) 2025-09-20 09:51:23 -04:00
Owen
46b50a042e Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-09-18 21:52:56 -04:00
Owen
fda9e95786 Add header for host all the time 2025-09-18 21:52:02 -04:00
Milo Schwartz
ea1ad23bff Merge pull request #1497 from fosrl/dev
Dev
2025-09-18 16:22:02 -04:00
miloschwartz
7ffc5e0212 fix 1.10.1 migration script 2025-09-18 16:19:23 -04:00
Owen Schwartz
acba9444f4 Merge pull request #1495 from Tim5965/patch-3
Update nl-NL.json
2025-09-18 15:06:44 -04:00
Tim
f7e3671801 Update nl-NL.json
I think the file was accidentally reverted to the version that contained errors. The errors that were in that version have been updated again.
2025-09-18 21:04:48 +02:00
miloschwartz
a1b2e36a5d fix installer 2025-09-18 11:55:01 -04:00
Owen Schwartz
44e96942b3 Merge pull request #1484 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-2c7447d29a
Bump the dev-patch-updates group with 2 updates
2025-09-18 11:52:37 -04:00
Owen Schwartz
f2efa760ff Merge pull request #1488 from cku-heise/patch-1
Update de-DE.json
2025-09-18 11:52:18 -04:00
cku-heise
256df9042b Update de-DE.json
"Spielpfad" is literal, but wrong translation (not a word in German). "Unterverzeichnis" would be the best approximation of the UI label here.
2025-09-18 10:52:01 +02:00
miloschwartz
6d7091fb5c migrate siteId on targets table to delete on cascade 2025-09-17 22:54:29 -04:00
dependabot[bot]
0d1f88a368 Bump the dev-patch-updates group with 2 updates
Bumps the dev-patch-updates group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [esbuild](https://github.com/evanw/esbuild).


Updates `@types/node` from 24.5.0 to 24.5.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `esbuild` from 0.25.9 to 0.25.10
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.9...v0.25.10)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.5.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-18 01:16:29 +00:00
Owen Schwartz
2ae601717d Merge pull request #1483 from barnabehvrd/patch-1
fr-fr language translation improvement
2025-09-17 17:11:03 -04:00
Barnabé Havard
c7c8b463b4 Remove customHeadersDescription from fr-FR.json
Removed translation that doesn't appear anywhere
2025-09-17 23:06:13 +02:00
Barnabé Havard
282f839211 Fix typo in French translation for 'dataIn' 2025-09-17 22:53:12 +02:00
Barnabé Havard
b2eb846b69 Update French translations in fr-FR.json 2025-09-17 22:50:41 +02:00
Owen Schwartz
62cf925dcf Merge pull request #1482 from fosrl/crowdin_dev
New Crowdin updates
2025-09-17 16:45:29 -04:00
Owen Schwartz
e699f84c4d New translations en-us.json (Dutch) 2025-09-17 16:44:45 -04:00
Owen Schwartz
c1189dadc5 New translations en-us.json (German) 2025-09-17 16:44:42 -04:00
Owen
76bc080a6d Merge branch 'main' into dev 2025-09-17 16:41:54 -04:00
miloschwartz
7f989f77ac fix type and fix redirect to resource niceId on create 2025-09-17 16:27:22 -04:00
Owen
b916f768fe Quiet debug logs 2025-09-17 16:19:07 -04:00
Owen
e4509c5714 Merge branch 'main' into dev 2025-09-17 15:54:10 -04:00
miloschwartz
ddb6893a64 ask for container type in crowdsec installer 2025-09-17 15:52:40 -04:00
dependabot[bot]
248751ba1d Bump the dev-minor-updates group with 2 updates
Bumps the dev-minor-updates group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@types/node` from 24.4.0 to 24.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `typescript-eslint` from 8.43.0 to 8.44.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.44.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.44.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 09:06:13 -07:00
dependabot[bot]
b4b74ed53a Bump @dotenvx/dotenvx in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx).


Updates `@dotenvx/dotenvx` from 1.49.0 to 1.49.1
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.49.0...v1.49.1)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.49.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 09:05:57 -07:00
dependabot[bot]
76903cd67f Bump next-intl from 4.3.8 to 4.3.9 in the prod-patch-updates group
Bumps the prod-patch-updates group with 1 update: [next-intl](https://github.com/amannn/next-intl).


Updates `next-intl` from 4.3.8 to 4.3.9
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.8...v4.3.9)

---
updated-dependencies:
- dependency-name: next-intl
  dependency-version: 4.3.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 09:05:42 -07:00
Tim
e4f2eac703 Update nl-NL.json
It currently contains several errors. I believe I've fixed the major ones now, but there are probably still things I've overlooked.

Incidentally, there's no option to edit the main headings for General, Access Control, and Organization. This also applies to Manage Clients (beta) page.
2025-09-17 09:01:46 -07:00
Oliver Antwerpen
3aa45007a7 Update de-DE.json
Corrected different translations to real german
2025-09-17 09:01:09 -07:00
miloschwartz
f452892c88 fix cant create oidc user closes #1472 2025-09-16 17:29:45 -07:00
miloschwartz
a0fece8a0e print failed crowdsec install error 2025-09-16 17:17:41 -07:00
Owen Schwartz
e3d493209b Merge pull request #1475 from Pallavikumarimdb/Fix/frontend-resource-niceid
Use niceId for resource URLs to prevent 307 redirects
2025-09-16 12:22:54 -07:00
Pallavi
2e8b63553d resource links from id to niceId 2025-09-16 23:46:21 +05:30
Owen
fb8f4b95b7 Make sure to default the match 2025-09-15 22:06:50 -07:00
miloschwartz
83e107c713 migrate autoProvisioned on user based on idp autoProvision 2025-09-15 21:52:35 -07:00
Owen
e97642a790 Filter out duplicates 2025-09-15 21:50:21 -07:00
Owen
426d8684bf Merge branch 'dev' 2025-09-15 15:22:06 -07:00
Owen
5e7409a4f0 Make sure to allow targets only 2025-09-15 15:21:53 -07:00
Owen Schwartz
c225a4cd48 Merge pull request #1467 from fosrl/dev
1.10.0
2025-09-15 14:44:04 -07:00
Owen Schwartz
24df9e1ce6 Merge pull request #1466 from fosrl/crowdin_dev
New Crowdin updates
2025-09-15 14:34:59 -07:00
Owen Schwartz
eab1fd3722 New translations en-us.json (Norwegian Bokmal) 2025-09-15 14:34:40 -07:00
Owen Schwartz
93bd041693 New translations en-us.json (Chinese Simplified) 2025-09-15 14:34:39 -07:00
Owen Schwartz
665ebe993c New translations en-us.json (Turkish) 2025-09-15 14:34:38 -07:00
Owen Schwartz
4086130371 New translations en-us.json (Russian) 2025-09-15 14:34:36 -07:00
Owen Schwartz
29aacf5238 New translations en-us.json (Portuguese) 2025-09-15 14:34:35 -07:00
Owen Schwartz
497e6a8422 New translations en-us.json (Polish) 2025-09-15 14:34:34 -07:00
Owen Schwartz
af8572add9 New translations en-us.json (Dutch) 2025-09-15 14:34:33 -07:00
Owen Schwartz
d6aea96400 New translations en-us.json (Korean) 2025-09-15 14:34:31 -07:00
Owen Schwartz
17e26ff1a6 New translations en-us.json (Italian) 2025-09-15 14:34:30 -07:00
Owen Schwartz
f5f223348d New translations en-us.json (German) 2025-09-15 14:34:28 -07:00
Owen Schwartz
e4f90fd7ea New translations en-us.json (Czech) 2025-09-15 14:34:27 -07:00
Owen Schwartz
96dff20760 New translations en-us.json (Bulgarian) 2025-09-15 14:34:26 -07:00
Owen Schwartz
d639f7f6de New translations en-us.json (Spanish) 2025-09-15 14:34:25 -07:00
Owen Schwartz
5b35ec2ea2 New translations en-us.json (French) 2025-09-15 14:34:23 -07:00
Owen
bc78b95265 Remove toast 2025-09-15 14:32:36 -07:00
Owen
97f22eccbb Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-09-15 14:26:47 -07:00
Owen Schwartz
a4fe86e38a Merge pull request #1406 from Pallavikumarimdb/enhancement-#906/enter-key-form-behavior
Enter key handling & hostname field reset in resource create
2025-09-15 14:26:29 -07:00
Owen
4bc1e10ecb Adjust default to prefix 2025-09-15 14:17:41 -07:00
Owen Schwartz
5b840d73bb Merge pull request #1465 from marcschaeferger/dev
feat(sites): adding official kubernetes helm install command for newt
2025-09-15 14:01:35 -07:00
Marc Schäfer
afa9acfb1e feat(sites): adding official kubernetes helm install command for newt 2025-09-15 20:27:03 +02:00
Owen
7b7f65da39 Add default to siteResources niceId 2025-09-15 11:13:31 -07:00
Owen Schwartz
806da59f47 Merge pull request #1449 from fosrl/declare
Add declareivie config for resources, path matching, custom headers
2025-09-14 22:06:33 -07:00
Owen
9a009a4ea3 Adjust headers to work as name value 2025-09-14 22:06:05 -07:00
Owen
083d890053 Merge branch 'dev' into declare 2025-09-14 21:54:39 -07:00
Owen
e693a8aeb8 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2025-09-14 21:30:10 -07:00
Owen
831b46d7b5 Merge branch 'main' into dev 2025-09-14 21:29:43 -07:00
Owen
8dd3022b94 Merge branch 'Lokowitz-main' 2025-09-14 20:34:34 -07:00
Owen
b278eb7110 Merge branch 'main' of github.com:Lokowitz/pangolin into Lokowitz-main 2025-09-14 20:33:20 -07:00
Owen
7a66163216 Working on making blueprints work 2025-09-14 20:33:06 -07:00
Owen Schwartz
dda2043401 Merge pull request #1450 from fosrl/crowdin_dev
New Crowdin updates
2025-09-14 20:31:05 -07:00
Owen
08d6183c9b Update migrations 2025-09-14 17:35:21 -07:00
Owen
eea0b86d6d Rules, client resources working 2025-09-14 17:27:21 -07:00
Owen
58c04fd196 Site resources for the blueprint 2025-09-14 15:57:41 -07:00
Lokowitz
09de6f6b5f modified: package-lock.json
modified:   package.json
2025-09-14 18:50:28 +00:00
Lokowitz
d0bbd2b539 modified: package-lock.json
modified:   package.json
2025-09-14 18:33:34 +00:00
Fernando Rodrigues
ee8952de10 Revert "fix: change default integration_api to 3004" 2025-09-14 13:07:08 +00:00
Lokowitz
134595a6b7 modified: package-lock.json
modified:   package.json
2025-09-14 09:44:04 +00:00
Milo Schwartz
4ff46f1650 Update README.md 2025-09-13 19:15:52 -04:00
Lokowitz
4779201d4c modified: src/app/[orgId]/settings/access/layout.tsx 2025-09-13 15:06:34 +00:00
dependabot[bot]
3a8643d83c Bump next in the npm_and_yarn group across 1 directory (#336)
Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.4.6 to 15.5.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.4.6...v15.5.3)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.3
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 16:49:21 +02:00
Marvin
806a49b822 Update page.tsx 2025-09-13 16:42:37 +02:00
Marvin
95d74825ee Update layout.tsx 2025-09-13 16:42:22 +02:00
Marvin
e4960909ed layout.tsx aktualisieren 2025-09-13 10:18:43 +02:00
dependabot[bot]
6cb36aaf13 Bump the prod-minor-updates group across 1 directory with 7 updates (#335) 2025-09-13 10:08:40 +02:00
dependabot[bot]
cb06e93650 Bump uuid from 11.1.0 to 13.0.0 (#334) 2025-09-13 09:43:59 +02:00
dependabot[bot]
e3a2f7a514 Bump the dev-patch-updates group with 6 updates (#329)
Bumps the dev-patch-updates group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.12` | `4.1.13` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.3.0` | `24.3.3` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.12` | `19.1.13` |
| [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) | `7.7.0` | `7.7.1` |
| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `4.2.8` | `4.2.11` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.12` | `4.1.13` |


Updates `@tailwindcss/postcss` from 4.1.12 to 4.1.13
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.13/packages/@tailwindcss-postcss)

Updates `@types/node` from 24.3.0 to 24.3.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/react` from 19.1.12 to 19.1.13
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/semver` from 7.7.0 to 7.7.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

Updates `react-email` from 4.2.8 to 4.2.11
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.2.11/packages/react-email)

Updates `tailwindcss` from 4.1.12 to 4.1.13
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.13/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/semver"
  dependency-version: 7.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.2.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 09:37:17 +02:00
dependabot[bot]
01b1e817d8 Bump the prod-patch-updates group with 7 updates (#332)
Bumps the prod-patch-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.5.0` | `0.5.3` |
| [@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render) | `1.2.0` | `1.2.3` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.44.4` | `0.44.5` |
| [next-intl](https://github.com/amannn/next-intl) | `4.3.4` | `4.3.8` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.5` | `7.0.6` |
| [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer) | `6.4.17` | `7.0.1` |
| [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css) | `1.3.7` | `1.3.8` |


Updates `@react-email/components` from 0.5.0 to 0.5.3
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.5.3/packages/components)

Updates `@react-email/render` from 1.2.0 to 1.2.3
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/render/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/render@1.2.3/packages/render)

Updates `drizzle-orm` from 0.44.4 to 0.44.5
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.44.4...0.44.5)

Updates `next-intl` from 4.3.4 to 4.3.8
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.4...v4.3.8)

Updates `nodemailer` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.5...v7.0.6)

Updates `@types/nodemailer` from 6.4.17 to 7.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer)

Updates `tw-animate-css` from 1.3.7 to 1.3.8
- [Release notes](https://github.com/Wombosvideo/tw-animate-css/releases)
- [Commits](https://github.com/Wombosvideo/tw-animate-css/compare/v1.3.7...v1.3.8)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@react-email/render"
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next-intl
  dependency-version: 4.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: nodemailer
  dependency-version: 7.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@types/nodemailer"
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: prod-patch-updates
- dependency-name: tw-animate-css
  dependency-version: 1.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 09:36:52 +02:00
dependabot[bot]
c3a5195575 Bump typescript-eslint in the dev-minor-updates group (#331)
Bumps the dev-minor-updates group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.40.0 to 8.43.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.43.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.43.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-13 09:34:35 +02:00
Marvin
99765c7bd5 Update index.ts 2025-09-13 09:32:01 +02:00
Owen
8929f389f4 Adjust styling to make it more clear 2025-09-12 11:45:03 -07:00
Owen Schwartz
4141d91f1b New translations en-us.json (Norwegian Bokmal) 2025-09-11 21:55:28 -07:00
Owen Schwartz
90272c84d2 New translations en-us.json (Chinese Simplified) 2025-09-11 21:55:27 -07:00
Owen Schwartz
3006a8e58c New translations en-us.json (Turkish) 2025-09-11 21:55:26 -07:00
Owen Schwartz
52a9dbd45d New translations en-us.json (Russian) 2025-09-11 21:55:25 -07:00
Owen Schwartz
b2fb55d2c1 New translations en-us.json (Portuguese) 2025-09-11 21:55:23 -07:00
Owen Schwartz
a1c16d22d8 New translations en-us.json (Polish) 2025-09-11 21:55:22 -07:00
Owen Schwartz
0e9504ee4d New translations en-us.json (Dutch) 2025-09-11 21:55:21 -07:00
Owen Schwartz
e8cad6fc20 New translations en-us.json (Korean) 2025-09-11 21:55:20 -07:00
Owen Schwartz
bc261f7739 New translations en-us.json (Italian) 2025-09-11 21:55:19 -07:00
Owen Schwartz
0b8983a86b New translations en-us.json (German) 2025-09-11 21:55:17 -07:00
Owen Schwartz
5a61da3c53 New translations en-us.json (Czech) 2025-09-11 21:55:16 -07:00
Owen Schwartz
800fe6244c New translations en-us.json (Bulgarian) 2025-09-11 21:55:15 -07:00
Owen Schwartz
9e1fec812c New translations en-us.json (Spanish) 2025-09-11 21:55:14 -07:00
Owen Schwartz
61632f9c97 New translations en-us.json (French) 2025-09-11 21:55:12 -07:00
Owen
f5e44129d8 Eslint fix 2025-09-11 21:32:12 -07:00
Owen
3eaca924da Update migrations 2025-09-11 21:28:15 -07:00
Owen
da1c706334 Translate 2025-09-11 21:26:13 -07:00
Owen
3b726dfb1e Merge branch 'dev' into declare 2025-09-11 21:24:27 -07:00
Owen
d51e7f7e40 Add prefix to ui and resource 2025-09-11 21:20:33 -07:00
Owen
2551e0c291 Handle different routers based on target path 2025-09-11 15:30:07 -07:00
Owen
2efd5c31ab Headers input working on resource 2025-09-11 13:58:12 -07:00
Owen
1eacb8ff36 Get the headers into the traefik config 2025-09-11 12:20:50 -07:00
Owen
612446c3c9 Work accross sites? 2025-09-11 11:42:37 -07:00
Owen Schwartz
e121e16ad9 Merge pull request #1441 from fosrl/dependabot/go_modules/install/prod-minor-updates-f3fcceee1e
Bump golang.org/x/term from 0.34.0 to 0.35.0 in /install in the prod-minor-updates group
2025-09-11 10:38:17 -07:00
Owen Schwartz
23616b41be Merge pull request #1445 from fosrl/crowdin_dev
New Crowdin updates
2025-09-11 10:36:04 -07:00
Owen Schwartz
1778ba49b2 New translations en-us.json (Norwegian Bokmal) 2025-09-11 10:35:39 -07:00
Owen Schwartz
b6f2bd4703 New translations en-us.json (Chinese Simplified) 2025-09-11 10:35:38 -07:00
Owen Schwartz
5fd67224f6 New translations en-us.json (Turkish) 2025-09-11 10:35:37 -07:00
Owen Schwartz
c9d21dde0c New translations en-us.json (Russian) 2025-09-11 10:35:35 -07:00
Owen Schwartz
de2c5aa068 New translations en-us.json (Portuguese) 2025-09-11 10:35:34 -07:00
Owen Schwartz
ad01cecae6 New translations en-us.json (Polish) 2025-09-11 10:35:33 -07:00
Owen Schwartz
75ef14c75b New translations en-us.json (Dutch) 2025-09-11 10:35:32 -07:00
Owen Schwartz
03a5a0eddb New translations en-us.json (Korean) 2025-09-11 10:35:30 -07:00
Owen Schwartz
66befd35eb New translations en-us.json (Italian) 2025-09-11 10:35:29 -07:00
Owen Schwartz
3cbad16c30 New translations en-us.json (German) 2025-09-11 10:35:27 -07:00
Owen Schwartz
3bba7c5956 New translations en-us.json (Czech) 2025-09-11 10:35:26 -07:00
Owen Schwartz
0daa84c583 New translations en-us.json (Bulgarian) 2025-09-11 10:35:25 -07:00
Owen Schwartz
92358a52c0 New translations en-us.json (Spanish) 2025-09-11 10:35:23 -07:00
Owen Schwartz
faf17e9e86 New translations en-us.json (French) 2025-09-11 10:35:22 -07:00
Owen
ef6efe94b4 Eslint fix 2025-09-11 10:27:02 -07:00
Owen
819d7ea23e Merge branch 'main' into dev 2025-09-11 10:25:21 -07:00
Owen Schwartz
61ff192cfd Merge pull request #1444 from hetlelid/patch-1
Update page.tsx
2025-09-11 10:24:55 -07:00
Owen
ceb1b07ce2 Just style it a bit 2025-09-11 10:24:40 -07:00
Owen
90188d4358 Testing cross site issue 2025-09-11 10:12:27 -07:00
hetlelid
35aa0ab4e7 Update page.tsx
Added default location for the config files, for reference
2025-09-11 11:11:36 +02:00
Owen
14dd76db8b Apply blueprint over api call 2025-09-10 17:28:00 -07:00
Owen
fb26dfad65 Add migrations for 1.10.0 2025-09-10 17:15:54 -07:00
miloschwartz
bedc5adb75 add hide free domain option to domain picker 2025-09-10 15:36:05 -07:00
Owen
800b1f1520 Add basic blueprints 2025-09-10 15:33:56 -07:00
miloschwartz
a4571a80ae Merge branch 'patch' into dev 2025-09-10 14:44:25 -07:00
miloschwartz
a0a612618e fixed email undefined error on request email code 2025-09-10 14:20:25 -07:00
dependabot[bot]
db94728a5b Bump golang.org/x/term in /install in the prod-minor-updates group
Bumps the prod-minor-updates group in /install with 1 update: [golang.org/x/term](https://github.com/golang/term).


Updates `golang.org/x/term` from 0.34.0 to 0.35.0
- [Commits](https://github.com/golang/term/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 01:18:58 +00:00
Owen
04352a670a Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-09-08 17:50:57 -07:00
Owen
fe6e3b013e Resource identified with niceId now 2025-09-08 17:50:07 -07:00
Owen
a947a74194 Add resource niceId 2025-09-08 17:37:30 -07:00
miloschwartz
06055ff62b add common domain validation func 2025-09-08 17:25:01 -07:00
miloschwartz
45cb1562e5 pull api base url from config for axios 2025-09-08 16:55:40 -07:00
Pallavi
2f89a16852 minor fix to domain sanitize when create resources 2025-09-08 11:26:54 +05:30
Pallavi
86956b8cac fix enter key reload issue 2025-09-08 11:26:54 +05:30
Pallavi
84fb3add33 Enter key handling & hostname field reset in resource create 2025-09-08 11:26:54 +05:30
Owen Schwartz
56ee68d9f3 Merge pull request #1434 from fosrl/dependabot/github_actions/actions/setup-node-5
Bump actions/setup-node from 4 to 5
2025-09-07 22:01:36 -07:00
Owen Schwartz
e81fd3bb31 Merge pull request #1435 from fosrl/dependabot/github_actions/actions/setup-go-6
Bump actions/setup-go from 5 to 6
2025-09-07 22:01:28 -07:00
Owen Schwartz
938ca29777 Merge pull request #1436 from fosrl/dependabot/github_actions/actions/stale-10
Bump actions/stale from 9 to 10
2025-09-07 22:01:21 -07:00
Owen Schwartz
122902968f Merge pull request #1415 from fosrl/crowdin_dev
New Crowdin updates
2025-09-07 22:01:12 -07:00
Owen Schwartz
b55c30065f Merge pull request #1431 from Pallavikumarimdb/Fix/site-resource-destinationip-validation
Fix inconsistent destinationIp validation between create and update APIs
2025-09-07 21:11:32 -07:00
dependabot[bot]
92ac2dbac2 Bump actions/stale from 9 to 10
Bumps [actions/stale](https://github.com/actions/stale) from 9 to 10.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v9...v10)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 01:32:59 +00:00
dependabot[bot]
d3e6decef9 Bump actions/setup-go from 5 to 6
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 01:32:10 +00:00
dependabot[bot]
579cd9d338 Bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 01:32:04 +00:00
Pallavi
9e2a58dd46 inconsistent destinationIp validation between create and update 2025-09-07 23:45:35 +05:30
Owen
64722617c1 Fix #1423 2025-09-07 10:47:08 -07:00
Owen Schwartz
5845ddbdda Merge pull request #1430 from Pallavikumarimdb/Fix/include-region-in-exitnode-query
Fix: Include "region" field in ExitNode query to match schema
2025-09-07 10:25:00 -07:00
Pallavi
bf9ce0df9b Include region field in ExitNode query to match schema 2025-09-07 22:47:06 +05:30
miloschwartz
8aee2ec3a1 update install link 2025-09-06 22:37:02 -07:00
Milo Schwartz
3292eafe4a Update README.md 2025-09-07 01:36:37 -04:00
miloschwartz
9ad31b2c81 auto detect public ip 2025-09-06 22:24:22 -07:00
miloschwartz
374ed79a18 remove extra components 2025-09-06 21:38:17 -07:00
miloschwartz
3d5f73e344 fix listIdp query error 2025-09-06 17:26:44 -07:00
Owen
6761428a96 Add region 2025-09-06 16:54:16 -07:00
Owen Schwartz
0a9b463eaa New translations en-us.json (Norwegian Bokmal) 2025-09-05 17:16:59 -07:00
Owen Schwartz
c219256fff New translations en-us.json (Chinese Simplified) 2025-09-05 17:16:58 -07:00
Owen Schwartz
7e48803dc5 New translations en-us.json (Turkish) 2025-09-05 17:16:57 -07:00
Owen Schwartz
d496b8a414 New translations en-us.json (Russian) 2025-09-05 17:16:55 -07:00
Owen Schwartz
4825129560 New translations en-us.json (Portuguese) 2025-09-05 17:16:54 -07:00
Owen Schwartz
adc54b2582 New translations en-us.json (Polish) 2025-09-05 17:16:53 -07:00
Owen Schwartz
863567c9b6 New translations en-us.json (Dutch) 2025-09-05 17:16:52 -07:00
Owen Schwartz
102555023b New translations en-us.json (Korean) 2025-09-05 17:16:51 -07:00
Owen Schwartz
f1a9eef531 New translations en-us.json (Italian) 2025-09-05 17:16:49 -07:00
Owen Schwartz
5f007a5b0f New translations en-us.json (German) 2025-09-05 17:16:48 -07:00
Owen Schwartz
9455141262 New translations en-us.json (Czech) 2025-09-05 17:16:47 -07:00
Owen Schwartz
37e1379c88 New translations en-us.json (Bulgarian) 2025-09-05 17:16:46 -07:00
Owen Schwartz
55d597e519 New translations en-us.json (Spanish) 2025-09-05 17:16:45 -07:00
Owen Schwartz
da5ee5c951 New translations en-us.json (French) 2025-09-05 17:16:43 -07:00
miloschwartz
b0bd9279fc add idp auto provision override on user 2025-09-05 16:14:25 -07:00
Owen
90456339ca Add node env for react email issue back 2025-09-05 11:51:44 -07:00
Owen
a653c8bad7 Update start command one more time 2025-09-05 11:45:42 -07:00
Owen
c4fa6cf458 Remove source map support 2025-09-05 11:25:13 -07:00
Owen
268fc7b923 Update build process 2025-09-05 11:23:43 -07:00
miloschwartz
02604f5290 increase telemetry report interval 2025-09-04 20:17:59 -07:00
miloschwartz
1dad7e86a0 add optional icon to strategy select 2025-09-04 18:02:42 -07:00
Owen
838e3efbca Pass in db to pickPort 2025-09-04 18:01:33 -07:00
miloschwartz
3e353717f5 add oidc variant 2025-09-04 17:52:52 -07:00
miloschwartz
0a4b74b91a scope user id check to idp in create idp user 2025-09-04 15:23:51 -07:00
miloschwartz
e69fbf3ccf Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-09-04 15:23:48 -07:00
miloschwartz
0b2349d6bf fix delete idp user 2025-09-04 15:15:10 -07:00
Owen
3a8f04cf14 Add transaction type 2025-09-04 14:01:12 -07:00
Owen
e941cf956f Fix typo in response 2025-09-04 14:01:11 -07:00
Owen Schwartz
29f7bcf6f5 New translations en-us.json (Norwegian Bokmal) 2025-09-04 11:40:07 -07:00
Owen Schwartz
1cf1e0dc57 New translations en-us.json (Chinese Simplified) 2025-09-04 11:40:06 -07:00
Owen Schwartz
175283805e New translations en-us.json (Portuguese) 2025-09-04 11:40:02 -07:00
Owen Schwartz
063c0405e8 New translations en-us.json (Dutch) 2025-09-04 11:40:00 -07:00
Owen Schwartz
947cb77753 New translations en-us.json (Korean) 2025-09-04 11:39:58 -07:00
miloschwartz
28b3b305ea remove special char domain placeholders 2025-09-04 11:27:06 -07:00
miloschwartz
df85f13aea move all components to components dir 2025-09-04 11:18:42 -07:00
Owen Schwartz
042e2c1390 Merge pull request #1413 from AstralDestiny/traefik-dynamic_config-cleanup
Update Traefik to not declare an unnecessary path and make the config cleaner.
2025-09-04 10:46:42 -07:00
AstralDestiny
e6314bee35 Update Traefik to not declare an unnecessary path and make the config cleaner. 2025-09-04 11:44:20 -04:00
Owen
4292d3262e Add niceId to resource 2025-09-03 17:34:16 -07:00
Owen
35d070ad29 Convert to exitNodeComm function 2025-09-02 16:11:08 -07:00
Owen Schwartz
cd79e77576 Merge pull request #1397 from fosrl/dev
1.9.4
2025-09-01 17:47:01 -07:00
Owen Schwartz
1f1c20d637 Merge pull request #1396 from fosrl/crowdin_dev
New Crowdin updates
2025-09-01 17:46:22 -07:00
Owen Schwartz
e87b3b1b54 New translations en-us.json (Norwegian Bokmal) 2025-09-01 17:46:02 -07:00
Owen Schwartz
a6f7b65625 New translations en-us.json (Chinese Simplified) 2025-09-01 17:46:01 -07:00
Owen Schwartz
722fa47132 New translations en-us.json (Turkish) 2025-09-01 17:46:00 -07:00
Owen Schwartz
f83e290b4c New translations en-us.json (Russian) 2025-09-01 17:45:59 -07:00
Owen Schwartz
11b4047283 New translations en-us.json (Portuguese) 2025-09-01 17:45:57 -07:00
Owen Schwartz
69b2032a86 New translations en-us.json (Polish) 2025-09-01 17:45:56 -07:00
Owen Schwartz
636298569f New translations en-us.json (Dutch) 2025-09-01 17:45:55 -07:00
Owen Schwartz
ed8a282d35 New translations en-us.json (Korean) 2025-09-01 17:45:54 -07:00
Owen Schwartz
3bd5e850e0 New translations en-us.json (Italian) 2025-09-01 17:45:52 -07:00
Owen Schwartz
070f1f9159 New translations en-us.json (German) 2025-09-01 17:45:51 -07:00
Owen Schwartz
195644cca5 New translations en-us.json (Czech) 2025-09-01 17:45:50 -07:00
Owen Schwartz
8092c86ecd New translations en-us.json (Bulgarian) 2025-09-01 17:45:49 -07:00
Owen Schwartz
28f33702da New translations en-us.json (Spanish) 2025-09-01 17:45:48 -07:00
Owen Schwartz
570632b8be New translations en-us.json (French) 2025-09-01 17:45:46 -07:00
Owen
f2881e1b31 Merge branch 'Pallavikumarimdb-enhancement-#906/persist-amount-of-entries' into dev 2025-09-01 17:40:02 -07:00
Owen
dad35e37ef Merge branch 'enhancement-#906/persist-amount-of-entries' of github.com:Pallavikumarimdb/pangolin into Pallavikumarimdb-enhancement-#906/persist-amount-of-entries 2025-09-01 17:39:16 -07:00
Owen
39afabd60e Source maps as js 2025-09-01 14:03:32 -07:00
Owen
dc7e14a34b Limit saas 2025-09-01 11:39:30 -07:00
Owen
1dca71a779 Try to include source maps 2025-09-01 11:29:49 -07:00
Pallavi
e9494efa8e quick fix 2025-09-01 23:06:39 +05:30
Owen Schwartz
8159a0f13d Merge pull request #1394 from Pallavikumarimdb/Fix/hostname-field-reset-port-and-method
Fix/hostname field reset port and method
2025-09-01 10:21:31 -07:00
Pallavi
ee9101e738 Save Amount of Entries 2025-09-01 22:26:12 +05:30
Pallavi
b670e6e3dc update parser to handle h2c 2025-09-01 21:47:50 +05:30
Pallavi
5e5754fa62 preserve port and method on host change 2025-09-01 21:22:18 +05:30
Owen Schwartz
5fcf76066f Merge pull request #1391 from fosrl/dev
1.9.3
2025-08-31 20:58:35 -07:00
Owen
601645fa72 Fix translations
Fix #1355
2025-08-31 20:56:49 -07:00
Owen
12765ad675 Merge branch 'Pallavikumarimdb-Fix/allow-unicode-domain-name' into dev 2025-08-31 19:41:35 -07:00
Owen
ad3383d23d Merge branch 'Fix/allow-unicode-domain-name' of github.com:Pallavikumarimdb/pangolin into Pallavikumarimdb-Fix/allow-unicode-domain-name 2025-08-31 19:40:13 -07:00
Pallavi
7d5961cf50 Support unicode with subdomain sanitized 2025-08-31 22:45:42 +05:30
Owen
864aa052f1 Merge branch 'Hetav21-enhancement-1318' into dev 2025-08-31 09:50:47 -07:00
Hetav21
be16196058 feat: make version numbers link to GitHub releases and add Discord link 2025-08-31 21:19:34 +05:30
Pallavi
8a62f12e8b fix lint 2025-08-31 17:53:36 +05:30
Pallavi
78f464f6ca Show/allow unicode domain name 2025-08-31 17:53:35 +05:30
Owen
f37eda4739 Fix #1376 2025-08-30 22:28:37 -07:00
Owen
4e106e9e5a Make more explicit in config telemetry
Fixes #1374
2025-08-30 22:22:42 -07:00
Owen
ccf8e5e6f4 Dont pull org from api key
Fixes #1361
2025-08-30 22:12:35 -07:00
Owen
9455adf61f Add list invitations to integration api
Fixes #1364
2025-08-30 21:18:22 -07:00
miloschwartz
970ab9818a translate managed page 2025-08-30 16:51:44 -07:00
Owen Schwartz
7848cf7141 Merge pull request #1377 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-f90e31e16c
Bump the dev-patch-updates group across 1 directory with 2 updates
2025-08-30 16:12:29 -07:00
Owen
8e5aa9c195 Merge branch 'Pallavikumarimdb-feature-906/smart-host-parsing' into dev 2025-08-30 15:52:45 -07:00
Owen
a03e9ba7dd Merge branch 'feature-906/smart-host-parsing' of github.com:Pallavikumarimdb/pangolin into Pallavikumarimdb-feature-906/smart-host-parsing 2025-08-30 15:51:15 -07:00
Owen
9e646ba385 Merge branch 'Pallavikumarimdb-Fix/domain-picker-issue' into dev 2025-08-30 15:24:15 -07:00
Owen
d9a4f20fe6 Merge branch 'Fix/domain-picker-issue' of github.com:Pallavikumarimdb/pangolin into Pallavikumarimdb-Fix/domain-picker-issue 2025-08-30 15:22:02 -07:00
Owen
e659f0e75d Fix type 2025-08-29 15:39:06 -07:00
Owen
8891d6239f Handle wildcard certs 2025-08-29 15:35:57 -07:00
Pallavi
e3bd3fb985 consistent full domain 2025-08-30 02:59:23 +05:30
Pallavi
54764dfacd unify subdomain validation schema to handle edge cases 2025-08-30 01:14:03 +05:30
Owen
b156b5ff2d Make /32 to not mess with newt 2025-08-28 22:42:27 -07:00
Owen
d8e547c9a0 Configure if allow raw resources 2025-08-28 22:11:24 -07:00
dependabot[bot]
a0b93377a4 Bump the dev-patch-updates group across 1 directory with 2 updates
Bumps the dev-patch-updates group with 2 updates in the / directory: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom).


Updates `@types/react` from 19.1.11 to 19.1.12
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.1.8 to 19.1.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 01:23:18 +00:00
Pallavi
e8a6efd079 subdomain validation consistent 2025-08-29 03:58:49 +05:30
Pallavi
18bb6caf8f allows typing flow while providing helpful validation 2025-08-29 02:44:39 +05:30
Pallavi
bc335d15c0 preserve subdomain with sanitizeSubdomain and validateSubdomain 2025-08-29 01:12:12 +05:30
Owen Schwartz
2a0d440a34 Merge pull request #1366 from fosrl/dev
1.9.2
2025-08-27 12:02:21 -07:00
Owen Schwartz
b0500fac29 Merge pull request #1367 from fosrl/crowdin_dev
New Crowdin updates
2025-08-27 11:59:06 -07:00
Owen Schwartz
af16e6423a New translations en-us.json (Norwegian Bokmal) 2025-08-27 11:58:46 -07:00
Owen Schwartz
ff90471f0f New translations en-us.json (Chinese Simplified) 2025-08-27 11:58:44 -07:00
Owen Schwartz
bcc501c524 New translations en-us.json (Turkish) 2025-08-27 11:58:43 -07:00
Owen Schwartz
c4ef211a3e New translations en-us.json (Russian) 2025-08-27 11:58:42 -07:00
Owen Schwartz
592c0eb7ab New translations en-us.json (Portuguese) 2025-08-27 11:58:41 -07:00
Owen Schwartz
880a000865 New translations en-us.json (Polish) 2025-08-27 11:58:40 -07:00
Owen Schwartz
a9571f6adf New translations en-us.json (Dutch) 2025-08-27 11:58:38 -07:00
Owen Schwartz
ca91f313bc New translations en-us.json (Korean) 2025-08-27 11:58:37 -07:00
Owen Schwartz
76b9753916 New translations en-us.json (Italian) 2025-08-27 11:58:36 -07:00
Owen Schwartz
cd8bbe28bf New translations en-us.json (German) 2025-08-27 11:58:35 -07:00
Owen Schwartz
9550c11594 New translations en-us.json (Spanish) 2025-08-27 11:58:32 -07:00
Owen Schwartz
7ac21cad25 New translations en-us.json (French) 2025-08-27 11:58:30 -07:00
Owen
2008a3955a Change destructuring 2025-08-27 11:31:15 -07:00
Owen
f1641c9f3e Dont create exit node on new key
Fixes #1347
Fixes #776
Fixes #1090
2025-08-27 11:25:10 -07:00
Owen Schwartz
bec5bbd033 Merge pull request #1329 from fosrl/dependabot/go_modules/install/prod-minor-updates-b66dbea3a9
Bump golang.org/x/term from 0.33.0 to 0.34.0 in /install in the prod-minor-updates group
2025-08-27 10:55:48 -07:00
Owen Schwartz
ae11f72e28 Merge pull request #1362 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-43a727f364
Bump the dev-patch-updates group across 1 directory with 3 updates
2025-08-27 10:50:20 -07:00
Owen Schwartz
6b88cb3920 Merge pull request #1354 from fosrl/crowdin_dev
New Crowdin updates
2025-08-27 10:47:58 -07:00
dependabot[bot]
38772111e8 Bump the dev-patch-updates group across 1 directory with 3 updates
Bumps the dev-patch-updates group with 3 updates in the / directory: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react), [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) and [tsx](https://github.com/privatenumber/tsx).


Updates `@types/react` from 19.1.10 to 19.1.11
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.1.7 to 19.1.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `tsx` from 4.20.4 to 4.20.5
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.4...v4.20.5)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tsx
  dependency-version: 4.20.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-27 11:45:42 +00:00
Owen Schwartz
14f50c3e66 New translations en-us.json (Czech) 2025-08-27 02:22:26 -07:00
Owen
b89a2c9e49 Trust the gerbil proxy for proxyProtcol 2025-08-26 22:36:33 -07:00
Owen Schwartz
2d2eda988c New translations en-us.json (Norwegian Bokmal) 2025-08-26 22:34:55 -07:00
Owen Schwartz
432033969b New translations en-us.json (Chinese Simplified) 2025-08-26 22:34:54 -07:00
Owen Schwartz
1fbf74e1f7 New translations en-us.json (Turkish) 2025-08-26 22:34:53 -07:00
Owen Schwartz
93648ff00b New translations en-us.json (Russian) 2025-08-26 22:34:52 -07:00
Owen Schwartz
9513136610 New translations en-us.json (Portuguese) 2025-08-26 22:34:50 -07:00
Owen Schwartz
43a2a39f8d New translations en-us.json (Polish) 2025-08-26 22:34:49 -07:00
Owen Schwartz
218351de9a New translations en-us.json (Dutch) 2025-08-26 22:34:48 -07:00
Owen Schwartz
b92b922eee New translations en-us.json (Korean) 2025-08-26 22:34:46 -07:00
Owen Schwartz
91be4937ee New translations en-us.json (Italian) 2025-08-26 22:34:45 -07:00
Owen Schwartz
19b36a5fae New translations en-us.json (German) 2025-08-26 22:34:44 -07:00
Owen Schwartz
bb9ee7dfd2 New translations en-us.json (Czech) 2025-08-26 22:34:42 -07:00
Owen Schwartz
ac0351b525 New translations en-us.json (Bulgarian) 2025-08-26 22:34:41 -07:00
Owen Schwartz
405f5ad7cc New translations en-us.json (Spanish) 2025-08-26 22:34:40 -07:00
Owen Schwartz
8cc2712da3 New translations en-us.json (French) 2025-08-26 22:34:39 -07:00
Owen
c02ac8d1bf Seperate out function 2025-08-26 17:19:04 -07:00
Owen
a1802add19 Geoblocking works 2025-08-26 17:14:55 -07:00
Owen
218a6642a2 Merge branch 'dev' into geoip 2025-08-25 21:07:17 -07:00
dependabot[bot]
21a83a5755 Bump golang.org/x/term in /install in the prod-minor-updates group
Bumps the prod-minor-updates group in /install with 1 update: [golang.org/x/term](https://github.com/golang/term).


Updates `golang.org/x/term` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/term/compare/v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 02:12:49 +00:00
Owen Schwartz
bec75e51f6 New translations en-us.json (French) 2025-08-25 17:41:14 -07:00
Owen Schwartz
6c9b445be6 Merge pull request #1353 from fosrl/dev
1.9.1
2025-08-25 17:13:33 -07:00
Owen
06b17fa941 Merge branch 'main' into dev 2025-08-25 17:07:28 -07:00
Owen
e1d4c029e7 Remove cancel button
Fixes #1312
2025-08-25 17:00:51 -07:00
Owen
293fd70ccb Remove bad file 2025-08-25 16:51:33 -07:00
Owen Schwartz
4ee863db5a Merge pull request #1352 from fosrl/crowdin_dev
New Crowdin updates
2025-08-25 16:42:41 -07:00
Owen Schwartz
2717be0fed New translations en-us.json (Norwegian Bokmal) 2025-08-25 16:42:22 -07:00
Owen Schwartz
1f312e146f New translations en-us.json (Chinese Simplified) 2025-08-25 16:42:21 -07:00
Owen Schwartz
b91557ebb0 New translations en-us.json (Turkish) 2025-08-25 16:42:20 -07:00
Owen Schwartz
465380b5a3 New translations en-us.json (Russian) 2025-08-25 16:42:19 -07:00
Owen Schwartz
60af901feb New translations en-us.json (Portuguese) 2025-08-25 16:42:17 -07:00
Owen Schwartz
ea78a654ff New translations en-us.json (Polish) 2025-08-25 16:42:16 -07:00
Owen Schwartz
f28b6ad0a5 New translations en-us.json (Dutch) 2025-08-25 16:42:15 -07:00
Owen Schwartz
a3bdab1318 New translations en-us.json (Korean) 2025-08-25 16:42:14 -07:00
Owen Schwartz
f8c5d01e3c New translations en-us.json (Italian) 2025-08-25 16:42:13 -07:00
Owen Schwartz
3ebe218b7f New translations en-us.json (German) 2025-08-25 16:42:12 -07:00
Owen Schwartz
7d039ab729 New translations en-us.json (Czech) 2025-08-25 16:42:10 -07:00
Owen Schwartz
b2b6c8c268 New translations en-us.json (Bulgarian) 2025-08-25 16:42:09 -07:00
Owen Schwartz
4950f25063 New translations en-us.json (Spanish) 2025-08-25 16:42:08 -07:00
Owen Schwartz
524d6b48d9 New translations en-us.json (French) 2025-08-25 16:42:07 -07:00
Owen
29fb5735e2 Add missing api endpoints to integration
Fixes #1344
2025-08-25 16:23:22 -07:00
Owen
247fc85440 Fix #1339 2025-08-25 16:08:37 -07:00
Owen
2b4302572c Fix #1343 2025-08-25 13:58:21 -07:00
Owen
9b28780e62 Merge branch 'main' of github.com:fosrl/pangolin 2025-08-25 13:56:34 -07:00
Owen Schwartz
8656f68008 Merge pull request #1341 from SINF-KEN/main
fix typos french.
2025-08-25 11:10:35 -07:00
SINF-KEN
15651b6919 fix typos french. 2025-08-25 12:33:45 +02:00
Owen
78d3861382 Add pass rule 2025-08-24 22:20:09 -07:00
Owen
72f19274cd Add ip lookup 2025-08-24 21:58:52 -07:00
Owen
adbcd1a2e0 Add missing cols 2025-08-24 13:51:03 -07:00
Owen
5b7727fab4 Fix #1332 2025-08-24 12:22:54 -07:00
Owen
9627dfa90c Add ipKeyGenerator 2025-08-24 12:18:34 -07:00
Owen
50022c9fc8 Update readme 2025-08-24 10:33:03 -07:00
Owen Schwartz
e0b76ffebc Merge pull request #1322 from fosrl/dev
1.9.0
2025-08-24 10:31:23 -07:00
Owen Schwartz
be5a9a840c Merge pull request #1323 from fosrl/crowdin_dev
New Crowdin updates
2025-08-23 15:51:54 -07:00
Owen Schwartz
6e5f429e0a New translations en-us.json (Norwegian Bokmal) 2025-08-23 15:51:05 -07:00
Owen Schwartz
e9d9d6e2f4 New translations en-us.json (Chinese Simplified) 2025-08-23 15:51:04 -07:00
Owen Schwartz
b4a57e630c New translations en-us.json (Turkish) 2025-08-23 15:51:03 -07:00
Owen Schwartz
1062e33dc8 New translations en-us.json (Russian) 2025-08-23 15:51:02 -07:00
Owen Schwartz
0e14441f73 New translations en-us.json (Portuguese) 2025-08-23 15:51:01 -07:00
Owen Schwartz
a6a909ae4f New translations en-us.json (Polish) 2025-08-23 15:51:00 -07:00
Owen Schwartz
2b4a39e64c New translations en-us.json (Dutch) 2025-08-23 15:50:59 -07:00
Owen Schwartz
82b4921602 New translations en-us.json (Korean) 2025-08-23 15:50:58 -07:00
Owen Schwartz
4229324a5d New translations en-us.json (Italian) 2025-08-23 15:50:57 -07:00
Owen Schwartz
34d3ca9c51 New translations en-us.json (German) 2025-08-23 15:50:55 -07:00
Owen Schwartz
9bd7002917 New translations en-us.json (Spanish) 2025-08-23 15:50:53 -07:00
Owen Schwartz
ebed9f7a68 New translations en-us.json (French) 2025-08-23 15:50:52 -07:00
Owen
5d34bd82c0 Adjust const one more time 2025-08-23 15:36:19 -07:00
Owen
8bcb2b3b0f Fix type error 2025-08-23 15:30:03 -07:00
Owen
32ba17cf91 Fix linter errors 2025-08-23 15:26:43 -07:00
Owen
704ded4410 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-08-23 15:23:09 -07:00
Owen
88277976c6 Merge branch 'main' into dev 2025-08-23 15:21:32 -07:00
Owen Schwartz
cb95f02912 Merge pull request #1308 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-65c0d343c4
Bump the dev-minor-updates group with 3 updates
2025-08-23 15:20:25 -07:00
Owen Schwartz
928b406359 Merge pull request #1310 from fosrl/crowdin_dev
New Crowdin updates
2025-08-23 15:16:26 -07:00
Owen Schwartz
4757c7db8c Merge pull request #1281 from jackrosenberg/push-nymutulytrsq
fix: change default integration_api to 3004
2025-08-23 15:16:03 -07:00
Owen
5df87641a1 Fix #1321 2025-08-23 15:13:44 -07:00
Owen
04077c53fd Update url to cloud 2025-08-23 12:31:16 -07:00
Owen
574be52b84 Revert b4be620a5b 2025-08-22 10:43:04 -07:00
Owen Schwartz
a66613c5ca New translations en-us.json (Czech) 2025-08-22 09:05:46 -07:00
Owen Schwartz
01b3b19715 New translations en-us.json (Czech) 2025-08-22 07:34:03 -07:00
Pallavi
fb1481c69c fix lint issue 2025-08-22 19:18:47 +05:30
Pallavi
9557f755a5 Add Smart Host Parsing 2025-08-22 13:07:03 +05:30
Owen
60d8831399 Rename hybrid to managed 2025-08-21 14:19:21 -07:00
Owen
5ff5660db3 Add key 2025-08-21 14:12:09 -07:00
Owen Schwartz
d62c359452 New translations en-us.json (Bulgarian) 2025-08-21 00:53:41 -07:00
Owen Schwartz
ec0b6b64fe New translations en-us.json (Bulgarian) 2025-08-20 23:16:40 -07:00
Owen
c53eac76f8 Bug fixes around hybrid 2025-08-20 18:50:39 -07:00
Owen
49cb2ae260 Fixes for siteResources with clients 2025-08-20 18:49:58 -07:00
Owen
77796e8a75 Adjust again for uncertian config 2025-08-20 17:48:55 -07:00
Owen
49f0f6ec7d Installer working with hybrid 2025-08-20 17:00:52 -07:00
Owen Schwartz
2c273a85d8 New translations en-us.json (Bulgarian) 2025-08-20 14:56:23 -07:00
Owen
8273554a1c Hybrid install mode done? 2025-08-20 12:40:21 -07:00
Owen
ad8ab63fd5 Reorging functions 2025-08-20 11:20:46 -07:00
Owen
7de0761329 Rename function 2025-08-20 11:20:46 -07:00
Owen
907dab7d05 Move docker podman question and add hybird question
Allow empty config

Continue to adjust config for hybrid
2025-08-20 11:20:34 -07:00
Owen
2907f22200 Fix server component issue 2025-08-19 22:20:11 -07:00
Owen
7bbe1b2dbe Align correctly 2025-08-19 22:18:42 -07:00
Owen Schwartz
099513072c Merge pull request #1306 from fosrl/crowdin_dev
New Crowdin updates
2025-08-19 22:13:21 -07:00
Owen
7de8bb00e7 Use the sites if they are offline for now 2025-08-19 22:07:52 -07:00
dependabot[bot]
12d44696e8 Bump the dev-minor-updates group with 3 updates
Bumps the dev-minor-updates group with 3 updates: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@dotenvx/dotenvx` from 1.48.4 to 1.49.0
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.48.4...v1.49.0)

Updates `@types/node` from 24.2.1 to 24.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `typescript-eslint` from 8.39.1 to 8.40.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.40.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.49.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: "@types/node"
  dependency-version: 24.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.40.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 04:47:04 +00:00
Owen
25cef26251 Fix ws reconnect and change create site 2025-08-19 21:29:56 -07:00
Owen Schwartz
dceb398695 New translations en-us.json (Chinese Simplified) 2025-08-19 12:13:19 -07:00
Owen Schwartz
f60599abd3 New translations en-us.json (Turkish) 2025-08-19 12:13:18 -07:00
Owen Schwartz
44f8098e4a New translations en-us.json (Russian) 2025-08-19 12:13:16 -07:00
Owen Schwartz
747979f939 New translations en-us.json (Portuguese) 2025-08-19 12:13:15 -07:00
Owen Schwartz
b3083ae779 New translations en-us.json (Polish) 2025-08-19 12:13:14 -07:00
Owen Schwartz
67580a8b69 New translations en-us.json (Norwegian Bokmal) 2025-08-19 12:13:11 -07:00
Owen Schwartz
291c7aaf0b New translations en-us.json (Dutch) 2025-08-19 12:13:10 -07:00
Owen Schwartz
1a098eecf6 New translations en-us.json (Korean) 2025-08-19 12:13:08 -07:00
Owen Schwartz
0a05bdba1d New translations en-us.json (Italian) 2025-08-19 12:13:07 -07:00
Owen Schwartz
37bfc07ffb New translations en-us.json (German) 2025-08-19 12:13:06 -07:00
Owen Schwartz
eae3ab2dc1 New translations en-us.json (Czech) 2025-08-19 12:13:04 -07:00
Owen Schwartz
1665bf6515 New translations en-us.json (Bulgarian) 2025-08-19 12:13:03 -07:00
Owen Schwartz
0383ffb7f3 New translations en-us.json (Spanish) 2025-08-19 12:13:02 -07:00
Owen Schwartz
a0d6646e49 New translations en-us.json (French) 2025-08-19 12:13:01 -07:00
Owen
254b3a0fc8 Also filer out offline sites? 2025-08-19 11:26:37 -07:00
Owen
21743e5a23 Clarify site address 2025-08-19 11:26:37 -07:00
Owen Schwartz
0550924e08 Merge pull request #1278 from fosrl/dependabot/npm_and_yarn/express-rate-limit-8.0.1
Bump express-rate-limit from 7.5.1 to 8.0.1
2025-08-18 22:18:05 -07:00
Owen Schwartz
7867302be5 Merge pull request #1297 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-1706bce14d
Bump the dev-patch-updates group with 2 updates
2025-08-18 22:17:20 -07:00
Owen Schwartz
14815b388d Merge pull request #1298 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-c7b744908a
Bump the prod-patch-updates group across 1 directory with 13 updates
2025-08-18 22:17:08 -07:00
Owen Schwartz
92cc82220e Merge pull request #1299 from fosrl/dependabot/github_actions/actions/checkout-5
Bump actions/checkout from 4 to 5
2025-08-18 22:16:16 -07:00
Owen Schwartz
da1fae6016 Merge pull request #1304 from Pallavikumarimdb/Fix/Manage-resources-cardheader-responsive
Fix: responsive layout for CardHeader (small/medium/large screens)  inside manage resources page.
2025-08-18 22:09:12 -07:00
miloschwartz
34002470a5 add migration to scirpts 2025-08-18 16:27:51 -07:00
miloschwartz
49f84bccad migrations 2025-08-18 15:43:48 -07:00
Owen
4bcb4a1590 Merge branch 'hybrid' into dev 2025-08-18 15:29:23 -07:00
miloschwartz
378de19f41 add pg 1.9.0 migration 2025-08-18 15:29:04 -07:00
Owen
ffe2512734 Update 2025-08-18 15:27:59 -07:00
Pallavi
b4be620a5b Fix: responsive layout for CardHeader (small/medium/large screens) 2025-08-19 03:53:49 +05:30
miloschwartz
ac8b546393 add sqlite 1.9.0 migration 2025-08-18 14:29:06 -07:00
Owen
9bdf31ee97 Add csrf to auth 2025-08-18 12:22:45 -07:00
Owen
c29cd05db8 Update to pull defaults from var 2025-08-18 12:22:45 -07:00
miloschwartz
cd34820138 prompt for convert node in installer 2025-08-18 12:06:59 -07:00
miloschwartz
d207318494 remove org from get client route 2025-08-18 12:06:01 -07:00
Owen
117062f1d1 One start command 2025-08-17 22:18:25 -07:00
Owen
9d561ba94d Remove bad import 2025-08-17 22:01:30 -07:00
Owen
97fcaed9b4 Optionally use file mode 2025-08-17 21:58:27 -07:00
Owen
5e53ea3607 Merge branch 'hybrid' of github.com:fosrl/pangolin into hybrid 2025-08-17 21:47:13 -07:00
Owen
7dc74cb61b Fix import for traefikConfig 2025-08-17 21:45:17 -07:00
Owen
fbefcfedb9 Also allow local traefikConfig 2025-08-17 21:44:28 -07:00
miloschwartz
36c0d9aba2 add hybrid splash 2025-08-17 21:29:21 -07:00
Owen
8c8a981452 Make more efficient the cert get 2025-08-17 20:18:10 -07:00
dependabot[bot]
7dd586e31d Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 02:32:20 +00:00
dependabot[bot]
366a31b41b Bump the prod-patch-updates group across 1 directory with 13 updates
Bumps the prod-patch-updates group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@radix-ui/react-checkbox](https://github.com/radix-ui/primitives) | `1.3.2` | `1.3.3` |
| [@radix-ui/react-collapsible](https://github.com/radix-ui/primitives) | `1.1.11` | `1.1.12` |
| [@radix-ui/react-dialog](https://github.com/radix-ui/primitives) | `1.1.14` | `1.1.15` |
| [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives) | `2.1.15` | `2.1.16` |
| [@radix-ui/react-popover](https://github.com/radix-ui/primitives) | `1.1.14` | `1.1.15` |
| [@radix-ui/react-radio-group](https://github.com/radix-ui/primitives) | `1.3.7` | `1.3.8` |
| [@radix-ui/react-scroll-area](https://github.com/radix-ui/primitives) | `1.2.9` | `1.2.10` |
| [@radix-ui/react-select](https://github.com/radix-ui/primitives) | `2.2.5` | `2.2.6` |
| [@radix-ui/react-switch](https://github.com/radix-ui/primitives) | `1.2.5` | `1.2.6` |
| [@radix-ui/react-tabs](https://github.com/radix-ui/primitives) | `1.1.12` | `1.1.13` |
| [@radix-ui/react-toast](https://github.com/radix-ui/primitives) | `1.2.14` | `1.2.15` |
| [@radix-ui/react-tooltip](https://github.com/radix-ui/primitives) | `1.2.7` | `1.2.8` |
| [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css) | `1.3.6` | `1.3.7` |



Updates `@radix-ui/react-checkbox` from 1.3.2 to 1.3.3
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-collapsible` from 1.1.11 to 1.1.12
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-dialog` from 1.1.14 to 1.1.15
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-dropdown-menu` from 2.1.15 to 2.1.16
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-popover` from 1.1.14 to 1.1.15
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-radio-group` from 1.3.7 to 1.3.8
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-scroll-area` from 1.2.9 to 1.2.10
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-select` from 2.2.5 to 2.2.6
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-switch` from 1.2.5 to 1.2.6
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-tabs` from 1.1.12 to 1.1.13
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-toast` from 1.2.14 to 1.2.15
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-tooltip` from 1.2.7 to 1.2.8
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `tw-animate-css` from 1.3.6 to 1.3.7
- [Release notes](https://github.com/Wombosvideo/tw-animate-css/releases)
- [Commits](https://github.com/Wombosvideo/tw-animate-css/compare/v1.3.6...v1.3.7)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-checkbox"
  dependency-version: 1.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-collapsible"
  dependency-version: 1.1.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-dialog"
  dependency-version: 1.1.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-dropdown-menu"
  dependency-version: 2.1.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-popover"
  dependency-version: 1.1.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-radio-group"
  dependency-version: 1.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-scroll-area"
  dependency-version: 1.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-select"
  dependency-version: 2.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-switch"
  dependency-version: 1.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-tabs"
  dependency-version: 1.1.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-toast"
  dependency-version: 1.2.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-tooltip"
  dependency-version: 1.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: tw-animate-css
  dependency-version: 1.3.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 02:22:55 +00:00
dependabot[bot]
f09557d73c Bump the dev-patch-updates group with 2 updates
Bumps the dev-patch-updates group with 2 updates: [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss).


Updates `@tailwindcss/postcss` from 4.1.11 to 4.1.12
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.12/packages/@tailwindcss-postcss)

Updates `tailwindcss` from 4.1.11 to 4.1.12
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.12/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 02:18:49 +00:00
Owen
33a2ac402c Fix " 2025-08-17 18:36:23 -07:00
Owen
632333c49f Fix build args again 2025-08-17 18:31:08 -07:00
Owen
c8bea4d7de Finish adding arg 2025-08-17 18:20:53 -07:00
Owen
c1d75d32c2 Remove old docker files 2025-08-17 18:19:33 -07:00
Owen
b805daec51 Move to build arg 2025-08-17 18:18:26 -07:00
Owen
af2088df4e Control which types of sites work and tell user 2025-08-17 18:01:36 -07:00
Owen
3b8d1f40a7 Include get hostname, filter sites fix gerbil conf 2025-08-17 11:23:43 -07:00
Owen
8355d3664e Retry the token request 2025-08-16 17:53:33 -07:00
Owen
83a696f743 Make traefik config wor 2025-08-16 17:29:27 -07:00
Owen
7ca507b1ce Fixing traefik problems 2025-08-16 17:16:19 -07:00
Owen
609435328e Smoothing over initial connection issues 2025-08-16 16:42:34 -07:00
Owen
d771317e3f Fix traefik config 2025-08-16 14:57:19 -07:00
Owen
d548563e65 Export the right thing 2025-08-16 14:54:16 -07:00
Owen
f07cd8aee3 Fix traefik config merge 2025-08-16 12:07:15 -07:00
miloschwartz
48963f24df add oss check 2025-08-16 12:06:42 -07:00
Owen
7bf98c0c40 Merge branch 'dev' into hybrid 2025-08-16 12:04:16 -07:00
Owen
e73383cc79 Add auth to gerbil calls 2025-08-15 16:53:30 -07:00
miloschwartz
79ce93d578 Merge branch 'site-targets-auto-login' into dev 2025-08-15 16:42:09 -07:00
miloschwartz
200a7fcd40 fix sidebar spacing 2025-08-15 16:00:58 -07:00
Owen
e043d0e654 Use new function 2025-08-15 15:59:38 -07:00
Owen
21ce678e5b Move exit node function 2025-08-15 15:52:09 -07:00
Owen
5c94887949 Use new exit node functions 2025-08-15 15:45:45 -07:00
Owen
69a9bcb3da Add exit node helper functions 2025-08-15 15:34:31 -07:00
Owen
2fea091e1f Move newt version 2025-08-15 12:24:54 -07:00
Owen Schwartz
24314a103f Merge pull request #1284 from Pallavikumarimdb/Fix/missing-hostmeta-export-PG
add missing hostmeta export for PG schema
2025-08-15 10:55:22 -07:00
Pallavi
b56db41d0b add missing hostmeta export for PG schema 2025-08-15 21:23:07 +05:30
Owen
825bff5d60 Badger & traefik working now? 2025-08-14 21:48:14 -07:00
Owen
f9184cf489 Handle badger config correctly 2025-08-14 20:30:07 -07:00
miloschwartz
5c04b1e14a add site targets, client resources, and auto login 2025-08-14 18:24:21 -07:00
Owen
2c96eb7851 Adding and removing peers working; better axios errors 2025-08-14 17:57:50 -07:00
miloschwartz
67ba225003 add statistics 2025-08-14 17:06:07 -07:00
Owen
04ecf41c5a Move exit node comms to new file 2025-08-14 15:39:05 -07:00
Owen
6600de7320 Traefik config & gerbil config working? 2025-08-14 14:47:07 -07:00
Owen
f7b82f0a7a Work on pulling in remote traefik 2025-08-14 12:35:33 -07:00
Owen
65bdb232f4 Use right logging 2025-08-14 12:01:07 -07:00
Owen
200e3af384 Websocket connects 2025-08-14 11:58:08 -07:00
Owen
aabfa91f80 Fix ping new integer 2025-08-14 11:11:01 -07:00
Jack Rosenberg
e5468a7391 fix: change default integration_api to 3004 2025-08-14 19:53:25 +02:00
Owen
d5a11edd0c Remove orgId 2025-08-14 10:38:22 -07:00
Owen
fcc86b07ba Break out hole punch 2025-08-13 22:05:26 -07:00
miloschwartz
74d2527af5 make email lower case in pangctl reset password closes #1210 2025-08-13 22:00:20 -07:00
Owen
50cf284273 Break out bandwidth 2025-08-13 21:45:44 -07:00
Owen
aaddde0a9b Add export 2025-08-13 21:41:33 -07:00
Owen
ac87345b7a Seperate get relays 2025-08-13 21:35:06 -07:00
Owen
23079d9ac0 Fix exit node ping message 2025-08-13 20:48:54 -07:00
Owen
b573d63648 Add cols to exit node 2025-08-13 20:41:29 -07:00
Owen
34d705a54e Rename olm offline 2025-08-13 20:31:48 -07:00
Owen
eeb1d4954d Use an epoch number for the clients online to fix query 2025-08-13 20:27:57 -07:00
Owen
b638adedff Seperate get gerbil config 2025-08-13 20:27:48 -07:00
Owen
285e24cdc7 Use an epoch number for the clients online to fix query 2025-08-13 20:26:50 -07:00
dependabot[bot]
396e643b06 Bump express-rate-limit from 7.5.1 to 8.0.1
Bumps [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) from 7.5.1 to 8.0.1.
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.0.1)

---
updated-dependencies:
- dependency-name: express-rate-limit
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 02:08:28 +00:00
Owen
dc50190dc3 Handle token 2025-08-13 17:30:59 -07:00
Owen
2c8bf4f18c Handle oss tls 2025-08-13 16:23:24 -07:00
Owen
1f6379a7e6 Break out traefik config 2025-08-13 16:15:23 -07:00
Owen
ddd8eb1da0 Change sni proxy url 2025-08-13 16:02:03 -07:00
Owen
4c463de45f Version does not need to be notNull 2025-08-13 14:47:03 -07:00
Owen
1f4a7a7f6f Add olm version 2025-08-13 12:35:09 -07:00
Owen
e7df29104e Fix backwards compat path 2025-08-13 12:28:45 -07:00
Owen
9987b35b60 Update package lock again 2025-08-13 12:26:38 -07:00
Owen
16e876ab68 Clean up checkbox 2025-08-13 12:13:47 -07:00
Owen
50fc2fc74e Add newt install command 2025-08-13 11:30:21 -07:00
Owen
c244dc9c0c Add accept clients to install 2025-08-13 11:15:14 -07:00
Owen
0f50981573 Update lock 2025-08-13 11:15:06 -07:00
Owen
0c1cb20936 Merge branch 'main' into dev 2025-08-13 10:58:04 -07:00
Owen Schwartz
192617a884 Merge pull request #1268 from fosrl/crowdin_dev
New Crowdin updates
2025-08-13 10:18:21 -07:00
Owen Schwartz
297991ef5f New translations en-us.json (Chinese Simplified) 2025-08-12 22:16:21 -07:00
Owen Schwartz
75f97c4a31 New translations en-us.json (Turkish) 2025-08-12 22:16:20 -07:00
Owen Schwartz
40f520086c New translations en-us.json (Russian) 2025-08-12 22:16:18 -07:00
Owen Schwartz
c8dda4f90d New translations en-us.json (Portuguese) 2025-08-12 22:16:17 -07:00
Owen Schwartz
5f09f97032 New translations en-us.json (Polish) 2025-08-12 22:16:15 -07:00
Owen Schwartz
168056d595 New translations en-us.json (Dutch) 2025-08-12 22:16:14 -07:00
Owen Schwartz
c70eaa0096 New translations en-us.json (Korean) 2025-08-12 22:16:13 -07:00
Owen Schwartz
5f36b13408 New translations en-us.json (Italian) 2025-08-12 22:16:11 -07:00
Owen Schwartz
9dc73efa3a New translations en-us.json (German) 2025-08-12 22:16:10 -07:00
Owen Schwartz
e9c2868998 New translations en-us.json (Czech) 2025-08-12 22:16:09 -07:00
Owen Schwartz
0a13b04c55 New translations en-us.json (Bulgarian) 2025-08-12 22:16:07 -07:00
Owen Schwartz
cf12d3ee56 New translations en-us.json (Spanish) 2025-08-12 22:16:06 -07:00
Owen Schwartz
cea7190453 New translations en-us.json (French) 2025-08-12 22:16:04 -07:00
Owen Schwartz
c6d78680fb New translations en-us.json (Norwegian Bokmal) 2025-08-12 22:16:03 -07:00
Owen Schwartz
0bf302e013 Merge pull request #1129 from adrianeastles/feature/form-signup-improvements
Form Signup Improvements - Password Requirements & Pre-Filled Email on signup form Invite
2025-08-12 21:52:44 -07:00
Owen
1351fb6689 Merge branch 'feature/form-signup-improvements' of github.com:adrianeastles/pangolin into adrianeastles-feature/form-signup-improvements 2025-08-12 21:40:55 -07:00
Owen
af638d666c Dont look for port if not root; causes permission 2025-08-12 21:34:24 -07:00
Owen Schwartz
e4fe601d9d Merge pull request #1208 from adrianeastles/feature/setup-token-security
Add setup token security for initial server setup
2025-08-12 21:31:58 -07:00
Owen
4f3cd71e1e Merge branch 'feature/setup-token-security' of github.com:adrianeastles/pangolin into adrianeastles-feature/setup-token-security 2025-08-12 21:12:55 -07:00
Owen Schwartz
9c0295db9f Merge pull request #1246 from Lokowitz/update-express
Update express to version 5
2025-08-12 20:38:02 -07:00
Owen Schwartz
3fc2d1df80 Merge pull request #1252 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-ce9f23b7ef
Bump the prod-minor-updates group with 2 updates
2025-08-12 20:37:13 -07:00
Owen Schwartz
4a6747dcc7 Merge pull request #1266 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-eb33d068de
Bump the dev-patch-updates group across 1 directory with 6 updates
2025-08-12 20:36:51 -07:00
Owen Schwartz
54b3c92953 Merge pull request #1262 from jackrosenberg/patch-1
fix: fixed api error message in createSite.ts
2025-08-12 20:36:26 -07:00
dependabot[bot]
a4d460e850 Bump the dev-patch-updates group across 1 directory with 6 updates
Bumps the dev-patch-updates group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.2.0` | `24.2.1` |
| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.15.4` | `8.15.5` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.9` | `19.1.10` |
| [esbuild](https://github.com/evanw/esbuild) | `0.25.6` | `0.25.9` |
| [tsx](https://github.com/privatenumber/tsx) | `4.20.3` | `4.20.4` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.39.0` | `8.39.1` |



Updates `@types/node` from 24.2.0 to 24.2.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/pg` from 8.15.4 to 8.15.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

Updates `@types/react` from 19.1.9 to 19.1.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `esbuild` from 0.25.6 to 0.25.9
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.6...v0.25.9)

Updates `tsx` from 4.20.3 to 4.20.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.3...v4.20.4)

Updates `typescript-eslint` from 8.39.0 to 8.39.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/pg"
  dependency-version: 8.15.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tsx
  dependency-version: 4.20.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript-eslint
  dependency-version: 8.39.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 02:39:05 +00:00
Owen
3d8869066a Adjust pulling in config 2025-08-12 16:47:59 -07:00
Owen
880a123149 Import tcm 2025-08-12 16:31:53 -07:00
Owen
39e35bc1d6 Add traefik config management 2025-08-12 16:27:41 -07:00
Owen
f219f1e36b Move remote proxy 2025-08-12 16:27:34 -07:00
Owen
25ed3d65f8 Make the proxy more general 2025-08-12 15:58:20 -07:00
Owen
30dbabd73d Add internal proxy for gerbil endpoints 2025-08-12 15:27:03 -07:00
Owen
ea2e5bf486 Merge branch 'dev' into hybrid 2025-08-12 15:02:43 -07:00
Owen
ae52fcc757 Merge branch 'dev' into clients-multi-pop 2025-08-12 15:01:00 -07:00
Owen
b6c2f123e8 Add basic ws client 2025-08-12 14:30:23 -07:00
Owen
15f900317a Basic client 2025-08-12 13:53:57 -07:00
Owen
22545cac8b Basic verify session breakout 2025-08-12 13:40:59 -07:00
jack rosenberg
03c8d82471 fix: fixed api error message in createSite.ts 2025-08-12 17:34:40 +02:00
dependabot[bot]
14d7a138a5 Bump the prod-minor-updates group with 2 updates
Bumps the prod-minor-updates group with 2 updates: [eslint](https://github.com/eslint/eslint) and [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).


Updates `eslint` from 9.32.0 to 9.33.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)

Updates `lucide-react` from 0.536.0 to 0.539.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.539.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.539.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 02:26:46 +00:00
Marvin
a829eb949b modified: package-lock.json
modified:   package.json
	modified:   server/nextServer.ts
2025-08-10 19:02:50 +00:00
Owen Schwartz
fd605d9c81 Merge pull request #1244 from fosrl/crowdin_dev
New Crowdin updates
2025-08-10 10:17:31 -07:00
Owen
55b4a9eddb Merge branch 'main' into dev 2025-08-10 10:16:47 -07:00
Owen Schwartz
9ccf77b99c Merge pull request #1113 from fosrl/copilot/fix-1112
Fix ESLint issues: prefer-const warnings and missing semicolons
2025-08-10 10:15:58 -07:00
Owen
ea27075bab Lint fix 2025-08-10 10:14:45 -07:00
Owen
c3723d0fce Add semi 2025-08-10 10:14:04 -07:00
Owen
0edb3cd316 Merge branch 'main' of github.com:fosrl/pangolin into copilot/fix-1112 2025-08-10 10:11:19 -07:00
Owen
e9e6b0bc4f Merge branch 'main' into copilot/fix-1112 2025-08-10 10:10:10 -07:00
Owen
4701da201d Fix a few consts to lets 2025-08-10 10:09:52 -07:00
Owen
d6d2e052dd Fix missing bracket 2025-08-10 10:04:41 -07:00
Owen Schwartz
d3d1dcfe1d New translations en-us.json (Norwegian Bokmal) 2025-08-09 12:24:58 -07:00
Owen Schwartz
918ebf5e65 Merge pull request #1228 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-7f7b11108e
Bump the prod-patch-updates group across 1 directory with 7 updates
2025-08-09 10:13:26 -07:00
Owen Schwartz
67184b88a8 Merge pull request #1134 from Lokowitz/update-node-version
update node to LTS 22
2025-08-09 10:12:57 -07:00
dependabot[bot]
fb0f4c3939 Bump the prod-patch-updates group across 1 directory with 7 updates
Bumps the prod-patch-updates group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@react-email/tailwind](https://github.com/resend/react-email/tree/HEAD/packages/tailwind) | `1.2.1` | `1.2.2` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.44.2` | `0.44.4` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.1.0` | `19.1.1` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.8` | `19.1.9` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.1.0` | `19.1.1` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.1.6` | `19.1.7` |
| [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css) | `1.3.5` | `1.3.6` |



Updates `@react-email/tailwind` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/@react-email/tailwind@1.2.2/packages/tailwind/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/tailwind@1.2.2/packages/tailwind)

Updates `drizzle-orm` from 0.44.2 to 0.44.4
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.44.2...0.44.4)

Updates `react` from 19.1.0 to 19.1.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.1/packages/react)

Updates `@types/react` from 19.1.8 to 19.1.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-dom` from 19.1.0 to 19.1.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.1/packages/react-dom)

Updates `@types/react-dom` from 19.1.6 to 19.1.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `tw-animate-css` from 1.3.5 to 1.3.6
- [Release notes](https://github.com/Wombosvideo/tw-animate-css/releases)
- [Commits](https://github.com/Wombosvideo/tw-animate-css/compare/v1.3.5...v1.3.6)

---
updated-dependencies:
- dependency-name: "@react-email/tailwind"
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: react
  dependency-version: 19.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: react-dom
  dependency-version: 19.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: tw-animate-css
  dependency-version: 1.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-09 17:09:19 +00:00
Owen Schwartz
aae5343543 Merge pull request #1192 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-157f1fe21d
Bump the dev-minor-updates group across 1 directory with 5 updates
2025-08-09 10:06:16 -07:00
Owen Schwartz
51e9762ca8 Merge pull request #1229 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-12f913bac4
Bump the prod-minor-updates group across 1 directory with 9 updates
2025-08-09 10:05:47 -07:00
Owen Schwartz
330dafc652 Merge pull request #1242 from EliasTors/translation-nb-NO
Translation nb no
2025-08-09 10:02:47 -07:00
Owen Schwartz
7ddf9fa54e Merge pull request #1234 from fosrl/crowdin_dev
New Crowdin updates
2025-08-09 10:02:21 -07:00
Owen Schwartz
f2ca09eedd Merge pull request #1237 from adrianeastles/feature/passkey-pangctl-support
Pangctl command to reset a user’s passkeys (WebAuthn credentials)
2025-08-09 10:01:40 -07:00
Elias Torstensen
f0e2c8416d Merge branch 'dev' into translation-nb-NO 2025-08-08 21:41:43 +02:00
EliasT05
338b7a8c13 Added nb-NO to list of locals 2025-08-08 21:33:11 +02:00
EliasT05
b4284f82f3 Added nb-NO translation 2025-08-08 21:23:09 +02:00
Owen Schwartz
0ce430cab5 New translations en-us.json (Bulgarian) 2025-08-07 15:04:32 -07:00
Owen Schwartz
95c0f6c093 New translations en-us.json (Russian) 2025-08-07 15:04:30 -07:00
Owen Schwartz
387dbc360e New translations en-us.json (Chinese Simplified) 2025-08-07 15:04:29 -07:00
Owen Schwartz
a88be89c2f New translations en-us.json (Turkish) 2025-08-07 15:04:24 -07:00
Owen Schwartz
8bc353442f New translations en-us.json (Portuguese) 2025-08-07 15:04:22 -07:00
Owen Schwartz
b3502bd627 New translations en-us.json (Polish) 2025-08-07 15:04:21 -07:00
Owen Schwartz
56da7c242d New translations en-us.json (Dutch) 2025-08-07 15:04:20 -07:00
Owen Schwartz
fa8f49e87d New translations en-us.json (Korean) 2025-08-07 15:04:18 -07:00
Owen Schwartz
6e08a70afc New translations en-us.json (Italian) 2025-08-07 15:04:17 -07:00
Owen Schwartz
bd4be2b05c New translations en-us.json (German) 2025-08-07 15:04:16 -07:00
Owen Schwartz
6b6ff0a95e New translations en-us.json (Czech) 2025-08-07 15:04:15 -07:00
Owen Schwartz
4755cae5cb New translations en-us.json (Spanish) 2025-08-07 15:04:14 -07:00
Owen Schwartz
b2384ccc06 New translations en-us.json (French) 2025-08-07 15:04:12 -07:00
Owen
e6589308dd Update readme 2025-08-07 14:53:46 -07:00
dependabot[bot]
879b25be9f Bump the prod-minor-updates group across 1 directory with 9 updates
Bumps the prod-minor-updates group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.3.1` | `0.5.0` |
| [@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render) | `1.1.3` | `1.2.0` |
| [axios](https://github.com/axios/axios) | `1.10.0` | `1.11.0` |
| [eslint](https://github.com/eslint/eslint) | `9.31.0` | `9.32.0` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.3.5` | `15.4.6` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.525.0` | `0.536.0` |
| [next](https://github.com/vercel/next.js) | `15.3.5` | `15.4.6` |
| [npm](https://github.com/npm/cli) | `11.4.2` | `11.5.2` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.60.0` | `7.62.0` |



Updates `@react-email/components` from 0.3.1 to 0.5.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/@react-email/components@0.5.0/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.5.0/packages/components)

Updates `@react-email/render` from 1.1.3 to 1.2.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/@react-email/render@1.2.0/packages/render/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/render@1.2.0/packages/render)

Updates `axios` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.10.0...v1.11.0)

Updates `eslint` from 9.31.0 to 9.32.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)

Updates `eslint-config-next` from 15.3.5 to 15.4.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.4.6/packages/eslint-config-next)

Updates `lucide-react` from 0.525.0 to 0.536.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.536.0/packages/lucide-react)

Updates `next` from 15.3.5 to 15.4.6
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.3.5...v15.4.6)

Updates `npm` from 11.4.2 to 11.5.2
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.4.2...v11.5.2)

Updates `react-hook-form` from 7.60.0 to 7.62.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.60.0...v7.62.0)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@react-email/render"
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint-config-next
  dependency-version: 15.4.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.536.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: next
  dependency-version: 15.4.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: npm
  dependency-version: 11.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.62.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 01:42:42 +00:00
dependabot[bot]
d3ad941b30 Bump the dev-minor-updates group across 1 directory with 5 updates
Bumps the dev-minor-updates group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) | `1.47.6` | `1.48.4` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.0.14` | `24.1.0` |
| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `4.1.0` | `4.2.6` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.8.3` | `5.9.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.37.0` | `8.38.0` |



Updates `@dotenvx/dotenvx` from 1.47.6 to 1.48.4
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.47.6...v1.48.4)

Updates `@types/node` from 24.0.14 to 24.1.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `react-email` from 4.1.0 to 4.2.6
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/react-email@4.2.6/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.2.6/packages/react-email)

Updates `typescript` from 5.8.3 to 5.9.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2)

Updates `typescript-eslint` from 8.37.0 to 8.38.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.48.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: "@types/node"
  dependency-version: 24.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: react-email
  dependency-version: 4.2.6
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript
  dependency-version: 5.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 01:40:47 +00:00
Owen Schwartz
f077fbc3f5 Merge pull request #1219 from aclfe/port-check80443
Added checks for port 80 and 443
2025-08-06 10:33:24 -07:00
Owen
4679ce968b Merge branch 'Xentrice-IPv6_optional' into dev 2025-08-06 10:22:19 -07:00
Owen
101e462649 Merge branch 'main' into dev 2025-08-06 10:21:54 -07:00
Owen
5d93ab9b9e Merge branch 'IPv6_optional' of github.com:Xentrice/pangolin into Xentrice-IPv6_optional 2025-08-06 10:19:51 -07:00
Owen
d557832509 Send this right IP this time 2025-08-05 11:37:45 -07:00
Owen
fe5c91db29 Change how you send the desitnations 2025-08-05 11:25:54 -07:00
Adrian Astles
b2947193ec Integrate setup token into installer, this will now parse the container logs to extract setup token automatically. Displays token with clear instructions and URL for initial admin setup. 2025-08-05 17:35:22 +08:00
Owen
f6440753b6 Only update proxy mapping if there is an existing 2025-08-04 21:34:07 -07:00
Owen
17cf903804 publicKey optional 2025-08-04 21:29:40 -07:00
Owen
dcf530d237 Add backward compatability 2025-08-04 20:36:25 -07:00
Owen
6b1808dab1 Handle multiple hp messages 2025-08-04 20:34:27 -07:00
Owen
5889efd74a Send all hp data now 2025-08-04 20:22:13 -07:00
Owen
1a9de1e5c5 Move endpoint to per site 2025-08-04 20:17:35 -07:00
Owen
d1404a2b07 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-08-04 20:02:08 -07:00
Sebastian Felber
664dbf3f4c make IPv6 optional during install 2025-08-04 15:45:33 +00:00
Owen Schwartz
f32a8e26b6 Merge pull request #1209 from fosrl/crowdin_dev
New Crowdin updates
2025-08-03 11:42:10 -07:00
Owen Schwartz
b1a92fd4e0 New translations en-us.json (Bulgarian) 2025-08-03 11:40:48 -07:00
Owen Schwartz
1ea9fd2d49 New translations en-us.json (Russian) 2025-08-03 11:40:47 -07:00
Owen Schwartz
f31e4e3176 New translations en-us.json (Chinese Simplified) 2025-08-03 11:40:46 -07:00
Owen Schwartz
e3287a7e9f New translations en-us.json (Turkish) 2025-08-03 11:40:45 -07:00
Owen Schwartz
ec21153d4b New translations en-us.json (Portuguese) 2025-08-03 11:40:44 -07:00
Owen Schwartz
917e7a8c1d New translations en-us.json (Polish) 2025-08-03 11:40:43 -07:00
Owen Schwartz
8e0a8dc272 New translations en-us.json (Dutch) 2025-08-03 11:40:41 -07:00
Owen Schwartz
91bac29ea3 New translations en-us.json (Korean) 2025-08-03 11:40:40 -07:00
Owen Schwartz
3e333769bb New translations en-us.json (Italian) 2025-08-03 11:40:39 -07:00
Owen Schwartz
b4bde6660a New translations en-us.json (German) 2025-08-03 11:40:38 -07:00
Owen Schwartz
917f752081 New translations en-us.json (Czech) 2025-08-03 11:40:37 -07:00
Owen Schwartz
915d561286 New translations en-us.json (Spanish) 2025-08-03 11:40:36 -07:00
Owen Schwartz
01ef809fd3 New translations en-us.json (French) 2025-08-03 11:40:35 -07:00
Owen Schwartz
19902092ce Merge pull request #1177 from Error-Gap/portbinding-fixes
Portbinding fixes
2025-08-03 11:37:30 -07:00
Owen Schwartz
39603b6e53 Merge pull request #1205 from Pallavikumarimdb/feature-default-language
System wide default language detection via browser language header
2025-08-03 11:35:41 -07:00
Adrian Astles
9c85a09d3e revert: package-lock.json to original state 2025-08-03 21:20:25 +08:00
Adrian Astles
69baa6785f feat: Add setup token security for initial server setup
- Add setupTokens database table with proper schema
- Implement setup token generation on first server startup
- Add token validation endpoint and modify admin creation
- Update initial setup page to require setup token
- Add migration scripts for both SQLite and PostgreSQL
- Add internationalization support for setup token fields
- Implement proper error handling and logging
- Add CLI command for resetting user security keys

This prevents unauthorized access during initial server setup by requiring
a token that is generated and displayed in the server console.
2025-08-03 21:17:18 +08:00
Adrian Astles
bb84d01e14 Reset a user's security keys (passkeys) by deleting all their webauthn credentials.
pangctl reset-user-security-keys --email user@example.com

This command will:
1. Find the user by email address
2. Check if they have any registered security keys
3. Delete all their security keys from the database
4. Provide feedback on the operation
2025-08-03 20:47:27 +08:00
Pallavi
616dae2d8b code format 2025-08-03 12:26:21 +05:30
Pallavi
3fbfe50e09 Default language detection via browser language header 2025-08-03 12:21:41 +05:30
Kairav Mittal
c0c8edb9d1 Added checks for port 80 and 443
In my issue #1203, I noticed there was a problem when ports 80 and 443 were already in use. This caused the docker containers to be created but not running
2025-08-03 11:30:33 +05:30
miloschwartz
84268e484d update docs links 2025-08-01 22:34:02 -07:00
Owen Schwartz
c473c2fa81 Merge pull request #1200 from Lokowitz/update-versions
Update versions
2025-08-01 21:24:39 -07:00
miloschwartz
7402590f49 remove api-key-org association for root keys 2025-08-01 15:56:03 -07:00
Marvin
529d1c9f66 modified: .github/workflows/cicd.yml 2025-08-01 18:37:08 +00:00
Marvin
e85b772ca5 update versions 2025-08-01 18:33:25 +00:00
Owen
f75169fc26 Add missing langs 2025-08-01 11:08:30 -07:00
Owen Schwartz
07b86521a5 Merge pull request #1196 from confusedalex/fix-nix
fix: adapt nix run command
2025-08-01 09:34:02 -07:00
confusedalex
961008bbe1 fix: adapt nix run command 2025-08-01 11:31:29 +02:00
Owen
6d359b6bb9 Add createdAt to org insert 2025-07-31 17:53:11 -07:00
Owen
ea6f803e78 Add createdAt to org 2025-07-31 17:51:30 -07:00
Owen
0151f8a6a9 Fix bad sourcePort 2025-07-31 15:57:30 -07:00
Owen
39c5101957 Merge branch 'main' into dev 2025-07-31 15:55:54 -07:00
Owen
9b1cd5f79c Ignore the config dir 2025-07-31 15:01:29 -07:00
Owen
36d0b83ed3 Fix errors again 2025-07-31 15:00:17 -07:00
Owen
f0138fad4f Improve gerbil logging 2025-07-31 14:25:22 -07:00
Owen
69802e78f8 Org is not optional 2025-07-31 11:06:07 -07:00
Owen
92e69f561f Org is not optional 2025-07-31 11:05:24 -07:00
miloschwartz
b351520e92 add clients enabled middleware 2025-07-30 23:18:51 -07:00
T Aviss
481714f095 Fix for issues with binding ports other than 80/443
server/routers/badger/verifySession.ts : verifyResourceSession() updated code behind "cleanHost" var to a regex which strips the trailing :port for any port (rather than a string match for 80/443)
src/app/auth/resource/[resourceId]/page.tsx : ResourceAuthPage() added a secondary match for serverResourceHost and redirectHost that accounts for ports
server/routers/badger/exchangeSession.ts : Updated exchangeSession() to use the same "cleanHost" type var (with port-stripping) as in verifyResourceSession(), replaced references to "host" with "cleanHost"
2025-07-30 22:16:46 -07:00
miloschwartz
d38656e026 add clients to int api 2025-07-30 21:31:16 -07:00
Owen
69b28b9b02 Merge branch 'dev' 2025-07-30 15:19:27 -07:00
Owen Schwartz
35a68703c2 Merge pull request #1173 from fosrl/crowdin_dev
New Crowdin updates
2025-07-30 15:19:04 -07:00
Owen Schwartz
c49fe04750 New translations en-us.json (Russian) 2025-07-30 15:18:36 -07:00
Owen Schwartz
31feabbec7 New translations en-us.json (Chinese Simplified) 2025-07-30 15:18:35 -07:00
Owen Schwartz
bc3cb2c3c9 New translations en-us.json (Turkish) 2025-07-30 15:18:34 -07:00
Owen Schwartz
5ec4481c92 New translations en-us.json (Portuguese) 2025-07-30 15:18:32 -07:00
Owen Schwartz
be5cb48dfe New translations en-us.json (Polish) 2025-07-30 15:18:31 -07:00
Owen Schwartz
48ff1ece16 New translations en-us.json (Dutch) 2025-07-30 15:18:30 -07:00
Owen Schwartz
ed20ed592f New translations en-us.json (Italian) 2025-07-30 15:18:28 -07:00
Owen Schwartz
4fb3435c29 New translations en-us.json (German) 2025-07-30 15:18:27 -07:00
Owen Schwartz
37eb14a01a New translations en-us.json (Spanish) 2025-07-30 15:18:25 -07:00
Owen Schwartz
d403bc86e3 New translations en-us.json (French) 2025-07-30 15:18:24 -07:00
Owen Schwartz
0e2f0f2a4d Merge pull request #1150 from fosrl/crowdin_dev
New Crowdin updates
2025-07-30 15:11:48 -07:00
Owen Schwartz
1a4d34a802 Merge pull request #1172 from fosrl/dev
1.8.0
2025-07-30 15:07:47 -07:00
Owen
bb15af9954 Add ports warn at start 2025-07-30 10:23:52 -07:00
Owen
8a250d1011 rm YC 2025-07-30 10:23:44 -07:00
Owen
2f9994f600 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-30 10:09:34 -07:00
Owen
1cca06a274 Add note about wintun 2025-07-29 23:09:49 -07:00
miloschwartz
8fdb3ea631 hide favicon 2025-07-29 10:46:08 -07:00
Owen
35823d5751 Fix adding sites to client 2025-07-28 22:40:27 -07:00
Owen
66f90a542a Rename to pg 2025-07-28 18:34:23 -07:00
Owen
49981c4bee Add 21820 to docker 2025-07-28 18:34:01 -07:00
Owen
d732c1a845 Clean up migrations 2025-07-28 17:32:15 -07:00
Owen
4d7e25f97b Complete migrations 2025-07-28 17:22:53 -07:00
Owen
80656f48e0 Sqlite migration done 2025-07-28 17:18:51 -07:00
Owen
ebde149980 Merge branch 'main' into dev 2025-07-28 17:15:05 -07:00
miloschwartz
adc0a81592 delete org domains and resources on org delete 2025-07-28 15:34:56 -07:00
Owen Schwartz
b596f00ce5 New translations en-us.json (Chinese Simplified) 2025-07-28 14:16:24 -07:00
Owen Schwartz
448442f92b New translations en-us.json (Turkish) 2025-07-28 14:16:23 -07:00
Owen Schwartz
8518201562 New translations en-us.json (Portuguese) 2025-07-28 14:16:21 -07:00
Owen Schwartz
17586c4559 New translations en-us.json (Polish) 2025-07-28 14:16:19 -07:00
Owen Schwartz
f8622da7d4 New translations en-us.json (Dutch) 2025-07-28 14:16:18 -07:00
Owen Schwartz
b1a27e9060 New translations en-us.json (Korean) 2025-07-28 14:16:17 -07:00
Owen Schwartz
3c6423d444 New translations en-us.json (Italian) 2025-07-28 14:16:15 -07:00
Owen Schwartz
91b03160ea New translations en-us.json (German) 2025-07-28 14:16:14 -07:00
Owen Schwartz
0c1e20ba48 New translations en-us.json (Czech) 2025-07-28 14:16:13 -07:00
Owen Schwartz
1dcac85c0d New translations en-us.json (Spanish) 2025-07-28 14:16:12 -07:00
Owen Schwartz
3fc72dbec2 New translations en-us.json (French) 2025-07-28 14:16:11 -07:00
miloschwartz
494329f568 delete resources on delete org 2025-07-28 12:55:20 -07:00
Owen
a1e8211ba7 Dont send enableProxy 2025-07-28 12:53:13 -07:00
miloschwartz
80aa7502af fix resource domain not required 2025-07-28 12:52:44 -07:00
miloschwartz
67bae76048 minor visual tweaks to member landing 2025-07-28 12:21:15 -07:00
Milo Schwartz
bda2aa46b6 Merge pull request #1124 from adrianeastles/feature/member-resouce-landing-page
New Member Resource Landing Page
2025-07-28 14:33:09 -04:00
copilot-swe-agent[bot]
27ac204bb6 Fix variables incorrectly changed from let to const - revert to let where variables are reassigned
Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2025-07-28 17:43:40 +00:00
copilot-swe-agent[bot]
a2526ea244 Revert mappings variable from const to let in getAllRelays.ts
Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2025-07-28 17:30:21 +00:00
Owen Schwartz
6d9ba8dd2f Merge pull request #1104 from jackrosenberg/nixos_newt
add nixos option for newt in site creation
2025-07-28 10:19:23 -07:00
Owen
2ca8febff7 We dont need this config 2025-07-27 14:12:01 -07:00
Owen
e105a523e4 Add log and fix default 2025-07-27 14:11:36 -07:00
Owen
28f8b05dbc Basic clients working 2025-07-27 10:21:27 -07:00
Owen Schwartz
d95286db0e Merge pull request #1139 from SigmaSquadron/push-xlmpuutwtnuy
add shebangs to migration and server scripts
2025-07-27 10:11:17 -07:00
Owen Schwartz
8e45c34e8e Merge pull request #1138 from SigmaSquadron/push-uolqlutswopp
add an environment variable for the smtp_pass config option
2025-07-27 10:09:25 -07:00
Fernando Rodrigues
9e87c42d0c add shebangs to migration and server scripts
In NixOS, we wrap these files in a bash script to allow users to just run them as normal executables, instead of calling them as arguments to Node.JS. In our build scripts, we just add the shebang after the files have been compiled, but adding it upstream will allow all Pangolin users to just run ./server.mjs to start their Pangolin instances.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-07-27 13:10:18 +10:00
Fernando Rodrigues
0b52cd002e add an environment variable for the smtp_pass config option
The password for secure authentication may be sensitive, so it is best
to not leave it lying around in a config file. This commit introduces
the EMAIL_SMTP_PASS environment variable, which can be set to configure
the SMTP password without writing it to the configuration file.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-07-27 13:03:29 +10:00
Marvin
39c43c0c09 modified: .github/workflows/cicd.yml
modified:   .github/workflows/linting.yml
	modified:   .github/workflows/test.yml
	modified:   .nvmrc
	modified:   Dockerfile.dev
	modified:   Dockerfile.pg
	modified:   Dockerfile.sqlite
	modified:   esbuild.mjs
	modified:   package-lock.json
	modified:   tsconfig.json
2025-07-26 14:17:55 +00:00
Adrian Astles
350485612e This improves the user experience by automatically filling the email field
and preventing users from changing the email they were invited with.

- Update invite link generation to include email parameter in URL
- Modify signup form to pre-fill and lock email field when provided via invite
- Update invite page and status card to preserve email through redirect chain
- Ensure existing invite URLs continue to work without breaking changes
2025-07-25 22:46:40 +08:00
Adrian Astles
df31c13912 added real-time password validation to signup form. 2025-07-25 21:59:25 +08:00
Owen
15adfcca8c Add remote subnets to ui 2025-07-24 22:01:22 -07:00
Owen
1466788f77 Clients ui done 2025-07-24 21:42:44 -07:00
Owen
760fe3aca9 Create client component done 2025-07-24 21:26:02 -07:00
Owen
5f75813e84 Handle relaying change values in gerbil 2025-07-24 20:47:39 -07:00
Owen
59cb06acf4 Support relaying on register 2025-07-24 14:48:24 -07:00
Adrian Astles
6349406523 Removed member resouce sidebar to work with new sidebar. 2025-07-24 21:30:20 +08:00
Adrian Astles
bcc2c59f08 Add member portal functionality - extracted from feature/member-landing-page 2025-07-24 21:04:55 +08:00
jack
52d46f9879 add nixos option for newt in site creation 2025-07-23 10:02:58 +02:00
Owen Schwartz
0b50a5474d Merge pull request #1041 from wayneyaoo/feature/podman-installer
Add podman support to the installer
2025-07-22 21:41:32 -07:00
copilot-swe-agent[bot]
2259879595 Fix ESLint issues: prefer-const warnings and missing semicolons
Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2025-07-22 19:07:43 +00:00
copilot-swe-agent[bot]
4f5091ed7f Initial commit: Document plan to fix ESLint issues
Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2025-07-22 18:56:04 +00:00
copilot-swe-agent[bot]
b5afd73024 Initial plan 2025-07-22 18:47:17 +00:00
Owen
5c929badeb Send endpoint 2025-07-22 11:21:39 -07:00
Owen Schwartz
3f2de333fb Merge pull request #1111 from Xentrice/main
add IPv6 support for docker network
2025-07-22 11:06:06 -07:00
Sebastian Felber
7c12b8ae25 add IPv6 support for docker network 2025-07-22 16:20:02 +02:00
miloschwartz
b54ccbfa2f fix log in loading button 2025-07-21 17:26:02 -07:00
miloschwartz
114ce8997f add tos and pp consent 2025-07-21 16:57:21 -07:00
Owen
f1bba3b958 Fix issues in pg schema 2025-07-21 16:32:13 -07:00
miloschwartz
053acef728 allow using password to log in if security keys are available 2025-07-21 14:28:32 -07:00
miloschwartz
9f2710185b center toast 2025-07-21 13:10:39 -07:00
Owen
d000879c01 Add config for domains 2025-07-21 12:42:50 -07:00
Owen
25ae169fee Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-21 11:48:32 -07:00
Wayne Yao
4443dda0f6 Fix a bug that error check prevents port configuration 2025-07-21 22:48:10 +08:00
Wayne Yao
c484e989a9 Merge branch 'fosrl:main' into feature/podman-installer 2025-07-21 21:36:10 +08:00
miloschwartz
86a4656651 fix multi level subdomain conflict bug 2025-07-19 22:54:30 -07:00
Owen
f25aefeb11 Merge branch 'main' of github.com:fosrl/pangolin 2025-07-19 10:33:49 -07:00
Owen Schwartz
228643c7d7 Merge pull request #1097 from ivenos/patch-1
Replace .io domain with .com domain in README
2025-07-19 10:32:08 -07:00
Owen Schwartz
072d6d7094 Merge pull request #1095 from Lokowitz/fix-test
fix test
2025-07-19 10:29:20 -07:00
Iven
de3ce672b8 Replace .io domain with .com domain 2025-07-19 18:31:08 +02:00
Marvin
6f5c191998 Update test.yml 2025-07-19 11:09:19 +02:00
Owen
bbaea4def0 Handle peer relay dynamically now 2025-07-18 21:42:12 -07:00
Milo Schwartz
54f9282166 Merge pull request #1091 from fosrl/dev
Dev
2025-07-18 18:53:45 -04:00
miloschwartz
a39b1db266 bump version 2025-07-18 15:50:55 -07:00
miloschwartz
2ddb4ec905 allow multi level sudomains in domain picker 2025-07-18 15:48:23 -07:00
miloschwartz
7a59e3acf7 fix external user select box 2025-07-18 14:45:16 -07:00
miloschwartz
b34c3db956 fix redirect bug for some accounts when disable create org is enabled 2025-07-18 12:59:57 -07:00
Owen
afea958aca Also limit to org 2025-07-18 11:48:14 -07:00
Owen
dca2a29865 Fix #1085 2025-07-18 11:32:07 -07:00
Owen
97b8e84143 Fix #1085 2025-07-18 11:16:10 -07:00
Owen Schwartz
23eb0da7d7 Merge pull request #1089 from tomribbens/unauthenticated_email
test if smtp user/pass config is set and if not set auth: null
2025-07-18 10:28:17 -07:00
Owen Schwartz
2edda471e7 Merge pull request #1087 from itsbhanusharma/patch-1
Small Typo causes crowdsec to fail
2025-07-18 10:26:20 -07:00
Tom Ribbens
676aa1358d test if user/pass config is set and if not set auth: null 2025-07-18 17:09:22 +02:00
Bhanu
87a36d6ae3 Small Typo causes crowdsec to fail
first rule is named iame instead of name. seems like a recent typo. I edited file manually and it seems to have allowed crowdsec to boot up.
2025-07-18 18:40:15 +05:30
Owen
b67611094e YC 2025-07-18 00:28:10 -07:00
Owen
2e986def78 const 2025-07-17 23:15:16 -07:00
miloschwartz
d16a05959d Merge branch 'main' into dev 2025-07-17 23:14:50 -07:00
Owen
7e58e0b490 Correctly handle ssl on new domains 2025-07-17 22:57:47 -07:00
Owen
9b01aecf3c Add default cert resovler 2025-07-17 22:37:33 -07:00
miloschwartz
86043fd5f8 add defaults for domain cert resolver and prefer wildcard cert 2025-07-17 22:35:07 -07:00
Milo Schwartz
372a1758e9 Update README.md 2025-07-17 19:35:27 -04:00
Owen
0a2b1d9e53 Use a records for the wildcard 2025-07-17 16:17:01 -07:00
Owen
e562946308 Fix logic 2025-07-17 16:03:34 -07:00
Owen
398e15b3c6 Format 2025-07-17 15:59:28 -07:00
miloschwartz
c225a54dbe Merge branch 'dev' 2025-07-17 15:05:02 -07:00
Owen
5148988dcc Also dont return if you are passing an exit node 2025-07-17 14:59:49 -07:00
Owen
28b57ba652 Allow null exit node id as well 2025-07-17 14:57:09 -07:00
Owen
9c7e74ef37 Remove ping logic 2025-07-17 14:43:47 -07:00
Owen
330b28ad9c Fix local sites 2025-07-17 14:35:22 -07:00
miloschwartz
da7166a7ea fix config 2025-07-17 14:34:57 -07:00
Milo Schwartz
e8793c5d8d Update README.md 2025-07-17 16:35:00 -04:00
miloschwartz
c63d45e344 Merge branch 'main' into dev 2025-07-17 13:20:34 -07:00
miloschwartz
1159a79410 fix emails 2025-07-17 13:20:27 -07:00
Milo Schwartz
5b5e65ac08 Merge pull request #1074 from fosrl/dev
1.7.0
2025-07-17 15:47:52 -04:00
Owen
417811e94f Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-17 12:26:51 -07:00
Owen Schwartz
9c40057c51 Merge pull request #1072 from fosrl/crowdin_dev
New Crowdin updates
2025-07-17 12:26:05 -07:00
Owen Schwartz
a6409c16c3 New translations en-us.json (Chinese Simplified) 2025-07-17 12:25:16 -07:00
Owen
ba4667528c Merge branch 'main' of github.com:fosrl/pangolin into dev 2025-07-17 12:25:15 -07:00
Owen Schwartz
a2368d7c3f New translations en-us.json (Turkish) 2025-07-17 12:25:15 -07:00
Owen Schwartz
e90b203a7d New translations en-us.json (Portuguese) 2025-07-17 12:25:14 -07:00
Owen Schwartz
b7389d74db New translations en-us.json (Dutch) 2025-07-17 12:25:13 -07:00
Owen Schwartz
24321521c7 New translations en-us.json (Italian) 2025-07-17 12:25:11 -07:00
Owen Schwartz
f85497d446 New translations en-us.json (German) 2025-07-17 12:25:10 -07:00
Owen Schwartz
1f9e92fdb7 New translations en-us.json (Spanish) 2025-07-17 12:25:09 -07:00
Owen Schwartz
b66d2b95c5 New translations en-us.json (French) 2025-07-17 12:25:08 -07:00
Owen Schwartz
6f013b3bc4 New translations en-us.json (Polish) 2025-07-17 12:25:06 -07:00
miloschwartz
cdf8a01c14 readme adjustments 2025-07-17 12:19:06 -07:00
Owen
547923bbb4 Update cloud links 2025-07-17 12:17:27 -07:00
Owen Schwartz
a8c3c1bece New translations en-us.json (Korean) 2025-07-17 12:14:53 -07:00
Owen Schwartz
0f47a5d51e New translations en-us.json (Czech) 2025-07-17 12:14:52 -07:00
Owen Schwartz
9f9196427f New translations en-us.json (Chinese Simplified) 2025-07-17 12:14:51 -07:00
Owen Schwartz
341d688e79 New translations en-us.json (Turkish) 2025-07-17 12:14:49 -07:00
Owen Schwartz
92c5d1ed46 New translations en-us.json (Portuguese) 2025-07-17 12:14:48 -07:00
Owen Schwartz
55d8579b1a New translations en-us.json (Dutch) 2025-07-17 12:14:47 -07:00
Owen Schwartz
51a74c5045 New translations en-us.json (Italian) 2025-07-17 12:14:45 -07:00
Owen Schwartz
64f1af4d0b New translations en-us.json (German) 2025-07-17 12:14:44 -07:00
Owen Schwartz
8dd5daf495 New translations en-us.json (Spanish) 2025-07-17 12:14:43 -07:00
Owen Schwartz
0ee87d736c New translations en-us.json (French) 2025-07-17 12:14:41 -07:00
Owen Schwartz
ba822af355 New translations en-us.json (Polish) 2025-07-17 12:14:40 -07:00
Owen Schwartz
78c1990b42 New translations en-us.json (Russian) 2025-07-17 12:14:39 -07:00
Owen
768179a664 Rename file 2025-07-17 12:10:37 -07:00
Owen
1268c46f02 Update diagram 2025-07-17 12:08:56 -07:00
miloschwartz
d870a49381 change domain picker description and fix metadata title 2025-07-17 12:05:08 -07:00
Owen
8e476cc07e Update readme 2025-07-17 11:58:28 -07:00
Owen Schwartz
ea54fd6e98 New translations en-us.json (Korean) 2025-07-16 23:06:51 -07:00
Owen Schwartz
ea001cc0db New translations en-us.json (Czech) 2025-07-16 23:06:49 -07:00
Owen Schwartz
2378343c74 New translations en-us.json (Chinese Simplified) 2025-07-16 23:06:48 -07:00
Owen Schwartz
018b3346bb New translations en-us.json (Turkish) 2025-07-16 23:06:47 -07:00
Owen Schwartz
d104829a6d New translations en-us.json (Portuguese) 2025-07-16 23:06:46 -07:00
Owen Schwartz
0035460712 New translations en-us.json (Dutch) 2025-07-16 23:06:45 -07:00
Owen Schwartz
cae57ffcd8 New translations en-us.json (Italian) 2025-07-16 23:06:43 -07:00
Owen Schwartz
b587ff663c New translations en-us.json (German) 2025-07-16 23:06:42 -07:00
Owen Schwartz
531a888592 New translations en-us.json (Spanish) 2025-07-16 23:06:41 -07:00
Owen Schwartz
a13b167c41 New translations en-us.json (French) 2025-07-16 23:06:40 -07:00
Owen Schwartz
c1f9195a38 New translations en-us.json (Polish) 2025-07-16 23:06:38 -07:00
Owen Schwartz
e1ea7c6986 New translations en-us.json (Russian) 2025-07-16 23:06:37 -07:00
Owen
bd21927069 Working on readme 2025-07-16 22:31:15 -07:00
Owen
f1f4f7e5f3 Working on adjusting readme 2025-07-16 22:30:20 -07:00
miloschwartz
ccdcda7f1d add screenshots and minor fixes 2025-07-16 22:18:11 -07:00
dependabot[bot]
e9586b7336 Bump the dev-patch-updates group across 1 directory with 2 updates
Bumps the dev-patch-updates group with 2 updates in the / directory: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@dotenvx/dotenvx` from 1.47.3 to 1.47.6
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.47.3...v1.47.6)

Updates `@types/node` from 24.0.12 to 24.0.14
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.47.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 22:01:58 -07:00
Owen Schwartz
da36a218df Merge pull request #1069 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-5cee210a78
Bump the dev-patch-updates group across 1 directory with 2 updates
2025-07-16 22:01:25 -07:00
Owen Schwartz
1723089844 Merge pull request #1071 from fosrl/crowdin_dev
New Crowdin updates
2025-07-16 22:01:07 -07:00
Owen Schwartz
e99eb04e2f New translations en-us.json (Korean) 2025-07-16 22:00:38 -07:00
Owen Schwartz
5fddd71fc2 New translations en-us.json (Czech) 2025-07-16 22:00:37 -07:00
Owen Schwartz
c682b03736 New translations en-us.json (Chinese Simplified) 2025-07-16 22:00:36 -07:00
Owen Schwartz
4008767e1b New translations en-us.json (Turkish) 2025-07-16 22:00:35 -07:00
Owen Schwartz
74c768e2fb New translations en-us.json (Portuguese) 2025-07-16 22:00:34 -07:00
Owen Schwartz
03b883c320 New translations en-us.json (Dutch) 2025-07-16 22:00:33 -07:00
Owen Schwartz
807ddaa0bb New translations en-us.json (Italian) 2025-07-16 22:00:32 -07:00
Owen Schwartz
da9d555168 New translations en-us.json (German) 2025-07-16 22:00:31 -07:00
Owen Schwartz
05ba2c0103 New translations en-us.json (Spanish) 2025-07-16 22:00:29 -07:00
Owen Schwartz
de96b722d5 New translations en-us.json (French) 2025-07-16 22:00:28 -07:00
Owen Schwartz
afde493040 New translations en-us.json (Polish) 2025-07-16 22:00:27 -07:00
Owen Schwartz
cce440cf49 New translations en-us.json (Russian) 2025-07-16 22:00:26 -07:00
Owen
e96dbdb026 Working on readm 2025-07-16 21:58:52 -07:00
Owen
f4cd163c34 Fix get config for gerbil 2025-07-16 21:15:19 -07:00
Owen
0af9bdc964 Move ws 2025-07-16 19:07:25 -07:00
Owen
71bb1105f7 a 2025-07-16 18:20:05 -07:00
Owen
84c28645be Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-16 18:13:25 -07:00
miloschwartz
665ef08733 minor fixes for release 2025-07-16 18:09:17 -07:00
Owen
b3e63a5f8a Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-16 17:26:27 -07:00
miloschwartz
92c09b8843 fix sqlite crash on code 13 bug 2025-07-16 17:26:15 -07:00
Owen
7b726a41ef Remove extra try catch 2025-07-16 16:56:05 -07:00
miloschwartz
a1a0587a2b add build file 2025-07-16 16:41:59 -07:00
miloschwartz
98be9cee83 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-07-16 15:50:14 -07:00
miloschwartz
0646934c9d add stores 2025-07-16 15:50:03 -07:00
Owen
f0f68632ff Add transaction 2025-07-16 12:34:53 -07:00
Owen
e557bda48e Fix default 2025-07-16 12:34:42 -07:00
Owen
2992de5139 Add basic org subnet thing to postgres
T#
2025-07-16 12:00:38 -07:00
Owen
779532b1c9 Generate the initial subnets for sites and orgs 2025-07-16 11:56:26 -07:00
Owen
300175ac67 Defaults for org 2025-07-16 11:56:26 -07:00
miloschwartz
a356147164 remove not null from orgs 2025-07-16 11:52:36 -07:00
miloschwartz
d1489a9a78 fixes to sqlite migration 2025-07-16 11:47:59 -07:00
Owen
021bc073a2 Make org subnet optional 2025-07-16 11:35:38 -07:00
dependabot[bot]
4e571e1e4d Bump the dev-patch-updates group across 1 directory with 2 updates
Bumps the dev-patch-updates group with 2 updates in the / directory: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@dotenvx/dotenvx` from 1.47.3 to 1.47.6
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.47.3...v1.47.6)

Updates `@types/node` from 24.0.12 to 24.0.14
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.47.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 01:43:17 +00:00
miloschwartz
1dff9baa61 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-07-15 16:24:26 -07:00
miloschwartz
19d54778f5 add branding logo component 2025-07-15 16:24:16 -07:00
Owen
99d0fa974b Remove breakpoints 2025-07-15 16:17:31 -07:00
Owen
84ca275f1e Remove subnet check on the org for now 2025-07-15 16:15:22 -07:00
Owen
963bc5f0bc Add migrations to the callers 2025-07-15 15:59:37 -07:00
Owen
b446c2ce4b Add initial migration 2025-07-15 15:58:01 -07:00
Owen
65a4f7af28 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-07-15 15:52:37 -07:00
Owen
f6b2c5bbf3 Initial migration created for sqlite 2025-07-15 15:52:15 -07:00
miloschwartz
e99905e3c9 translate domains and prevent delete config domain 2025-07-15 15:51:37 -07:00
miloschwartz
5c0b42446d Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-07-15 15:27:38 -07:00
miloschwartz
a3be0d4655 ensure subdomain is null if is base domain 2025-07-15 15:27:23 -07:00
Owen
47729c2348 Remove reference to deleted site form 2025-07-15 15:13:50 -07:00
Owen
78bfcf5b1c Fix some clients address showing issues 2025-07-15 15:11:30 -07:00
miloschwartz
f1291d4d7d remove is base domain resource and flag 2025-07-15 15:07:34 -07:00
Owen
ff809416f5 Regenerate package lock 2025-07-15 14:44:08 -07:00
miloschwartz
83a4677026 don't allow deleting config managed domains 2025-07-15 13:20:44 -07:00
Owen
ffe8593a07 Remove create site modal 2025-07-15 12:07:25 -07:00
Owen
60e4db16ff Fix dockerfiles 2025-07-15 11:39:19 -07:00
miloschwartz
2e510778be fix header 2025-07-14 22:37:08 -07:00
miloschwartz
c492559010 fix profile icon merge issue 2025-07-14 22:32:42 -07:00
miloschwartz
a8dc36b6d2 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-07-14 22:21:12 -07:00
miloschwartz
379d31aac6 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-07-14 22:21:04 -07:00
Owen
28fc1ab063 Rename to sqlite 2025-07-14 18:27:06 -07:00
Owen
75e01018a5 Add docker file for dev 2025-07-14 18:24:37 -07:00
miloschwartz
b7df0b122d introduce strict rate limitso on auth router endpoints 2025-07-14 18:00:41 -07:00
Owen
f9798a8d86 Redis 2025-07-14 17:10:26 -07:00
Owen
7691bdd181 Add back "swagger-ui-express": "^5.0.1", 2025-07-14 17:00:34 -07:00
Owen
3dc79da2fa Merge branch 'dev' into clients-pops-dev 2025-07-14 16:59:00 -07:00
Owen
83b00c1cfa Fix domain picker build and copy in for domains 2025-07-14 16:37:54 -07:00
miloschwartz
d6fdb38c22 remove vacuum 2025-07-14 16:27:18 -07:00
miloschwartz
3505342a8d style consistency changes to add security key form 2025-07-14 15:43:33 -07:00
Owen
78661799f2 Resources working with new picker 2025-07-14 15:36:15 -07:00
Owen
ec57996b01 Hide license 2025-07-14 14:56:03 -07:00
miloschwartz
0a97d91aed restore migrations and fix rate limit 2025-07-14 14:55:09 -07:00
Owen
753027ffc7 Translate missing translations 2025-07-14 14:45:46 -07:00
Milo Schwartz
d3383f0f1a Merge pull request #1011 from adrianeastles/feat/internal-user-passkey-support
Internal User - Passwordless Login for Org Members
2025-07-14 17:43:20 -04:00
Milo Schwartz
9075ecb007 Merge branch 'dev' into feat/internal-user-passkey-support 2025-07-14 17:43:01 -04:00
Owen
4b8cc7c4d3 Control with build 2025-07-14 12:46:47 -07:00
Owen
2f20397c60 Flag deleting orgs 2025-07-14 12:38:58 -07:00
Owen
7f227932da Domain picker support wildcard 2025-07-14 12:24:38 -07:00
Owen
69d253fba3 Create wildcard domains 2025-07-14 12:18:12 -07:00
Owen
b75800c583 Reintroduce clients conditionally 2025-07-14 11:43:13 -07:00
Owen
a35add3fc6 Consolidate imports 2025-07-14 10:56:24 -07:00
Owen
b17ff57582 Add missing new domain cols 2025-07-14 10:56:10 -07:00
miloschwartz
915ccdc007 server admin enforce 2fa per user 2025-07-13 21:58:37 -07:00
Owen
98a261e38c Pull up downstream changes 2025-07-13 21:57:24 -07:00
Adrian Astles
c9f5ffae42 Merge branch 'dev' into feat/internal-user-passkey-support 2025-07-14 07:20:33 +08:00
Owen
342675276b Add type & cap 2025-07-13 15:58:58 -07:00
Milo Schwartz
590296e64d Merge pull request #1035 from jnewing/feature-manage-2fa
Feature Manage Users 2fa
2025-07-13 18:33:36 -04:00
Milo Schwartz
17b39d16a3 Merge branch 'dev' into feature-manage-2fa 2025-07-13 18:33:27 -04:00
Owen
515a621eb4 Merge branch 'feature/podman-installer' of github.com:wayneyaoo/pangolin into wayneyaoo-feature/podman-installer 2025-07-13 15:09:39 -07:00
Owen Schwartz
ca0e950cdf Merge pull request #1038 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-3b5c1dc64f
Bump the prod-minor-updates group across 1 directory with 5 updates
2025-07-13 11:47:58 -07:00
dependabot[bot]
cec9e4101d Bump the prod-minor-updates group across 1 directory with 5 updates
Bumps the prod-minor-updates group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.1.0` | `0.2.0` |
| [@react-email/tailwind](https://github.com/resend/react-email/tree/HEAD/packages/tailwind) | `1.0.5` | `1.1.0` |
| [eslint](https://github.com/eslint/eslint) | `9.29.0` | `9.30.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.522.0` | `0.525.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.58.1` | `7.60.0` |



Updates `@react-email/components` from 0.1.0 to 0.2.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.2.0/packages/components)

Updates `@react-email/tailwind` from 1.0.5 to 1.1.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/tailwind/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/tailwind@1.1.0/packages/tailwind)

Updates `eslint` from 9.29.0 to 9.30.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.29.0...v9.30.1)

Updates `lucide-react` from 0.522.0 to 0.525.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.525.0/packages/lucide-react)

Updates `react-hook-form` from 7.58.1 to 7.60.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.58.1...v7.60.0)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@react-email/tailwind"
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.525.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-13 18:47:45 +00:00
Owen Schwartz
862fabf6ad Merge pull request #1054 from daeho-ro/weblate
feat: Add Korean translations
2025-07-13 11:46:28 -07:00
Owen Schwartz
128a9aae4e Merge pull request #1045 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-4850a154df
Bump the dev-minor-updates group with 3 updates
2025-07-13 11:40:38 -07:00
Daeho Ro
1983d0067d Add Korean translations 2025-07-12 13:21:14 +09:00
Daeho Ro
bdaf48da20 Translated using Weblate (Korean)
Currently translated at 100.0% (1134 of 1134 strings)

Translated using Weblate (Korean)

Currently translated at 2.9% (33 of 1134 strings)

Translated using Weblate (Korean)

Currently translated at 2.9% (33 of 1134 strings)

Translated using Weblate (Korean)

Currently translated at 2.9% (33 of 1134 strings)

Added translation using Weblate (Korean)

Co-authored-by: Daeho Ro <40587651+daeho-ro@users.noreply.github.com>
Co-authored-by: Daeho Ro <email@daeho.ro>
Co-authored-by: OpenAI <noreply-mt-openai@weblate.org>
Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
Translate-URL: https://mini-i18n.daeho.ro/projects/pangolin/main/ko/
Translation: pangolin/main
2025-07-12 04:15:35 +00:00
dependabot[bot]
09024a93e9 Bump the dev-minor-updates group with 3 updates
Bumps the dev-minor-updates group with 3 updates: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx), [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@dotenvx/dotenvx` from 1.45.1 to 1.47.3
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.45.1...v1.47.3)

Updates `react-email` from 4.0.16 to 4.1.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.1.0/packages/react-email)

Updates `typescript-eslint` from 8.35.1 to 8.36.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.36.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.47.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: react-email
  dependency-version: 4.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript-eslint
  dependency-version: 8.36.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-10 01:57:05 +00:00
Owen Schwartz
064e7071b2 Merge pull request #1037 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-47326aa7c5
Bump the dev-patch-updates group across 1 directory with 3 updates
2025-07-09 10:03:30 -07:00
Owen Schwartz
2b2fedb380 Merge pull request #1039 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-2cef69bbab
Bump the prod-patch-updates group across 1 directory with 7 updates
2025-07-09 10:02:58 -07:00
dependabot[bot]
5ff7c216b9 Bump the prod-patch-updates group across 1 directory with 7 updates
Bumps the prod-patch-updates group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.3.4` | `15.3.5` |
| [next](https://github.com/vercel/next.js) | `15.3.4` | `15.3.5` |
| [next-intl](https://github.com/amannn/next-intl) | `4.3.1` | `4.3.4` |
| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.3` | `7.0.5` |
| [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css) | `1.3.4` | `1.3.5` |
| [ws](https://github.com/websockets/ws) | `8.18.2` | `8.18.3` |
| [zod](https://github.com/colinhacks/zod) | `3.25.67` | `3.25.76` |



Updates `eslint-config-next` from 15.3.4 to 15.3.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.3.5/packages/eslint-config-next)

Updates `next` from 15.3.4 to 15.3.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.3.4...v15.3.5)

Updates `next-intl` from 4.3.1 to 4.3.4
- [Release notes](https://github.com/amannn/next-intl/releases)
- [Changelog](https://github.com/amannn/next-intl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amannn/next-intl/compare/v4.3.1...v4.3.4)

Updates `nodemailer` from 7.0.3 to 7.0.5
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v7.0.3...v7.0.5)

Updates `tw-animate-css` from 1.3.4 to 1.3.5
- [Release notes](https://github.com/Wombosvideo/tw-animate-css/releases)
- [Commits](https://github.com/Wombosvideo/tw-animate-css/compare/v1.3.4...v1.3.5)

Updates `ws` from 8.18.2 to 8.18.3
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.18.2...8.18.3)

Updates `zod` from 3.25.67 to 3.25.76
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.67...v3.25.76)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 15.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next
  dependency-version: 15.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next-intl
  dependency-version: 4.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: nodemailer
  dependency-version: 7.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: tw-animate-css
  dependency-version: 1.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: ws
  dependency-version: 8.18.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: zod
  dependency-version: 3.25.76
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 01:20:06 +00:00
dependabot[bot]
c476ac7bc5 Bump the dev-patch-updates group across 1 directory with 3 updates
Bumps the dev-patch-updates group with 3 updates in the / directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) and [esbuild](https://github.com/evanw/esbuild).


Updates `@types/node` from 24.0.7 to 24.0.12
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `drizzle-kit` from 0.31.2 to 0.31.4
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.2...drizzle-kit@0.31.4)

Updates `esbuild` from 0.25.5 to 0.25.6
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.5...v0.25.6)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.0.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: drizzle-kit
  dependency-version: 0.31.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 01:18:19 +00:00
Wayne Yao
e83e8c2ee4 Add podman support to the installer. 2025-07-08 23:14:42 +08:00
Wayne Yao
607b168b56 Use explicity FQDN image path because Podman by default doesn't have unqualified-search, and we don't bother configuring it for users. Being explicit is also a good practice 2025-07-08 23:14:23 +08:00
Wayne Yao
e0cf0916dd Add a few targets to the Makefile to ease local development 2025-07-08 23:13:00 +08:00
J. Newing
0f3a5ce8ba Added users 2FA statsu to userstable 2025-07-08 10:21:24 -04:00
J. Newing
2a6298e9eb Admins can enable 2FA
Added the feature for admins to force 2FA on accounts. The next time the
user logs in they will have to setup 2FA on their account.
2025-07-08 10:21:24 -04:00
Adrian Astles
f97b133c8c Resolved build error. 2025-07-08 22:04:24 +08:00
Owen Schwartz
f11fa4f32d Merge pull request #1023 from Burzhui34/fix-russian-plural-forms
Fix plural forms for Russian language
2025-07-07 09:08:32 -07:00
Adrian Astles
f0a1c10ec5 fix(auth): improve security key login flow.
- Fix login to verify password before showing security key prompt
- Add proper 2FA verification flow when deleting security keys

Previously, users with security keys would see the security key prompt
even if they entered an incorrect password. Now the password is verified
first. Additionally, security key deletion now properly handles 2FA
verification when enabled.
2025-07-07 17:48:23 +08:00
Burzhui34
08fed8fe93 Fix plural forms for Russian language
Change =1/other to one/other format to support proper grammar in Russian
2025-07-06 21:04:27 +03:00
Adrian Astles
813992141a Fix version mismatch with package-lock.json with package.json 2025-07-07 01:08:01 +08:00
Owen Schwartz
f90129213e Merge pull request #1021 from fosrl/dependabot/github_actions/docker/setup-buildx-action-3
Bump docker/setup-buildx-action from 2 to 3
2025-07-06 10:07:50 -07:00
dependabot[bot]
838af30a38 Bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-06 17:02:46 +00:00
Owen Schwartz
13ff15311a Merge pull request #1019 from fosrl/dependabot/github_actions/actions/setup-go-5
Bump actions/setup-go from 4 to 5
2025-07-06 10:02:29 -07:00
Owen Schwartz
56e237c479 Merge pull request #1020 from fosrl/dependabot/github_actions/docker/login-action-3
Bump docker/login-action from 2 to 3
2025-07-06 10:01:49 -07:00
Owen Schwartz
ff1e10a025 Merge pull request #1022 from fosrl/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2025-07-06 10:00:51 -07:00
dependabot[bot]
c259037dbf Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-06 16:38:48 +00:00
dependabot[bot]
7b4878620f Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-06 16:38:42 +00:00
dependabot[bot]
38fd58c173 Bump actions/setup-go from 4 to 5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-06 16:38:40 +00:00
Owen Schwartz
d1185d43f7 Merge pull request #1018 from Lokowitz/update-dependabot
Update dependabot with github-actions
2025-07-06 09:38:02 -07:00
Adrian Astles
a093c54b16 simplified security key management interface. 2025-07-06 20:41:26 +08:00
Marvin
30cc85b793 Update dependabot.yml 2025-07-06 13:12:43 +02:00
Adrian Astles
5009906385 renamed passkey to security key to stay aligned with the UI and other backend naming. 2025-07-05 21:51:31 +08:00
Adrian Astles
6ccc05b183 Update security key error handling and user feedback. Improve user guidance for security key interactions and Implement proper error handling for permission denials and timing issues. 2025-07-05 18:56:32 +08:00
Adrian Astles
3994b25a71 Merge branch 'dev' into feat/internal-user-passkey-support 2025-07-05 18:36:44 +08:00
Adrian Astles
5130071a60 improved security key management interface, also updated locales 2025-07-05 18:27:04 +08:00
Adrian Astles
d5e67835aa improved WebAuthn error messages and session handling. Compatibility guidance in error states, and Improve user guidance for common authentication issues. 2025-07-05 16:52:56 +08:00
Adrian Astles
bf8078ed66 enhance WebAuthn implementation and error handling. 2025-07-05 16:48:37 +08:00
Adrian Astles
1559a2a943 Fixed database dependencies. 2025-07-05 16:32:04 +08:00
Owen Schwartz
e2d5301376 Merge pull request #990 from Lokowitz/fix-test
Fix test
2025-07-04 08:57:56 -07:00
Adrian Astles
f31717145f feat(passkeys): Add password verification for passkey management
- Add password verification requirement when registering passkeys
- Add password verification requirement when deleting passkeys
- Add support for 2FA verification if enabled
- Add new delete confirmation dialog with password field
- Add recommendation message when only one passkey is registered
- Improve dialog styling and user experience
- Fix type issues with WebAuthn credential descriptors

Security: This change ensures that sensitive passkey operations require
password verification, similar to 2FA management, preventing unauthorized
modifications to authentication methods.
2025-07-03 22:57:29 +08:00
Adrian Astles
db76558944 refactor: rename passkeyChallenge to webauthnChallenge
- Renamed table for consistency with webauthnCredentials
- Created migration script 1.8.1.ts for table rename
- Updated schema definitions in SQLite and PostgreSQL
- Maintains WebAuthn standard naming convention
2025-07-03 21:53:07 +08:00
Owen
1bcb027e05 Fix translation issue with targets 2025-07-01 21:04:40 -07:00
miloschwartz
719d75f8a6 fix pg migration for >1.6.0 2025-07-01 21:03:10 -07:00
Milo Schwartz
8c164c410d Merge pull request #994 from fosrl/dev
remove duplicate yargs
2025-06-30 18:03:54 -04:00
miloschwartz
8c6a4a90aa remove duplicate yargs 2025-06-30 15:03:09 -07:00
miloschwartz
c679875273 add inset shadow 2025-06-30 14:18:17 -07:00
miloschwartz
1e5141c27c add newt version update available to table 2025-06-30 13:59:30 -07:00
Lokowitz
e56330be47 modified: Makefile 2025-06-30 20:08:44 +00:00
Lokowitz
764a63d784 modified: Makefile 2025-06-30 20:04:51 +00:00
Lokowitz
6f280c4664 modified: package-lock.json 2025-06-30 20:03:22 +00:00
Lokowitz
9b29f38d10 modified: package-lock.json 2025-06-30 19:54:59 +00:00
Marvin
6b60410791 modified: package-lock.json 2025-06-30 19:42:25 +00:00
Marvin
dffaceba6f modified: package-lock.json 2025-06-30 19:40:45 +00:00
miloschwartz
4ffdd6f74f clean up a few save buttons 2025-06-30 12:28:27 -07:00
Marvin
3499dd4f56 Update test.yml 2025-06-30 21:25:52 +02:00
Marvin
7004820326 Update Makefile 2025-06-30 21:25:16 +02:00
Marvin
24a17235ae Update test.yml 2025-06-30 21:24:32 +02:00
Milo Schwartz
66e8a4666c Merge pull request #988 from fosrl/dev
1.6.0
2025-06-30 14:31:30 -04:00
Owen
862dd6f0bc Update package-lock.json 2025-06-30 11:19:33 -07:00
miloschwartz
83afb23ac4 Merge branch 'main' into dev 2025-06-30 10:21:51 -07:00
miloschwartz
a0381eb2c6 clean up ui pass 1 2025-06-30 09:34:14 -07:00
Owen
3b6a44e683 Merge branch 'dev' into clients-pops 2025-06-27 18:01:21 -04:00
Owen
baee745d3c Fix orgId not in queries 2025-06-27 18:01:06 -04:00
miloschwartz
cc930ebf53 prevent site name from wrapping 2025-06-27 16:46:03 -04:00
miloschwartz
809a135721 add refresh sites button 2025-06-27 16:43:14 -04:00
Owen
073c318f12 Improve bandiwdth update 2025-06-27 10:36:58 -04:00
miloschwartz
8f1cfd8037 toggle clients with feature flag 2025-06-26 15:09:16 -04:00
miloschwartz
7bf9cccbf6 show account already exists if email not verified 2025-06-25 16:54:33 -04:00
miloschwartz
d194e230de option to log out if on verify email screen 2025-06-25 16:44:23 -04:00
miloschwartz
bd3d9d2da3 adjust ring offset 2025-06-25 15:29:32 -04:00
miloschwartz
e694817b57 add server init method to config 2025-06-25 12:18:29 -04:00
miloschwartz
66191a9610 fix org selector overflow 2025-06-24 17:19:03 -04:00
miloschwartz
9bb4d8b2a3 store last visited org in cookie 2025-06-24 14:54:07 -04:00
Owen Schwartz
2f5579b070 Merge pull request #960 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-c1dab6c5b3
Bump drizzle-kit from 0.31.1 to 0.31.2 in the dev-patch-updates group
2025-06-24 11:27:43 -04:00
Owen Schwartz
bc5d7f5f57 Merge pull request #961 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-d97bf475c8
Bump typescript-eslint from 8.34.1 to 8.35.0 in the dev-minor-updates group
2025-06-24 11:27:15 -04:00
dependabot[bot]
d729be0d71 Bump typescript-eslint in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript-eslint` from 8.34.1 to 8.35.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.35.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.35.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 03:57:56 +00:00
dependabot[bot]
7ccf7f6f15 Bump drizzle-kit from 0.31.1 to 0.31.2 in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [drizzle-kit](https://github.com/drizzle-team/drizzle-orm).


Updates `drizzle-kit` from 0.31.1 to 0.31.2
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.1...drizzle-kit@0.31.2)

---
updated-dependencies:
- dependency-name: drizzle-kit
  dependency-version: 0.31.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 03:31:48 +00:00
Owen Schwartz
918dc98f71 Merge pull request #957 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-86f5eb48c3
Bump express-rate-limit from 7.5.0 to 7.5.1 in the prod-patch-updates group
2025-06-23 09:26:08 -04:00
Owen Schwartz
79a72528d7 Merge pull request #958 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-ca63e9bc34
Bump lucide-react from 0.518.0 to 0.522.0 in the prod-minor-updates group
2025-06-23 09:25:59 -04:00
Owen Schwartz
0f2cc7d425 Merge pull request #956 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-063149b7b9
Bump @dotenvx/dotenvx from 1.44.2 to 1.45.1 in the dev-minor-updates group
2025-06-23 09:25:48 -04:00
dependabot[bot]
8f75725987 Bump lucide-react in the prod-minor-updates group
Bumps the prod-minor-updates group with 1 update: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).


Updates `lucide-react` from 0.518.0 to 0.522.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.522.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 0.522.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 01:29:13 +00:00
dependabot[bot]
2918a3f767 Bump express-rate-limit in the prod-patch-updates group
Bumps the prod-patch-updates group with 1 update: [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit).


Updates `express-rate-limit` from 7.5.0 to 7.5.1
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.0...v7.5.1)

---
updated-dependencies:
- dependency-name: express-rate-limit
  dependency-version: 7.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 01:27:02 +00:00
dependabot[bot]
598c206bbd Bump @dotenvx/dotenvx in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx).


Updates `@dotenvx/dotenvx` from 1.44.2 to 1.45.1
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.44.2...v1.45.1)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.45.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 01:24:39 +00:00
miloschwartz
34180ca454 set trust proxy for int api 2025-06-22 20:01:31 -04:00
miloschwartz
fb5010a2b5 use redis store in rate limiters 2025-06-22 19:55:05 -04:00
miloschwartz
0e87b6e48b Merge branch 'dev' into clients-pops 2025-06-22 17:50:39 -04:00
miloschwartz
d45443258b update selection algorithm 2025-06-22 17:19:40 -04:00
Owen
f3b44a3085 Add default type 2025-06-22 15:48:47 -04:00
Owen
9680260104 Add domain type 2025-06-22 12:58:33 -04:00
miloschwartz
2ead5f4506 add deprecated env vars warning 2025-06-21 16:59:10 -04:00
miloschwartz
4f68a26049 dont show org id taken after success 2025-06-21 16:42:59 -04:00
miloschwartz
49b88002fb add replaceme back to installer 2025-06-21 16:36:17 -04:00
miloschwartz
ead5df0a8c simplify installer and remove parsing from read config 2025-06-21 16:35:22 -04:00
Owen Schwartz
9f38ad9b4d Merge pull request #945 from fosrl/crowdin_dev
New Crowdin updates
2025-06-20 17:19:46 -04:00
miloschwartz
317a15b649 Merge branch 'dev' into clients-pops 2025-06-20 16:34:49 -04:00
Owen Schwartz
7748fb682d New translations en-us.json (Chinese Simplified) 2025-06-20 10:03:31 -04:00
Owen Schwartz
6f601c7814 New translations en-us.json (Turkish) 2025-06-20 10:03:30 -04:00
Owen Schwartz
c63dcd89b5 New translations en-us.json (Portuguese) 2025-06-20 10:03:29 -04:00
Owen Schwartz
8c6e3be8ce New translations en-us.json (Polish) 2025-06-20 10:03:27 -04:00
Owen Schwartz
13bfeae780 New translations en-us.json (Dutch) 2025-06-20 10:03:26 -04:00
Owen Schwartz
051162cd69 New translations en-us.json (Italian) 2025-06-20 10:03:25 -04:00
Owen Schwartz
9065d21778 New translations en-us.json (German) 2025-06-20 10:03:24 -04:00
Owen Schwartz
cafbad88f3 New translations en-us.json (Spanish) 2025-06-20 10:03:22 -04:00
Owen Schwartz
20965fc67b New translations en-us.json (French) 2025-06-20 10:03:21 -04:00
Owen Schwartz
3efb04a603 Merge pull request #942 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-9f90b90163
Bump the prod-patch-updates group with 3 updates
2025-06-20 09:44:43 -04:00
Owen Schwartz
d650d1e6eb Merge pull request #943 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-740e6d8f02
Bump lucide-react from 0.517.0 to 0.518.0 in the prod-minor-updates group
2025-06-20 09:44:26 -04:00
Owen Schwartz
2b23587200 New translations en-us.json (Chinese Simplified) 2025-06-19 22:40:15 -04:00
Owen Schwartz
a839f9146f New translations en-us.json (Turkish) 2025-06-19 22:40:14 -04:00
Owen Schwartz
a6138a02fd New translations en-us.json (Portuguese) 2025-06-19 22:40:13 -04:00
Owen Schwartz
0e18fc4700 New translations en-us.json (Polish) 2025-06-19 22:40:11 -04:00
Owen Schwartz
68015511c1 New translations en-us.json (Dutch) 2025-06-19 22:40:10 -04:00
Owen Schwartz
715d33fe90 New translations en-us.json (Italian) 2025-06-19 22:40:09 -04:00
Owen Schwartz
85b99852bb New translations en-us.json (German) 2025-06-19 22:40:08 -04:00
Owen Schwartz
a54c88eb32 New translations en-us.json (Spanish) 2025-06-19 22:40:07 -04:00
Owen Schwartz
6a5bdd40b6 New translations en-us.json (French) 2025-06-19 22:40:05 -04:00
miloschwartz
d03f45279c remove server admin from config and add onboarding ui 2025-06-19 22:11:05 -04:00
dependabot[bot]
e7b45df81f Bump lucide-react in the prod-minor-updates group
Bumps the prod-minor-updates group with 1 update: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).


Updates `lucide-react` from 0.517.0 to 0.518.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.518.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 0.518.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-20 01:29:50 +00:00
dependabot[bot]
91df8c0556 Bump the prod-patch-updates group with 3 updates
Bumps the prod-patch-updates group with 3 updates: [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next), [next](https://github.com/vercel/next.js) and [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg).


Updates `eslint-config-next` from 15.3.3 to 15.3.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.3.4/packages/eslint-config-next)

Updates `next` from 15.3.3 to 15.3.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.3.3...v15.3.4)

Updates `pg` from 8.16.0 to 8.16.2
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.16.2/packages/pg)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 15.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next
  dependency-version: 15.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: pg
  dependency-version: 8.16.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-20 01:28:07 +00:00
Owen
2fd8134a57 Dont go over capacity or accept no capacity 2025-06-19 18:04:52 -04:00
miloschwartz
494b54ac32 add redis rate limiter 2025-06-19 16:58:03 -04:00
Owen
377eb2b851 Handle version in db 2025-06-19 16:40:20 -04:00
Owen
bd7e96b8af Send version and try to be reverse compatible 2025-06-19 16:40:02 -04:00
miloschwartz
acf25e8ad7 Merge branch 'dev' into clients-pops 2025-06-19 16:34:06 -04:00
miloschwartz
f300838f8e add migration for 1.6.0 2025-06-19 15:58:05 -04:00
miloschwartz
1bf2e23f5d make username lowercase 2025-06-19 15:41:49 -04:00
miloschwartz
58ba0d07b0 add migration to set trust_proxy to 1 if it exists in config 2025-06-19 12:08:06 -04:00
miloschwartz
97ae76e4e7 forward headers from server component and make trust_proxy config a number 2025-06-19 11:22:29 -04:00
Owen Schwartz
4b24d722b6 Merge pull request #933 from fosrl/dependabot/npm_and_yarn/tailwind-merge-3.3.1
Bump tailwind-merge from 2.6.0 to 3.3.1
2025-06-19 09:49:20 -04:00
Owen Schwartz
09efed4331 Merge pull request #930 from fosrl/dependabot/npm_and_yarn/prod-minor-updates-b2e6812000
Bump the prod-minor-updates group with 7 updates
2025-06-19 09:43:37 -04:00
Owen
a0ac757982 Exit node filtering 2025-06-19 09:30:02 -04:00
dependabot[bot]
c86418dbbb Bump the prod-minor-updates group with 7 updates
Bumps the prod-minor-updates group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.0.41` | `0.1.0` |
| [axios](https://github.com/axios/axios) | `1.9.0` | `1.10.0` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.3` | `0.44.2` |
| [eslint](https://github.com/eslint/eslint) | `9.28.0` | `9.29.0` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.511.0` | `0.516.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.56.4` | `7.58.1` |
| [zod-validation-error](https://github.com/causaly/zod-validation-error) | `3.4.1` | `3.5.1` |


Updates `@react-email/components` from 0.0.41 to 0.1.0
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.1.0/packages/components)

Updates `axios` from 1.9.0 to 1.10.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.9.0...v1.10.0)

Updates `drizzle-orm` from 0.38.3 to 0.44.2
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.38.3...0.44.2)

Updates `eslint` from 9.28.0 to 9.29.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.28.0...v9.29.0)

Updates `lucide-react` from 0.511.0 to 0.516.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.516.0/packages/lucide-react)

Updates `react-hook-form` from 7.56.4 to 7.58.1
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.56.4...v7.58.1)

Updates `zod-validation-error` from 3.4.1 to 3.5.1
- [Release notes](https://github.com/causaly/zod-validation-error/releases)
- [Changelog](https://github.com/causaly/zod-validation-error/blob/main/CHANGELOG.md)
- [Commits](https://github.com/causaly/zod-validation-error/compare/v3.4.1...v3.5.1)

---
updated-dependencies:
- dependency-name: "@react-email/components"
  dependency-version: 0.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: axios
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.516.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.58.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: zod-validation-error
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 02:05:14 +00:00
miloschwartz
c043912f94 fix bug preventing creating raw resources with api key closes #920 2025-06-18 16:42:07 -04:00
miloschwartz
b56ba3ee23 prevent org id taken error for flashing after create org 2025-06-18 16:22:01 -04:00
miloschwartz
0b8bb5a974 don't use word mark in nav bar 2025-06-18 16:11:37 -04:00
miloschwartz
3b3d7b134a mark exit node as was previously connected 2025-06-18 15:57:45 -04:00
miloschwartz
b84b78a34d add server/db/index.ts to gitignore 2025-06-18 14:20:55 -04:00
Owen Schwartz
954b13ac60 Merge pull request #931 from fosrl/dependabot/npm_and_yarn/nodemailer-7.0.3
Bump nodemailer from 6.9.16 to 7.0.3
2025-06-18 09:10:19 -04:00
Owen Schwartz
bae540966b Merge pull request #936 from fosrl/dependabot/npm_and_yarn/brace-expansion-1.1.12
Bump brace-expansion from 1.1.11 to 1.1.12
2025-06-18 09:09:48 -04:00
dependabot[bot]
79d4ab1671 Bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 12:55:21 +00:00
dependabot[bot]
31104d3d04 Bump nodemailer from 6.9.16 to 7.0.3
Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.16 to 7.0.3.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.9.16...v7.0.3)

---
updated-dependencies:
- dependency-name: nodemailer
  dependency-version: 7.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 12:55:18 +00:00
Owen Schwartz
f254d98712 Merge pull request #929 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-97e741ec99
Bump the prod-patch-updates group with 4 updates
2025-06-18 08:54:07 -04:00
dependabot[bot]
b403f5018b Bump tailwind-merge from 2.6.0 to 3.3.1
Bumps [tailwind-merge](https://github.com/dcastil/tailwind-merge) from 2.6.0 to 3.3.1.
- [Release notes](https://github.com/dcastil/tailwind-merge/releases)
- [Commits](https://github.com/dcastil/tailwind-merge/compare/v2.6.0...v3.3.1)

---
updated-dependencies:
- dependency-name: tailwind-merge
  dependency-version: 3.3.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 01:48:55 +00:00
dependabot[bot]
fd219d5780 Bump the prod-patch-updates group with 4 updates
Bumps the prod-patch-updates group with 4 updates: [@asteasolutions/zod-to-openapi](https://github.com/asteasolutions/zod-to-openapi), [glob](https://github.com/isaacs/node-glob), [npm](https://github.com/npm/cli) and [zod](https://github.com/colinhacks/zod).


Updates `@asteasolutions/zod-to-openapi` from 7.3.3 to 7.3.4
- [Release notes](https://github.com/asteasolutions/zod-to-openapi/releases)
- [Commits](https://github.com/asteasolutions/zod-to-openapi/compare/v7.3.3...v7.3.4)

Updates `glob` from 11.0.2 to 11.0.3
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v11.0.2...v11.0.3)

Updates `npm` from 11.4.1 to 11.4.2
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.4.1...v11.4.2)

Updates `zod` from 3.25.56 to 3.25.67
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.56...v3.25.67)

---
updated-dependencies:
- dependency-name: "@asteasolutions/zod-to-openapi"
  dependency-version: 7.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: glob
  dependency-version: 11.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: npm
  dependency-version: 11.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: zod
  dependency-version: 3.25.67
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 01:45:24 +00:00
miloschwartz
17ac5a5e81 add flag to disable config managed domains 2025-06-17 17:25:41 -04:00
miloschwartz
a24431bc3b fix hide raw resources again 2025-06-17 17:03:08 -04:00
Owen
cdfeb2ff86 Filter by exit node 2025-06-17 17:00:11 -04:00
miloschwartz
8199202dc3 fix hide raw resource option 2025-06-17 16:53:57 -04:00
miloschwartz
7fd1fb89f1 disable local and wg sites with flag 2025-06-17 16:35:05 -04:00
miloschwartz
32e54d0f94 hide raw resources ui if disabled 2025-06-17 16:23:33 -04:00
miloschwartz
21e9edd201 move max connections from config to db 2025-06-17 15:53:57 -04:00
miloschwartz
a0001aaa74 add max connection and weight calculation 2025-06-17 15:51:32 -04:00
Owen Schwartz
2b77c0fac8 Merge pull request #926 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-53bc854d25
Bump the dev-patch-updates group with 4 updates
2025-06-17 09:35:56 -04:00
dependabot[bot]
81ab008d83 Bump the dev-patch-updates group with 4 updates
Bumps the dev-patch-updates group with 4 updates: [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [postcss](https://github.com/postcss/postcss) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@types/jsonwebtoken` from 9.0.9 to 9.0.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsonwebtoken)

Updates `@types/node` from 24.0.1 to 24.0.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `postcss` from 8.5.5 to 8.5.6
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.5...8.5.6)

Updates `typescript-eslint` from 8.34.0 to 8.34.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@types/jsonwebtoken"
  dependency-version: 9.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/node"
  dependency-version: 24.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: postcss
  dependency-version: 8.5.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: typescript-eslint
  dependency-version: 8.34.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 02:53:28 +00:00
miloschwartz
753307bb99 use new exit node info 2025-06-16 22:07:03 -04:00
Owen
970feb75dd Add priority 100 2025-06-16 17:41:40 -04:00
miloschwartz
08556789f9 add exit node name 2025-06-16 17:32:38 -04:00
miloschwartz
72d8ad3204 disable migrations 2025-06-16 15:23:28 -04:00
miloschwartz
6cdf53e262 use sqlite db 2025-06-16 15:19:37 -04:00
miloschwartz
f6d81c3a23 update schema 2025-06-16 12:30:15 -04:00
miloschwartz
4d7b905e98 fix typo 2025-06-16 11:33:24 -04:00
Owen
8c42dee5de Remove unneeded clientType 2025-06-15 18:18:28 -04:00
miloschwartz
23d529bb31 Merge branch 'dev' into clients-pops 2025-06-15 18:04:44 -04:00
miloschwartz
7bbb687047 make exit node name backwards compatible 2025-06-15 18:02:31 -04:00
miloschwartz
b39708700d add exit node name and fix db import issues 2025-06-15 17:49:27 -04:00
miloschwartz
d46b9eaf87 Merge branch 'redis' into clients-pops 2025-06-15 13:26:48 -04:00
miloschwartz
3e60a2bd6f Merge branch 'dev' into clients-pops 2025-06-15 13:25:21 -04:00
miloschwartz
4e2e434947 Merge branch 'dev' into redis 2025-06-15 13:25:04 -04:00
miloschwartz
af32dfbbcd move enable redis to flag 2025-06-15 13:24:51 -04:00
miloschwartz
fc19d0ba8b add set server admin password to cli 2025-06-15 13:19:07 -04:00
miloschwartz
83c10166e2 Merge branch 'redis' into clients-pops 2025-06-15 11:54:55 -04:00
Owen
ddd292422b Make error more clear
From #911
2025-06-15 10:53:03 -04:00
miloschwartz
8bb0401c25 Merge branch 'dev' into clients-pops 2025-06-13 16:43:33 -04:00
miloschwartz
139c9d2ce3 add redis conn to config 2025-06-13 16:42:15 -04:00
miloschwartz
21f4623e3e Merge branch 'dev' into redis 2025-06-13 13:05:24 -04:00
miloschwartz
b86ef93211 add replica connections for pg 2025-06-13 13:04:44 -04:00
Owen Schwartz
6384bcd934 Merge pull request #908 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-e7885b43cc
Bump the dev-patch-updates group across 1 directory with 5 updates
2025-06-13 09:39:45 -04:00
dependabot[bot]
3d4177bd93 Bump the dev-patch-updates group across 1 directory with 5 updates
Bumps the dev-patch-updates group with 4 updates in the / directory: [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react), [postcss](https://github.com/postcss/postcss) and [tsx](https://github.com/privatenumber/tsx).


Updates `@tailwindcss/postcss` from 4.1.8 to 4.1.10
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.10/packages/@tailwindcss-postcss)

Updates `@types/react` from 19.1.7 to 19.1.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `postcss` from 8.5.4 to 8.5.5
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.4...8.5.5)

Updates `tailwindcss` from 4.1.8 to 4.1.10
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.10/packages/tailwindcss)

Updates `tsx` from 4.20.1 to 4.20.3
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.1...v4.20.3)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: postcss
  dependency-version: 8.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tsx
  dependency-version: 4.20.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:36:55 +00:00
Owen Schwartz
c6e1a9a171 Merge pull request #897 from fosrl/dependabot/npm_and_yarn/types/node-24.0.1
Bump @types/node from 22.15.30 to 24.0.1
2025-06-13 09:34:42 -04:00
Owen Schwartz
13825568fe Merge pull request #896 from fosrl/dependabot/npm_and_yarn/dev-minor-updates-fd9b651c61
Bump tsx from 4.19.4 to 4.20.1 in the dev-minor-updates group
2025-06-13 09:34:21 -04:00
dependabot[bot]
05c6a010e4 Bump @types/node from 22.15.30 to 24.0.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.30 to 24.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-12 02:02:33 +00:00
dependabot[bot]
98178eaf24 Bump tsx from 4.19.4 to 4.20.1 in the dev-minor-updates group
Bumps the dev-minor-updates group with 1 update: [tsx](https://github.com/privatenumber/tsx).


Updates `tsx` from 4.19.4 to 4.20.1
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.19.4...v4.20.1)

---
updated-dependencies:
- dependency-name: tsx
  dependency-version: 4.20.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-12 02:02:17 +00:00
Owen
8266c26ef1 Merge branch 'dev' into clients-pops 2025-06-11 11:38:01 -04:00
Owen Schwartz
5c682fe923 Merge pull request #891 from fosrl/crowdin_dev
New Crowdin updates
2025-06-11 11:36:50 -04:00
Owen Schwartz
100dd80764 New translations en-us.json (Turkish) 2025-06-11 11:35:48 -04:00
Owen
a59222cabb Merge branch 'dev' into clients-pops 2025-06-11 11:15:54 -04:00
Owen Schwartz
867f1bcc96 Merge pull request #890 from fosrl/crowdin_dev
New Crowdin updates
2025-06-11 11:15:13 -04:00
Owen
459bc32f9d Merge branch 'dev' into clients-pops 2025-06-11 11:13:40 -04:00
Owen Schwartz
78b38c91e7 New translations en-us.json (Chinese Simplified) 2025-06-11 11:09:45 -04:00
Owen Schwartz
2ee88d6a46 New translations en-us.json (German) 2025-06-11 11:09:40 -04:00
Owen Schwartz
8d651cd44d Merge pull request #669 from Lokowitz/feature-i18n
Feature i18n added
2025-06-11 10:47:13 -04:00
Owen
8aa95db9bc Adjust button and add profile translations 2025-06-11 10:00:38 -04:00
Owen
31a41576d8 Fix translation & add space 2025-06-11 09:37:21 -04:00
Owen
9a2022a4fe Working on new exit node picking 2025-06-11 09:13:38 -04:00
Marvin
335c9b1fea Update zh-CN.json 2025-06-11 07:50:46 +02:00
Marvin
b395b65b86 Update de-DE.json 2025-06-11 07:48:19 +02:00
Marvin
768e4745e1 New Crowdin updates (#184)
* New translations en-us.json (French)

* New translations en-us.json (Spanish)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Dutch)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (Chinese Simplified)
2025-06-11 07:45:16 +02:00
Owen Schwartz
ba33064852 Merge pull request #885 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-45f2eb23f4
Bump @dotenvx/dotenvx from 1.44.1 to 1.44.2 in the dev-patch-updates group
2025-06-10 22:29:13 -04:00
dependabot[bot]
94b5aadd76 Bump @dotenvx/dotenvx in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx).


Updates `@dotenvx/dotenvx` from 1.44.1 to 1.44.2
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.44.1...v1.44.2)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.44.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-11 01:41:04 +00:00
Owen
a65ea9c360 Merge branch 'dev' into Lokowitz-feature-i18n 2025-06-10 18:40:24 -04:00
Owen
a6afce5c0e Restore eslint 2025-06-10 18:38:11 -04:00
Owen
d26ec69445 Add quotes 2025-06-10 18:37:26 -04:00
Owen
3c2ea1a75f Add translation and fix ts issues 2025-06-10 18:34:04 -04:00
Owen
0537992603 Merge branch 'dev' into clients-pops 2025-06-10 13:00:20 -04:00
Owen Schwartz
6acc2b6a17 Merge pull request #871 from Lokowitz/feat-add-test
feat - add test action
2025-06-10 12:38:32 -04:00
Marvin
83b4976305 Update Dockerfile 2025-06-10 15:59:58 +02:00
Marvin
b1cbb1b50f Update Dockerfile.pg 2025-06-10 15:59:30 +02:00
Marvin
ff9e5a383b Update test.yml 2025-06-10 14:00:34 +02:00
Lokowitz
d66739f69e update proxy section in resource 2025-06-10 07:30:30 +00:00
Marvin
fc6c93a08a Update Dockerfile.pg 2025-06-10 08:49:56 +02:00
Marvin
9897c53ed3 Update Dockerfile 2025-06-10 08:49:48 +02:00
Marvin
ced34dd2c6 Update Dockerfile.pg 2025-06-10 08:47:25 +02:00
Marvin
92caac309a Update Dockerfile 2025-06-10 08:43:16 +02:00
Marvin
3c7a91a047 Update test.yml 2025-06-10 08:42:09 +02:00
Marvin
571db825ad Merge branch 'fosrl:main' into feat-add-test 2025-06-10 08:06:48 +02:00
Marvin
0ae5ac9947 Update de-DE.json 2025-06-10 07:50:11 +02:00
Marvin
cd35148e48 Update zh-CN.json 2025-06-10 07:48:36 +02:00
Marvin
19ccf098f0 New Crowdin updates (#179)
* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (Chinese Simplified)

* New translations en-us.json (Spanish)

* New translations en-us.json (Dutch)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Spanish)

* New translations en-us.json (Dutch)
2025-06-10 07:45:23 +02:00
Timo
2b64c0e84e Update de-DE.json (#154)
Updated DE until Line 100
2025-06-10 07:29:02 +02:00
风间苏苏
d62a3c64cf feat(i18n): chinese i18n (#178) 2025-06-10 07:27:28 +02:00
Owen
3503cc3338 Merge branch 'main' into dev 2025-06-09 22:07:02 -04:00
Owen Schwartz
6d83e29ee2 Merge pull request #878 from thijsvanloef/fix/linting
Automate Linting, change linting slightly, and fix semi colon errors.
2025-06-09 22:04:06 -04:00
Owen Schwartz
5f9c9eed0a Merge pull request #880 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-ec219de246
Bump @types/react from 19.1.6 to 19.1.7 in the dev-patch-updates group
2025-06-09 22:03:06 -04:00
dependabot[bot]
97ef363461 Bump @types/react from 19.1.6 to 19.1.7 in the dev-patch-updates group
Bumps the dev-patch-updates group with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react).


Updates `@types/react` from 19.1.6 to 19.1.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-version: 19.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 01:20:20 +00:00
Owen
c67a2dfa73 Add sidebar - needs translations 2025-06-09 18:10:04 -04:00
Owen
f29a5ccc67 Translate sidebar 2025-06-09 18:04:45 -04:00
Thijs van Loef
cbca88f76b fix semi colons 2025-06-09 23:52:16 +02:00
Thijs van Loef
3ee9051bc1 change naming 2025-06-09 23:51:53 +02:00
Thijs van Loef
097dafb553 enable automated linting 2025-06-09 23:49:35 +02:00
Owen
915581dfe7 Add label 2025-06-09 17:42:28 -04:00
Owen
a2cf4ffac1 Remove old internationalization 2025-06-09 17:41:31 -04:00
Milo Schwartz
6b4e52a725 Merge pull request #877 from fosrl/dev
1.5.1
2025-06-09 17:40:35 -04:00
Owen
454d7c4a88 Update lock 2025-06-09 17:40:10 -04:00
Owen
cb85ad460e Remove redundant icons; make update selector 2025-06-09 17:39:29 -04:00
miloschwartz
e41eafd497 enhance link styling and bump traefik version 2025-06-09 17:38:18 -04:00
Owen Schwartz
d70396a664 Merge pull request #876 from thijsvanloef/fix/define-files-in-eslint
Add Typescript specific linting & define files in eslint
2025-06-09 17:15:23 -04:00
Thijs van Loef
3d59556bcd readd accidentally removed line 2025-06-09 22:38:38 +02:00
Thijs van Loef
c7018e92b0 Merge branch 'dev' into fix/define-files-in-eslint 2025-06-09 22:36:56 +02:00
Thijs van Loef
a575bace39 add typescript eslint 2025-06-09 22:32:38 +02:00
Thijs van Loef
2047aa30e1 add typescript specific linting 2025-06-09 22:25:27 +02:00
Thijs van Loef
3b10453af3 define files in eslint 2025-06-09 22:18:38 +02:00
Owen
363b8b52af Merge branch 'dev' into Lokowitz-feature-i18n 2025-06-09 14:53:32 -04:00
Owen
3257edc2a0 Add link to docs for newt 2025-06-09 14:23:53 -04:00
miloschwartz
cd54e7dd38 pick first port on select container 2025-06-09 13:01:53 -04:00
Owen
9177eaba22 Merge branch 'main' into dev 2025-06-09 11:22:35 -04:00
Owen Schwartz
33ae2e08cc Merge pull request #872 from Lokowitz/fix-dependabot
fix - dependabot
2025-06-09 11:17:45 -04:00
Owen Schwartz
4fc61386d3 Merge pull request #867 from thijsvanloef/fix-767/unit-aware-sorting
Fix - Sort Data In/Out correctly in Sites Management page in the Pangolin Dashboard
2025-06-09 11:17:15 -04:00
Owen
c409266954 Fix #860 2025-06-09 11:13:58 -04:00
Owen
57315a36ee Merge branch 'main' into dev 2025-06-09 11:07:42 -04:00
Owen Schwartz
63637b91a8 Merge pull request #874 from fosrl/dependabot/npm_and_yarn/dev-patch-updates-637b1bbe0a
Bump the dev-patch-updates group across 1 directory with 4 updates
2025-06-09 11:06:32 -04:00
Owen Schwartz
09238cd98a Merge pull request #873 from fosrl/dependabot/npm_and_yarn/prod-patch-updates-1931de1053
Bump zod from 3.25.46 to 3.25.56 in the prod-patch-updates group across 1 directory
2025-06-09 11:06:08 -04:00
Owen Schwartz
67b149ce4b Merge pull request #834 from fosrl/dependabot/npm_and_yarn/tar-fs-2.1.3
Bump tar-fs from 2.1.2 to 2.1.3
2025-06-09 11:05:24 -04:00
Thijs van Loef
96151de814 improve readability 2025-06-09 13:18:22 +02:00
Thijs van Loef
f2e461a1ee improve readability 2025-06-09 13:06:08 +02:00
dependabot[bot]
8125622c98 Bump the dev-patch-updates group across 1 directory with 4 updates
Bumps the dev-patch-updates group with 4 updates in the / directory: [@types/cookie-parser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cookie-parser), [@types/cors](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cors), [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) and [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email).


Updates `@types/cookie-parser` from 1.4.8 to 1.4.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cookie-parser)

Updates `@types/cors` from 2.8.18 to 2.8.19
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cors)

Updates `@types/react-dom` from 19.1.5 to 19.1.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `react-email` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.0.16/packages/react-email)

---
updated-dependencies:
- dependency-name: "@types/cookie-parser"
  dependency-version: 1.4.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/cors"
  dependency-version: 2.8.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 02:06:40 +00:00
dependabot[bot]
1a6942ccc9 Bump zod in the prod-patch-updates group across 1 directory
Bumps the prod-patch-updates group with 1 update in the / directory: [zod](https://github.com/colinhacks/zod).


Updates `zod` from 3.25.46 to 3.25.56
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.46...v3.25.56)

---
updated-dependencies:
- dependency-name: zod
  dependency-version: 3.25.56
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 02:05:59 +00:00
Marvin
7b0e1df778 Update dependabot.yml 2025-06-08 17:29:14 +02:00
Marvin
6f8c538086 Update Dockerfile 2025-06-08 16:57:01 +02:00
Marvin
b353a8f9b4 Update Makefile 2025-06-08 16:56:46 +02:00
Marvin
0eb35f2221 Create test.yml 2025-06-08 16:56:21 +02:00
Owen Schwartz
7d6b114d67 Merge pull request #869 from Lokowitz/fix-package
Fix - package-lock
2025-06-08 08:47:40 -04:00
Lokowitz
a169256770 update package-lock 2025-06-08 12:30:32 +00:00
Lokowitz
2e54afd72f rebuild package-lock 2025-06-08 12:26:52 +00:00
Thijs van Loef
26207bd951 add datasize helper and add correct sorting to sitestable 2025-06-08 00:07:49 +02:00
Owen
3ed681e277 Bump temp version 2025-06-06 12:16:58 -04:00
Owen
c135b5e3cf Dont request unless its a newt 2025-06-06 12:15:15 -04:00
Owen
e648307f0b Merge branch 'main' into dev 2025-06-06 12:04:24 -04:00
Owen Schwartz
0e4f35e87a Merge pull request #855 from Lokowitz/main
fix - removed package-lock.json from .gitignore
2025-06-06 12:00:49 -04:00
Marvin
553dffd4ee removed package-lock.json from .gitignore
update package-lock.json
2025-06-06 07:00:07 +00:00
风间苏苏
b4b19d2263 chore(i18n): partial Simplified Chinese localization (draft) (#143)
* Chinese i18n

* fix(i18n): corrected mislabeled language name from "中国人" to "简体中文"

* chore(i18n): initial Simplified Chinese translation
2025-06-06 08:29:49 +02:00
Marvin
c7c39676d1 add NL and ES
resolve conflicts
2025-06-06 06:06:56 +00:00
Marvin
a6348a3e28 Merge remote-tracking branch 'upstream/dev' into feature-i18n 2025-06-06 06:03:55 +00:00
Marvin
75212f1e05 New Crowdin updates (#153)
* New translations en-us.json (Spanish)

* New translations en-us.json (Dutch)
2025-06-06 07:55:44 +02:00
miloschwartz
c1fd38ac39 fix typo 2025-06-05 15:48:37 -04:00
miloschwartz
33e2798313 Merge branch 'main' into dev 2025-06-05 14:44:55 -04:00
miloschwartz
f0cb65f65c dont import db in nextjs 2025-06-05 14:44:34 -04:00
Marvin
e885676ad8 add chinese 2025-06-05 17:30:49 +00:00
Marvin
b75d0a921e resolve conflicts 2025-06-05 17:27:38 +00:00
Marvin
34fa5fe438 Merge remote-tracking branch 'upstream/dev' into feature-i18n 2025-06-05 17:27:13 +00:00
Marvin
c2449ce795 New translations en-us.json (Chinese Simplified) (#149) 2025-06-05 19:18:22 +02:00
Milo Schwartz
9bb6cb14a6 Merge pull request #843 from fosrl/dev
1.5.0
2025-06-05 12:11:47 -04:00
miloschwartz
b6f67e0f0b Merge branch 'main' into dev 2025-06-05 12:11:37 -04:00
miloschwartz
980545c636 dont throw if fail to migration config 2025-06-05 11:55:59 -04:00
miloschwartz
92135ff9c1 minor visal adjustments to docker container view 2025-06-05 11:51:48 -04:00
Marvin
dd7b91f770 Merge remote-tracking branch 'upstream/dev' into feature-i18n 2025-06-05 04:41:28 +00:00
Owen
ab843b1a43 Clean up unused 2025-06-04 17:42:19 -04:00
miloschwartz
4593edbb45 add get role to integration api 2025-06-04 17:28:46 -04:00
Owen
96b451843c Update placeholder 2025-06-04 17:27:10 -04:00
Owen
54aa3ce7d8 Comment the socket status for now 2025-06-04 17:18:42 -04:00
Owen
45a70152ee Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-06-04 17:17:56 -04:00
miloschwartz
8c5f00a446 remove .sqlite from Dockerfile 2025-06-04 17:17:18 -04:00
miloschwartz
af98610d0d fix migration number and add allowed_headers migration 2025-06-04 17:15:11 -04:00
Owen
875ec662ad Fix retry 2025-06-04 16:05:41 -04:00
Owen
8800ec9675 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-06-04 16:02:52 -04:00
Owen
df4da75c57 Dont do socket on non-newt sites 2025-06-04 16:02:45 -04:00
miloschwartz
717dfae26c look for ipv6 in brackets and fix cors headers in install config 2025-06-04 15:56:16 -04:00
Owen
58a2a9dcc9 Fix db import for pg 2025-06-04 15:24:15 -04:00
Owen
27a0df4ed4 Add migration for 1.4.0 2025-06-04 15:16:42 -04:00
Milo Schwartz
6fc6f325a7 Merge pull request #807 from pyrho/feat/auth-header
send user data to badger when authenticated
2025-06-04 12:17:23 -04:00
miloschwartz
b46e49922c Merge branch 'dev' into postgres 2025-06-04 12:04:28 -04:00
miloschwartz
2cca561e51 support postgresql as database option 2025-06-04 12:02:07 -04:00
Marvin
fbc1aa25a3 merge with dev and resolved confics 2025-06-04 09:01:43 +00:00
Marvin
e8870cf174 Merge remote-tracking branch 'upstream/dev' into feature-i18n 2025-06-04 09:01:37 +00:00
Owen
17919192e0 Speed up when the button shows 2025-06-03 21:04:08 -04:00
vlalx
d768bb163a I18n additionals (#125)
* New translation keys

* Updates in src/components

* Updates in src/providers

* remove lable in selector, not needed

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
2025-06-03 20:10:00 +02:00
vlalx
dc6fafba41 Fixes for build (#124) 2025-06-03 19:48:20 +02:00
dependabot[bot]
9f979c5019 Bump tar-fs from 2.1.2 to 2.1.3
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.2 to 2.1.3.
- [Commits](https://github.com/mafintosh/tar-fs/commits)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-03 09:32:28 +00:00
Owen Schwartz
c3d2c34279 Merge pull request #831 from TheresaQWQ/patch-1
fix typo
2025-06-02 22:42:17 -04:00
风间苏苏
430f187fde fix typo 2025-06-03 10:37:27 +08:00
Owen
f438d2ddbf Watch target inputs 2025-06-02 21:13:57 -04:00
Owen
6d519af198 Rollback select packages; update fav 2025-06-02 20:47:22 -04:00
Owen Schwartz
a34e88257d Merge pull request #823 from fosrl/dependabot/npm_and_yarn/multi-5726d3b8f4
Bump esbuild and drizzle-kit
2025-06-02 09:08:28 -04:00
Owen
ea0ab0e63c Merge branch 'dev' into improbableone-hub-dev 2025-06-01 23:31:11 -04:00
dependabot[bot]
80375cd0dc Bump esbuild and drizzle-kit
Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.2 and updates ancestor dependency [drizzle-kit](https://github.com/drizzle-team/drizzle-orm). These dependencies need to be updated together.


Updates `esbuild` from 0.18.20 to 0.25.2
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.18.20...v0.25.2)

Updates `drizzle-kit` from 0.30.6 to 0.31.1
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.30.6...drizzle-kit@0.31.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.2
  dependency-type: indirect
- dependency-name: drizzle-kit
  dependency-version: 0.31.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:26:24 +00:00
Owen
f817ba7664 Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-06-01 23:19:18 -04:00
Owen
3398088e03 Merge branch 'Lokowitz-main' into dev 2025-06-01 23:18:58 -04:00
Owen
e586dd50f4 Merge branch 'main' of github.com:Lokowitz/pangolin into Lokowitz-main 2025-06-01 23:15:54 -04:00
Owen Schwartz
5a71c0ba65 Merge pull request #817 from PrtmPhlp/main
docker run command in detached mode
2025-06-01 22:32:22 -04:00
Marvin
f13b6abd78 Update dependabot.yml 2025-06-01 15:50:14 +02:00
Marvin
34c6b590d7 Update dependabot.yml 2025-06-01 15:47:54 +02:00
Marvin
ab797203eb Update dependabot.yml 2025-06-01 15:46:23 +02:00
Marvin
30e8b1f0fe Update dependabot.yml 2025-06-01 15:39:20 +02:00
dependabot[bot]
d03bee98f5 Bump yargs from 17.7.2 to 18.0.0 in the dev-major-updates group (#119)
Bumps the dev-major-updates group with 1 update: [yargs](https://github.com/yargs/yargs).


Updates `yargs` from 17.7.2 to 18.0.0
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v17.7.2...v18.0.0)

---
updated-dependencies:
- dependency-name: yargs
  dependency-version: 18.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-major-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 15:25:08 +02:00
dependabot[bot]
fa365fb7b8 Bump the dev-minor-updates group with 4 updates (#118)
Bumps the dev-minor-updates group with 4 updates: [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) and [typescript](https://github.com/microsoft/TypeScript).


Updates `@dotenvx/dotenvx` from 1.32.0 to 1.44.1
- [Release notes](https://github.com/dotenvx/dotenvx/releases)
- [Changelog](https://github.com/dotenvx/dotenvx/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dotenvx/dotenvx/compare/v1.32.0...v1.44.1)

Updates `@types/node` from 22.10.10 to 22.15.29
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `drizzle-kit` from 0.30.6 to 0.31.1
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.30.6...drizzle-kit@0.31.1)

Updates `typescript` from 5.7.3 to 5.8.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.3)

---
updated-dependencies:
- dependency-name: "@dotenvx/dotenvx"
  dependency-version: 1.44.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: "@types/node"
  dependency-version: 22.15.29
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: drizzle-kit
  dependency-version: 0.31.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
- dependency-name: typescript
  dependency-version: 5.8.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 15:16:59 +02:00
dependabot[bot]
ea1cd4b0d4 Bump the prod-minor-updates group with 27 updates (#121)
* Bump the prod-minor-updates group with 27 updates

Bumps the prod-minor-updates group with 27 updates:

| Package | From | To |
| --- | --- | --- |
| [@radix-ui/react-checkbox](https://github.com/radix-ui/primitives) | `1.1.3` | `1.3.2` |
| [@radix-ui/react-radio-group](https://github.com/radix-ui/primitives) | `1.2.2` | `1.3.7` |
| [@radix-ui/react-select](https://github.com/radix-ui/primitives) | `2.1.4` | `2.2.5` |
| [@radix-ui/react-slot](https://github.com/radix-ui/primitives) | `1.1.1` | `1.2.3` |
| [@radix-ui/react-switch](https://github.com/radix-ui/primitives) | `1.1.2` | `1.2.5` |
| [@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render) | `1.0.6` | `1.1.2` |
| [@tanstack/react-table](https://github.com/TanStack/table/tree/HEAD/packages/react-table) | `8.20.6` | `8.21.3` |
| [arctic](https://github.com/pilcrowonpaper/arctic) | `3.6.0` | `3.7.0` |
| [axios](https://github.com/axios/axios) | `1.8.4` | `1.9.0` |
| [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) | `11.7.0` | `11.10.0` |
| [cmdk](https://github.com/pacocoursey/cmdk/tree/HEAD/cmdk) | `1.0.4` | `1.1.1` |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.38.3` | `0.44.1` |
| [eslint](https://github.com/eslint/eslint) | `9.17.0` | `9.28.0` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.1.3` | `15.3.3` |
| [helmet](https://github.com/helmetjs/helmet) | `8.0.0` | `8.1.0` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.469.0` | `0.511.0` |
| [next](https://github.com/vercel/next.js) | `15.2.4` | `15.3.3` |
| [npm](https://github.com/npm/cli) | `11.2.0` | `11.4.1` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.0.0` | `19.1.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.1` | `19.1.6` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.0.0` | `19.1.0` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.1.2` | `19.1.5` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.54.2` | `7.56.4` |
| [semver](https://github.com/npm/node-semver) | `7.6.3` | `7.7.2` |
| [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) | `7.5.8` | `7.7.0` |
| [tw-animate-css](https://github.com/Wombosvideo/tw-animate-css) | `1.2.8` | `1.3.2` |
| [zod](https://github.com/colinhacks/zod) | `3.24.1` | `3.25.46` |


Updates `@radix-ui/react-checkbox` from 1.1.3 to 1.3.2
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-radio-group` from 1.2.2 to 1.3.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-select` from 2.1.4 to 2.2.5
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-slot` from 1.1.1 to 1.2.3
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-switch` from 1.1.2 to 1.2.5
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@react-email/render` from 1.0.6 to 1.1.2
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/render/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/render@1.1.2/packages/render)

Updates `@tanstack/react-table` from 8.20.6 to 8.21.3
- [Release notes](https://github.com/TanStack/table/releases)
- [Commits](https://github.com/TanStack/table/commits/v8.21.3/packages/react-table)

Updates `arctic` from 3.6.0 to 3.7.0
- [Release notes](https://github.com/pilcrowonpaper/arctic/releases)
- [Commits](https://github.com/pilcrowonpaper/arctic/compare/v3.6.0...v3.7.0)

Updates `axios` from 1.8.4 to 1.9.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.8.4...v1.9.0)

Updates `better-sqlite3` from 11.7.0 to 11.10.0
- [Release notes](https://github.com/WiseLibs/better-sqlite3/releases)
- [Commits](https://github.com/WiseLibs/better-sqlite3/compare/v11.7.0...v11.10.0)

Updates `cmdk` from 1.0.4 to 1.1.1
- [Release notes](https://github.com/pacocoursey/cmdk/releases)
- [Commits](https://github.com/pacocoursey/cmdk/commits/v1.1.1/cmdk)

Updates `drizzle-orm` from 0.38.3 to 0.44.1
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases)
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.38.3...0.44.1)

Updates `eslint` from 9.17.0 to 9.28.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.17.0...v9.28.0)

Updates `eslint-config-next` from 15.1.3 to 15.3.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v15.3.3/packages/eslint-config-next)

Updates `helmet` from 8.0.0 to 8.1.0
- [Changelog](https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/helmetjs/helmet/compare/v8.0.0...v8.1.0)

Updates `lucide-react` from 0.469.0 to 0.511.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.511.0/packages/lucide-react)

Updates `next` from 15.2.4 to 15.3.3
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.2.4...v15.3.3)

Updates `npm` from 11.2.0 to 11.4.1
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v11.2.0...v11.4.1)

Updates `react` from 19.0.0 to 19.1.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.0/packages/react)

Updates `@types/react` from 19.1.1 to 19.1.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-dom` from 19.0.0 to 19.1.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.1.0/packages/react-dom)

Updates `@types/react-dom` from 19.1.2 to 19.1.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `react-hook-form` from 7.54.2 to 7.56.4
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.54.2...v7.56.4)

Updates `semver` from 7.6.3 to 7.7.2
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.3...v7.7.2)

Updates `@types/semver` from 7.5.8 to 7.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

Updates `tw-animate-css` from 1.2.8 to 1.3.2
- [Release notes](https://github.com/Wombosvideo/tw-animate-css/releases)
- [Commits](https://github.com/Wombosvideo/tw-animate-css/compare/v1.2.8...v1.3.2)

Updates `zod` from 3.24.1 to 3.25.46
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.24.1...v3.25.46)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-checkbox"
  dependency-version: 1.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@radix-ui/react-radio-group"
  dependency-version: 1.3.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@radix-ui/react-select"
  dependency-version: 2.2.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@radix-ui/react-slot"
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@radix-ui/react-switch"
  dependency-version: 1.2.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@react-email/render"
  dependency-version: 1.1.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@tanstack/react-table"
  dependency-version: 8.21.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: arctic
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: axios
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: better-sqlite3
  dependency-version: 11.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: cmdk
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: drizzle-orm
  dependency-version: 0.44.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint
  dependency-version: 9.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: eslint-config-next
  dependency-version: 15.3.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: helmet
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: lucide-react
  dependency-version: 0.511.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: next
  dependency-version: 15.3.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: npm
  dependency-version: 11.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: react
  dependency-version: 19.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@types/react"
  dependency-version: 19.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: prod-minor-updates
- dependency-name: react-dom
  dependency-version: 19.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: prod-minor-updates
- dependency-name: react-hook-form
  dependency-version: 7.56.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: semver
  dependency-version: 7.7.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: "@types/semver"
  dependency-version: 7.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: tw-animate-css
  dependency-version: 1.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
- dependency-name: zod
  dependency-version: 3.25.46
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: prod-minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>

* modified:   package-lock.json
	modified:   package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marvin <127591405+Lokowitz@users.noreply.github.com>
2025-06-01 15:07:49 +02:00
dependabot[bot]
be0c7444e9 Bump node from 20-alpine to 24-alpine in the major-updates group (#111)
Bumps the major-updates group with 1 update: node.


Updates `node` from 20-alpine to 24-alpine

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
  dependency-group: major-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 14:12:08 +02:00
dependabot[bot]
858c809514 Bump the dev-patch-updates group with 8 updates (#117)
Bumps the dev-patch-updates group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.4` | `4.1.8` |
| [@types/cors](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cors) | `2.8.17` | `2.8.18` |
| [esbuild](https://github.com/evanw/esbuild) | `0.25.2` | `0.25.5` |
| [postcss](https://github.com/postcss/postcss) | `8.5.1` | `8.5.4` |
| [react-email](https://github.com/resend/react-email/tree/HEAD/packages/react-email) | `4.0.6` | `4.0.15` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.4` | `4.1.8` |
| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.8.10` | `1.8.16` |
| [tsx](https://github.com/privatenumber/tsx) | `4.19.3` | `4.19.4` |


Updates `@tailwindcss/postcss` from 4.1.4 to 4.1.8
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.8/packages/@tailwindcss-postcss)

Updates `@types/cors` from 2.8.17 to 2.8.18
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cors)

Updates `esbuild` from 0.25.2 to 0.25.5
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.2...v0.25.5)

Updates `postcss` from 8.5.1 to 8.5.4
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.1...8.5.4)

Updates `react-email` from 4.0.6 to 4.0.15
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/react-email/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/react-email@4.0.15/packages/react-email)

Updates `tailwindcss` from 4.1.4 to 4.1.8
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.8/packages/tailwindcss)

Updates `tsc-alias` from 1.8.10 to 1.8.16
- [Release notes](https://github.com/justkey007/tsc-alias/releases)
- [Commits](https://github.com/justkey007/tsc-alias/compare/v1.8.10...v1.8.16)

Updates `tsx` from 4.19.3 to 4.19.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.19.3...v4.19.4)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: "@types/cors"
  dependency-version: 2.8.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: esbuild
  dependency-version: 0.25.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: postcss
  dependency-version: 8.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: react-email
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tailwindcss
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tsc-alias
  dependency-version: 1.8.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
- dependency-name: tsx
  dependency-version: 4.19.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 14:11:51 +02:00
dependabot[bot]
10ff2c8a65 Bump the prod-patch-updates group with 19 updates (#120)
Bumps the prod-patch-updates group with 19 updates:

| Package | From | To |
| --- | --- | --- |
| [@asteasolutions/zod-to-openapi](https://github.com/asteasolutions/zod-to-openapi) | `7.3.0` | `7.3.2` |
| [@radix-ui/react-avatar](https://github.com/radix-ui/primitives) | `1.1.2` | `1.1.10` |
| [@radix-ui/react-collapsible](https://github.com/radix-ui/primitives) | `1.1.2` | `1.1.11` |
| [@radix-ui/react-dialog](https://github.com/radix-ui/primitives) | `1.1.4` | `1.1.14` |
| [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives) | `2.1.4` | `2.1.15` |
| [@radix-ui/react-label](https://github.com/radix-ui/primitives) | `2.1.1` | `2.1.7` |
| [@radix-ui/react-popover](https://github.com/radix-ui/primitives) | `1.1.4` | `1.1.14` |
| [@radix-ui/react-progress](https://github.com/radix-ui/primitives) | `1.1.4` | `1.1.7` |
| [@radix-ui/react-separator](https://github.com/radix-ui/primitives) | `1.1.1` | `1.1.7` |
| [@radix-ui/react-tabs](https://github.com/radix-ui/primitives) | `1.1.2` | `1.1.12` |
| [@radix-ui/react-toast](https://github.com/radix-ui/primitives) | `1.2.4` | `1.2.14` |
| [@react-email/components](https://github.com/resend/react-email/tree/HEAD/packages/components) | `0.0.36` | `0.0.41` |
| [@react-email/tailwind](https://github.com/resend/react-email/tree/HEAD/packages/tailwind) | `1.0.4` | `1.0.5` |
| [glob](https://github.com/isaacs/node-glob) | `11.0.0` | `11.0.2` |
| [input-otp](https://github.com/guilhermerodz/input-otp/tree/HEAD/packages/input-otp) | `1.4.1` | `1.4.2` |
| [next-themes](https://github.com/pacocoursey/next-themes) | `0.4.4` | `0.4.6` |
| [ws](https://github.com/websockets/ws) | `8.18.0` | `8.18.2` |
| [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) | `8.5.13` | `8.18.1` |
| [zod-validation-error](https://github.com/causaly/zod-validation-error) | `3.4.0` | `3.4.1` |


Updates `@asteasolutions/zod-to-openapi` from 7.3.0 to 7.3.2
- [Release notes](https://github.com/asteasolutions/zod-to-openapi/releases)
- [Commits](https://github.com/asteasolutions/zod-to-openapi/compare/v7.3.0...v7.3.2)

Updates `@radix-ui/react-avatar` from 1.1.2 to 1.1.10
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-collapsible` from 1.1.2 to 1.1.11
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-dialog` from 1.1.4 to 1.1.14
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-dropdown-menu` from 2.1.4 to 2.1.15
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-label` from 2.1.1 to 2.1.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-popover` from 1.1.4 to 1.1.14
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-progress` from 1.1.4 to 1.1.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-separator` from 1.1.1 to 1.1.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-tabs` from 1.1.2 to 1.1.12
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-toast` from 1.2.4 to 1.2.14
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@react-email/components` from 0.0.36 to 0.0.41
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/components/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/components@0.0.41/packages/components)

Updates `@react-email/tailwind` from 1.0.4 to 1.0.5
- [Release notes](https://github.com/resend/react-email/releases)
- [Changelog](https://github.com/resend/react-email/blob/canary/packages/tailwind/CHANGELOG.md)
- [Commits](https://github.com/resend/react-email/commits/@react-email/tailwind@1.0.5/packages/tailwind)

Updates `glob` from 11.0.0 to 11.0.2
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v11.0.0...v11.0.2)

Updates `input-otp` from 1.4.1 to 1.4.2
- [Changelog](https://github.com/guilhermerodz/input-otp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guilhermerodz/input-otp/commits/HEAD/packages/input-otp)

Updates `next-themes` from 0.4.4 to 0.4.6
- [Release notes](https://github.com/pacocoursey/next-themes/releases)
- [Commits](https://github.com/pacocoursey/next-themes/compare/v0.4.4...v0.4.6)

Updates `ws` from 8.18.0 to 8.18.2
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.18.0...8.18.2)

Updates `@types/ws` from 8.5.13 to 8.18.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Updates `zod-validation-error` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/causaly/zod-validation-error/releases)
- [Changelog](https://github.com/causaly/zod-validation-error/blob/main/CHANGELOG.md)
- [Commits](https://github.com/causaly/zod-validation-error/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: "@asteasolutions/zod-to-openapi"
  dependency-version: 7.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-avatar"
  dependency-version: 1.1.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-collapsible"
  dependency-version: 1.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-dialog"
  dependency-version: 1.1.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-dropdown-menu"
  dependency-version: 2.1.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-label"
  dependency-version: 2.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-popover"
  dependency-version: 1.1.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-progress"
  dependency-version: 1.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-separator"
  dependency-version: 1.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-tabs"
  dependency-version: 1.1.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@radix-ui/react-toast"
  dependency-version: 1.2.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@react-email/components"
  dependency-version: 0.0.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@react-email/tailwind"
  dependency-version: 1.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: glob
  dependency-version: 11.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: input-otp
  dependency-version: 1.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: next-themes
  dependency-version: 0.4.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: ws
  dependency-version: 8.18.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
- dependency-name: "@types/ws"
  dependency-version: 8.18.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: prod-patch-updates
- dependency-name: zod-validation-error
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 14:08:55 +02:00
PrtmPhlp
167d0b6867 unnecessary file 2025-06-01 12:19:09 +02:00
PrtmPhlp
8c121daf6c docker run command in detached mode 2025-06-01 12:15:14 +02:00
Marvin
a23d437bd3 Create dependabot.yml 2025-06-01 11:01:55 +02:00
Owen
cd280d1396 Also start the service 2025-05-31 11:02:53 -04:00
Owen
d18200739a Check if docker is running 2025-05-31 11:01:03 -04:00
Owen
a62b2e8d10 Use 41 for dnf5 2025-05-31 10:56:38 -04:00
Owen Schwartz
c92069a1f4 Merge pull request #796 from socheatsok78/non-root-installer
Allow installer to run without requires `sudo`
2025-05-31 10:48:47 -04:00
Damien Rajon
c5e37c1608 send user data to badger when authenticated 2025-05-30 20:37:21 +02:00
Rajesh V
948eb7f6d0 docker socket 2025-05-29 22:34:05 +05:30
miloschwartz
62a0104e70 Merge branch 'dev' into postgres 2025-05-29 12:09:56 -04:00
miloschwartz
6dd8db5cd1 add new logo 2025-05-29 12:09:49 -04:00
Socheat Sok
9ea7275371 Ensure installer check if current user is in docker group 2025-05-29 22:49:42 +07:00
Socheat Sok
c997b8625f Re: "Allow installer to run without sudo & only need it when need to install Docker" 2025-05-29 21:55:50 +07:00
Socheat Sok
6f3514199a Revert "Allow installer to run without sudo & only need it when need to install Docker"
This reverts commit 56fd366a7d.
2025-05-29 21:45:57 +07:00
Owen
0cfc4d7dad Update for new dnf 2025-05-29 10:40:15 -04:00
Socheat Sok
56fd366a7d Allow installer to run without sudo & only need it when need to install Docker 2025-05-29 16:05:31 +07:00
Owen
1c18b2bffb Create redis connection 2025-05-28 20:59:06 -04:00
Owen
23b5dcfbed Update readme 2025-05-27 20:47:23 -04:00
Owen
d523ebe0e0 Merge branch 'dev' into auth-providers-clients 2025-05-27 20:46:09 -04:00
miloschwartz
30ebbaaef0 Merge branch 'dev' into postgres 2025-05-27 17:19:43 -04:00
Marvin
dba5a73e0e New Crowdin updates (#28)
* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)
2025-05-25 21:09:05 +02:00
Lokowitz
f07e8d08c3 update all 2025-05-25 19:01:20 +00:00
vlalx
ea24759bb3 I18n components (#27)
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Move into function

* Replace string matching to boolean check

* Add FIXIT in UsersTable

* Use localization for size units

* Missed and restored translation keys

* fixup! New translation keys in tr-TR locale

* Add translation keys in components
2025-05-25 16:41:38 +02:00
Owen Schwartz
b467d6afa1 Merge pull request #779 from jpgnz/main
README.md - Append https:// to geoblock
2025-05-24 23:59:11 -04:00
James Graham
373441b7ab Fix geolock url in README.md
Geoblock url needed https:// appended
2025-05-25 13:36:44 +12:00
Marvin
af3694da34 New Crowdin updates (#26)
* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)
2025-05-17 22:39:07 +02:00
Lokowitz
ae4ef4eb99 modified: messages/en-US.json
modified:   src/components/tags/autocomplete.tsx
2025-05-17 20:34:01 +00:00
Lokowitz
547e777eb0 more fixes 2025-05-17 20:16:26 +00:00
Lokowitz
d9ee40c898 more fixes 2025-05-17 20:04:56 +00:00
Lokowitz
eff812eaa8 first fixes 2025-05-17 18:17:22 +00:00
vlalx
731ec1da69 I18n app other (#24)
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/invite, app/setup and other files

* Fix build

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
2025-05-17 18:23:34 +02:00
vlalx
b8ed5ac1c5 I18n auth (#23)
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/auth

* Fix build

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
2025-05-17 18:11:56 +02:00
vlalx
d2d84be99a I18n admin (#22)
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/admin

* Fix build

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
2025-05-17 18:04:19 +02:00
vlalx
96bfc3cf36 I18n orgId/settings (#21)
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/resources/resourceId/authentication

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/resources/resourceId/general

* Small naming fix

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/access/roles

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in orgId/settings

* Fixes after merge

* Fixes after merge

* Fixes after merge

* Small fix

* Fix build
2025-05-17 17:49:01 +02:00
Lokowitz
6f54e3da9e New translations en-us.json (German) 2025-05-17 15:39:40 +00:00
Owen Schwartz
825730052b Merge pull request #736 from TuncTaylan/traefik-log-rotation
traefik log rotation with default values
2025-05-16 10:28:48 -04:00
Owen Schwartz
edc8716297 Merge pull request #735 from TuncTaylan/traefik-update
update to traefik v3.4.0
2025-05-16 10:27:50 -04:00
Taylan
3ee4aaf194 log rotation with default values 2025-05-16 09:20:40 +02:00
Taylan
b9a5d486b9 update to v3.4.0 2025-05-16 09:16:49 +02:00
miloschwartz
d3b9363392 Merge branch 'dev' into auth-providers-clients 2025-05-13 15:08:46 -04:00
miloschwartz
dc66ebeed6 Merge branch 'dev' into postgres 2025-05-13 15:08:05 -04:00
Milo Schwartz
1f584bf3e8 Merge pull request #717 from fosrl/dev
1.4.0
2025-05-13 11:12:03 -04:00
miloschwartz
5b0200154a add feature parity 2025-05-13 11:09:38 -04:00
miloschwartz
1e55d96376 add different driver 2025-05-12 17:21:03 -04:00
Owen
285b99f1b7 Can adjust sites 2025-05-11 12:29:58 -04:00
Owen
8ad8f98f48 Able to update sites from the frontend 2025-05-11 11:11:27 -04:00
Owen
160a7ff3db Merge branch 'dev' into auth-providers-clients 2025-05-11 10:31:29 -04:00
Milo Schwartz
a512148348 Merge pull request #701 from fosrl/dev
1.3.2
2025-05-10 11:30:07 -04:00
miloschwartz
d9eccd6c13 bump version 2025-05-10 11:28:22 -04:00
Lokowitz
1f95d7161a fixes for invitations 2025-05-10 14:20:21 +00:00
Marvin
3a1f4d7545 Merge pull request #17 from vlalx/i18n_invitations
I18n invitations
2025-05-10 16:17:40 +02:00
miloschwartz
492669f68a set default congig values 2025-05-09 18:32:14 -04:00
miloschwartz
caded23b51 allow root path 2025-05-09 17:37:55 -04:00
miloschwartz
e9cc48a3ae fix bug causing duplicate targets 2025-05-09 17:18:42 -04:00
miloschwartz
4ed98c227b fix setting tlsServerName and hostHeader conflict 2025-05-09 17:12:01 -04:00
miloschwartz
f66fb7d4a3 fix justification for profile icon 2025-05-09 17:09:22 -04:00
miloschwartz
f25990a9a7 add id token and claims to debug logs 2025-05-09 16:46:51 -04:00
miloschwartz
21d5b67ef1 Merge branch 'main' into dev 2025-05-09 16:44:09 -04:00
Milo Schwartz
198810121c Update README.md 2025-05-09 16:44:01 -04:00
vlalx
408822ab7f Fix missed translation keys 2025-05-09 20:03:32 +03:00
vlalx
840d5c2b66 Add translation keys in settings/access/invitations 2025-05-07 17:46:16 +03:00
vlalx
491b4e7b18 New translation keys in tr-TR locale 2025-05-07 17:45:12 +03:00
vlalx
89729a451c New translation keys in pt-PT locale 2025-05-07 17:44:56 +03:00
vlalx
0fd3271ef4 New translation keys in pl-PL locale 2025-05-07 17:44:46 +03:00
vlalx
fa21934d5d New translation keys in it-IT locale 2025-05-07 17:44:36 +03:00
vlalx
f91a4e88d5 New translation keys in fr-FR locale 2025-05-07 17:43:51 +03:00
vlalx
3e9dc4753b New translation keys in de-DE locale 2025-05-07 17:43:42 +03:00
vlalx
b03415a0eb New translation keys in en-US locale 2025-05-07 17:43:17 +03:00
Marvin
a8e8676b0a Merge pull request #16 from vlalx/i18n_admin_api_keys
i18n in admin/api-keys
2025-05-06 14:10:27 +02:00
vlalx
8242a66b97 Add translation keys in admin/api-keys 2025-05-06 15:02:23 +03:00
vlalx
d994a8100d Add missed translation keys in settings/api-keys 2025-05-06 15:02:21 +03:00
vlalx
1ee8561e2a New translation keys in tr-TR locale 2025-05-06 15:00:21 +03:00
vlalx
bb7421c54e New translation keys in pt-PT locale 2025-05-06 15:00:07 +03:00
vlalx
99352aa2a9 New translation keys in pl-PL locale 2025-05-06 14:59:52 +03:00
vlalx
31d54eb63c New translation keys in it-IT locale 2025-05-06 14:59:41 +03:00
vlalx
58c12996f1 New translation keys in fr-FR locale 2025-05-06 14:59:24 +03:00
vlalx
3dba4aa36d New translation keys in de-DE locale 2025-05-06 14:59:11 +03:00
vlalx
d88fc132cc New translation keys in en-US locale 2025-05-06 14:58:41 +03:00
Lokowitz
c6ff868be8 modified: src/app/setup/page.tsx 2025-05-06 10:25:00 +00:00
Marvin
e8d2cde465 Merge pull request #15 from Lokowitz/translations_new_i18n
New Crowdin updates
2025-05-06 12:14:20 +02:00
Marvin
2bd06ff493 New translations en-us.json (Turkish) 2025-05-06 12:13:19 +02:00
Marvin
75dc6edd51 New translations en-us.json (Portuguese) 2025-05-06 12:13:18 +02:00
Marvin
afc6ee596d New translations en-us.json (Polish) 2025-05-06 12:13:17 +02:00
Marvin
d47c2f9dcf New translations en-us.json (Italian) 2025-05-06 12:13:17 +02:00
Marvin
23f9d314df New translations en-us.json (German) 2025-05-06 12:13:16 +02:00
Marvin
cae4f5d840 New translations en-us.json (French) 2025-05-06 12:13:15 +02:00
Lokowitz
1e72b0f854 add admin/license i18n 2025-05-06 09:41:44 +00:00
Lokowitz
4dd9f4736d add admin/user i18n 2025-05-06 06:49:47 +00:00
Marvin
e38941adf1 Merge pull request #14 from vlalx/support_i18n
api keys
2025-05-06 07:21:55 +02:00
vlalx
b9c7c8c966 api keys 2025-05-06 06:33:43 +03:00
Lokowitz
87b95986c3 ... 2025-05-05 19:37:23 +00:00
Marvin
e48a0fcabc Merge pull request #12 from Lokowitz/translations_i18n
New Crowdin updates
2025-05-05 21:34:53 +02:00
Marvin
e9e9478f6c New translations en-us.json (Portuguese) 2025-05-05 21:33:43 +02:00
Marvin
bc050097c3 New translations en-us.json (Polish) 2025-05-05 21:33:41 +02:00
Marvin
dde2f45669 New translations en-us.json (Italian) 2025-05-05 21:33:39 +02:00
Marvin
f62f2e3b08 New translations en-us.json (French) 2025-05-05 21:33:38 +02:00
Marvin
0b235f985f New translations en-us.json (German) 2025-05-05 21:33:37 +02:00
Marvin
bb0c1c839b New translations en-us.json (Turkish) 2025-05-05 21:26:42 +02:00
Marvin
4e02a7712a New translations en-us.json (Portuguese) 2025-05-05 21:26:41 +02:00
Marvin
8df01208e0 New translations en-us.json (Polish) 2025-05-05 21:26:40 +02:00
Marvin
938cc31b8a New translations en-us.json (Italian) 2025-05-05 21:26:39 +02:00
Marvin
08bd3cfd0b New translations en-us.json (French) 2025-05-05 21:26:38 +02:00
Marvin
3bb4b44f19 New translations en-us.json (German) 2025-05-05 21:26:35 +02:00
Lokowitz
a058f4acf3 complete sites i18n 2025-05-05 19:24:14 +00:00
Marvin
55222450f3 New translations en-us.json (Turkish) 2025-05-05 18:18:45 +02:00
Marvin
17789ef1a5 New translations en-us.json (Portuguese) 2025-05-05 18:18:44 +02:00
Marvin
dd24b4ad74 New translations en-us.json (Polish) 2025-05-05 18:18:43 +02:00
Marvin
6b8fa28308 New translations en-us.json (Italian) 2025-05-05 18:18:42 +02:00
Marvin
d9aab7b3ff New translations en-us.json (French) 2025-05-05 18:18:41 +02:00
Marvin
5b44f3552d New translations en-us.json (German) 2025-05-05 18:18:40 +02:00
Lokowitz
fa1997adc1 complete share link i18n 2025-05-05 16:10:08 +00:00
Marvin
29375385c0 Create de-DE.json 2025-05-04 19:41:09 +02:00
Marvin
4f5c3a86ff Merge pull request #11 from Lokowitz/translations_i18n
Translations i18n
2025-05-04 19:40:27 +02:00
Marvin
6e5391cb8f Delete messages/de-DE.json 2025-05-04 19:40:10 +02:00
Lokowitz
3d4b9d48e3 modified: src/components/LocaleSwitcher.tsx
modified:   src/i18n/config.ts
2025-05-04 17:20:01 +00:00
Marvin
aca1cc0518 New translations en-us.json (Turkish) 2025-05-04 19:15:33 +02:00
Marvin
2543bf356c New translations en-us.json (Portuguese) 2025-05-04 19:15:33 +02:00
Marvin
95fed840d4 New translations en-us.json (Polish) 2025-05-04 19:15:32 +02:00
Marvin
8a377d73fd New translations en-us.json (Italian) 2025-05-04 19:15:31 +02:00
Marvin
576fda2357 New translations en-us.json (French) 2025-05-04 19:15:30 +02:00
Marvin
230c08e541 New translations en-us.json (German) 2025-05-04 19:15:29 +02:00
Lokowitz
9e572685ba deleted: messages/de-DE.json 2025-05-04 17:00:29 +00:00
Marvin
7f4135e0cf New translations en-us.json (German) 2025-05-04 18:58:14 +02:00
Lokowitz
9d68c5666f remove language translation 2025-05-04 16:35:43 +00:00
Lokowitz
d460dd35c7 deleted: messages/de-DE.json 2025-05-04 16:29:47 +00:00
Lokowitz
059081ad8b more i18n 2025-05-04 16:23:08 +00:00
Lokowitz
7eb08474ff Add first i18n stuff 2025-05-04 15:11:42 +00:00
Owen
83c0379c6b Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-05-03 22:04:29 -04:00
Milo Schwartz
21f1326045 Merge pull request #651 from fosrl/dev
Dev
2025-05-03 13:07:18 -04:00
miloschwartz
f62e32724c Merge branch 'main' into dev 2025-05-03 12:43:50 -04:00
miloschwartz
5e052a446a 1.3.1 2025-05-03 12:25:02 -04:00
Owen
a76dd9c9d1 Merge branch 'dev' into auth-providers-clients 2025-05-03 11:45:11 -04:00
Owen
9a167b5acb Dont overwrite the secret and crowdsec vars 2025-05-02 14:16:10 -04:00
Milo Schwartz
5d2f3186cc Update README.md 2025-05-02 12:25:49 -04:00
miloschwartz
e58d10fc53 fix login form ts error 2025-05-02 11:05:20 -04:00
Milo Schwartz
4392bb604c Merge pull request #636 from fosrl/dev
1.3.0
2025-05-02 10:55:35 -04:00
Milo Schwartz
5a4a6655a5 Merge branch 'main' into dev 2025-05-02 10:55:21 -04:00
miloschwartz
a20befd89f add secret to example config 2025-05-02 10:52:12 -04:00
miloschwartz
a9f0b9aa38 add user checks in routes 2025-05-02 10:44:50 -04:00
Owen
f8e0219b49 Add api 2025-05-01 17:48:49 -04:00
Owen
cb431f3574 Add to readme 2025-05-01 17:45:18 -04:00
miloschwartz
1ff3a9b2f9 improve sidebar rendering 2025-04-30 22:56:10 -04:00
miloschwartz
237960fc5b various small fixes 2025-04-29 22:59:38 -04:00
Owen
752c474983 Merge branch 'dev' into auth-providers-clients 2025-04-29 11:39:12 -04:00
Owen
02ccb029ae Merge branch 'hp-multi-client' into auth-providers-clients 2025-04-29 11:34:32 -04:00
miloschwartz
3ebc01df8c add migration 2025-04-28 23:07:11 -04:00
miloschwartz
81adcd9234 add async 2025-04-28 22:06:13 -04:00
miloschwartz
cffc156cf6 manually merge wg qr code 2025-04-28 22:05:13 -04:00
Owen
e4af990bf2 Add secret 2025-04-28 21:55:57 -04:00
Owen
e236364124 Change api 2025-04-28 21:50:48 -04:00
miloschwartz
f5a3fd7202 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-04-28 21:48:13 -04:00
miloschwartz
b3026ba663 update package-lock 2025-04-28 21:48:04 -04:00
miloschwartz
18e6f16ce7 add snippets to create resource 2025-04-28 21:45:43 -04:00
miloschwartz
599d0a52bf add api key code and oidc auto provision code 2025-04-28 21:14:09 -04:00
Owen Schwartz
eed6081ade Merge pull request #558 from TuncTaylan/main
Added dependency of crowdsec to traefik and relaxed its health check
2025-04-28 20:29:17 -04:00
Milo Schwartz
c4ae34383d Merge pull request #595 from imbavirus/feature/wireguard-qrcode
Added QR code to wireguard config for easy scanning on mobile phones
2025-04-28 18:21:01 -04:00
Owen Schwartz
c543376a0a Merge pull request #612 from lxfrdl/feat/enhance_2fa_login
feat: enhance 2fa login usability
2025-04-28 18:18:57 -04:00
Alex Freidel
a5b782b72a feat: enhance 2fa login
As soon as all digits have been entered, the form will be sent automatically. Similar to GitHub's implementation.
2025-04-28 08:14:19 +02:00
miloschwartz
4819f410e6 add license system and ui 2025-04-27 13:03:00 -04:00
Owen Schwartz
4084849fdc Merge pull request #610 from michaelfuckner/main
Fix Typo
2025-04-27 10:24:06 -04:00
Michael Fuckner
35e5f39c71 Fix Typo 2025-04-27 11:33:16 +02:00
miloschwartz
80d76befc9 change terms 2025-04-25 17:13:20 -04:00
Justin van der Westhuizen
893244100e removed react-qr-code 2025-04-25 19:50:14 +02:00
Justin van der Westhuizen
2a43b3ce4a changed qrcode to react-qr-code 2025-04-25 19:46:19 +02:00
Owen Schwartz
b82754c7af Merge pull request #598 from imbavirus/bug/fixed-typo-in-db
Bug: fixed typo in exitNodes table
2025-04-25 10:31:50 -04:00
Owen Schwartz
8793d3976d Merge pull request #599 from TuncTaylan/traefik-update
use the new traefik version 3.3.6
2025-04-25 10:28:42 -04:00
Owen Schwartz
6e833d4cee Merge pull request #582 from vickodin/fix_link_to_geoblock
Improve README: Fix link to geoblock
2025-04-25 10:28:20 -04:00
Taylan
b3d0b69c04 use the new traefik version 3.3.6 2025-04-25 12:01:12 +02:00
Justin van der Westhuizen
28ac5e1237 fixed spelling of public in db (the L was missing) 2025-04-25 08:05:21 +02:00
Justin van der Westhuizen
8990de5618 added missing package 2025-04-25 07:38:17 +02:00
Justin van der Westhuizen
6aeddde1cd Added QR code to wireguard config for easy scanning on mobile phones 2025-04-25 07:06:14 +02:00
miloschwartz
c3dbc64a58 remove hover on badge 2025-04-24 10:42:14 -04:00
vickodin
2a00c877ea Improve README: Fix link to geoblock 2025-04-24 09:07:16 +03:00
miloschwartz
91b4bb4683 move proxy related settings to new proxy tab for resource 2025-04-23 23:08:25 -04:00
miloschwartz
f4fd33b47f Merge branch 'auth-providers' into dev 2025-04-23 22:08:37 -04:00
miloschwartz
d6d6a59eee add new resource create wizard 2025-04-23 20:58:53 -04:00
miloschwartz
4dba75f913 obscure pin code input closes #580 2025-04-23 16:33:55 -04:00
miloschwartz
548a883e3f show smtp note on whitelist 2025-04-23 16:24:49 -04:00
miloschwartz
a6d6aaaadd add api keys to sidebar nav 2025-04-23 16:18:51 -04:00
miloschwartz
566e66daa4 fix org landing 2025-04-23 15:52:02 -04:00
miloschwartz
97af632c61 add option to pre provision idp user 2025-04-23 15:44:27 -04:00
Taylan
5d6e15b0d6 indentation fix 2025-04-23 20:54:03 +02:00
Taylan
419bacf55f check and add the service dependency of crowdsec to traefik 2025-04-23 20:36:16 +02:00
miloschwartz
960eb34c7d refactor invite user to create wizard 2025-04-23 13:46:06 -04:00
miloschwartz
6f59d0cd2d add createOrgUser endpoint 2025-04-23 13:26:38 -04:00
Taylan
6fd1dbc638 some more warning about indirect requirements 2025-04-23 18:39:48 +02:00
Taylan
87915f29f6 correct formated the file 2025-04-23 18:37:36 +02:00
Taylan
181071e4f6 refactoring multiple used code parts, cleared some warnings and added more error checking 2025-04-23 18:35:15 +02:00
miloschwartz
b01fa82627 Merge branch 'auth-providers' into auth-providers-clients 2025-04-22 22:58:06 -04:00
miloschwartz
feb558cfa8 testing 2025-04-22 22:53:52 -04:00
Owen
0c370e4299 Scope down the allowedIps so there are no conflicts 2025-04-22 22:18:50 -04:00
Milo Schwartz
9ea7c43212 Merge pull request #511 from x86txt/sticky_targets
Add ability for sticky sessions to backend resource.
2025-04-21 22:28:45 -04:00
Milo Schwartz
38528ae8c5 Merge branch 'dev' into sticky_targets 2025-04-21 22:28:18 -04:00
Taylan
c837899d82 Relaxed health check for crowdsec and dependance to traefik 2025-04-21 11:29:56 +02:00
miloschwartz
d737fda8bc Merge branch 'auth-providers' into auth-providers-clients 2025-04-20 22:51:05 -04:00
miloschwartz
7938b419cc add actions for idp 2025-04-20 21:31:01 -04:00
Owen
475a431859 Add TODO 2025-04-20 21:07:22 -04:00
miloschwartz
bf8bb1a0df adjustment to pr 2025-04-20 20:50:50 -04:00
Milo Schwartz
957fa67e24 Merge pull request #501 from achtnullzwei/customize-tls-server-name
Add option to customise TLS server name in resource settings
2025-04-20 17:54:18 -04:00
miloschwartz
490ddfcd88 add clients openapi registries 2025-04-20 17:00:45 -04:00
miloschwartz
fa6fc9e80d small clients ui tweaks 2025-04-20 16:49:48 -04:00
miloschwartz
f960fb7d67 Merge branch 'hp-multi-client' into auth-providers-clients 2025-04-20 16:15:40 -04:00
miloschwartz
b4c6897850 Merge branch 'dev' into auth-providers 2025-04-20 15:50:37 -04:00
miloschwartz
e2f056e6ca add idp to profile dropdown 2025-04-20 15:50:17 -04:00
Owen
f6a19631dc Still working on stability 2025-04-20 14:25:53 -04:00
miloschwartz
8fa719181a show list of idp on login 2025-04-18 21:59:58 -04:00
miloschwartz
b4fda6a1f6 add default mapping policy and move auto provision 2025-04-18 17:04:16 -04:00
Owen
e2efd0e65a Make sure to add the subnet 2025-04-18 16:44:03 -04:00
Owen
361f487384 Add back removed section 2025-04-18 16:21:06 -04:00
miloschwartz
99188233db create, delete, and update idp org policies 2025-04-18 15:38:50 -04:00
Owen
dc49027b30 Edit client page done 2025-04-18 15:32:20 -04:00
Owen
581fdd67b1 Allow picking ips when creating stuff 2025-04-18 14:41:27 -04:00
miloschwartz
3bab90891f move improvements to layout 2025-04-18 11:36:34 -04:00
miloschwartz
8c0e4d2d8c edit oidc idp general tab 2025-04-17 22:36:16 -04:00
miloschwartz
3e94384cde add info box to admin users table 2025-04-17 21:21:41 -04:00
miloschwartz
189b739997 add create idp wizard for oidc 2025-04-16 22:44:57 -04:00
Owen
d664aa204f Handle cidrs correctly 2025-04-16 22:07:07 -04:00
Owen
db0328fa71 Allow configuration of client and org subnets 2025-04-16 22:00:24 -04:00
miloschwartz
334fc55dd0 add server admin button 2025-04-16 21:37:15 -04:00
miloschwartz
ab933d48de more prominent sidebar sections 2025-04-16 20:49:06 -04:00
miloschwartz
36b62a5fe4 fix animations 2025-04-16 20:38:00 -04:00
Milo Schwartz
08752820fc Merge pull request #535 from TuncTaylan/main
Turkish translation
2025-04-16 20:18:27 -04:00
Taylan
787ec50a9c turkish translation of Main “General” 2025-04-16 21:48:50 +02:00
Taylan
65b29161a0 turkish translation of Create Shareable Link popup 2025-04-16 21:47:53 +02:00
Taylan
f60f15345f turkish translation of shareable links -> Content 2025-04-16 21:47:17 +02:00
Taylan
c286c28d46 turkish translation of Main “Shareable Links” -> hero 2025-04-16 21:46:38 +02:00
Taylan
8fb003d7ce turkish translation of Invite User popup 2025-04-16 21:45:47 +02:00
Taylan
35daf42a55 turkish translation of Main “User & Roles” -> Content 2025-04-16 21:45:14 +02:00
Taylan
976aaca287 turkish translation of Add Resource Popup 2025-04-16 21:43:56 +02:00
Taylan
0454f09383 turkish translation of main->content 2025-04-16 21:43:12 +02:00
Taylan
6b5674a107 turkish translation of main ressources / hero 2025-04-16 21:42:30 +02:00
Taylan
45a75d0bee turkish translation of Add Site Popup 2025-04-16 21:39:42 +02:00
Taylan
12f627711c turkish translation of content 2025-04-16 21:38:44 +02:00
Taylan
442775ac90 turkish translation of hero section 2025-04-16 21:37:56 +02:00
Taylan
01da3b3225 turkish translation of footer 2025-04-16 21:36:18 +02:00
Taylan
51ac815b23 turkish translation of navbar 2025-04-16 21:34:49 +02:00
Taylan
285ad45a0e turkish translation of organization selector 2025-04-16 21:33:41 +02:00
Taylan
4707722e6e turkish translation of shared header 2025-04-16 21:33:06 +02:00
Taylan
499f75edd1 turkish translation of section organization site after login 2025-04-16 21:32:26 +02:00
Taylan
57b96adcd0 turkish translation of section login site 2025-04-16 21:31:36 +02:00
Taylan
eb9675c6cf Turkish translation of section authentication site 2025-04-16 21:30:45 +02:00
Taylan
b59c6e377a German translation of section Authentication size 2025-04-16 21:27:48 +02:00
miloschwartz
432f38333e add create, delete, list for idp org policy 2025-04-15 10:16:15 -04:00
miloschwartz
e86640547e add delete, get, list idp 2025-04-15 09:26:25 -04:00
Matthias Palmetshofer
25c125b96d added advanced section to general page & custom host header field 2025-04-15 13:17:46 +02:00
miloschwartz
aa3b527f67 add validate callback loading state and encryption 2025-04-14 20:56:45 -04:00
Owen
569635f3ed newts not being on when olm is started 2025-04-13 21:28:11 -04:00
miloschwartz
bacd5a4373 add child to user nav bar item 2025-04-13 18:30:14 -04:00
miloschwartz
53be2739bb successful log in loop poc 2025-04-13 18:29:23 -04:00
Owen
b7ae712b63 Add ping; working on newt tunnel reliability 2025-04-13 17:27:53 -04:00
Matthew Evans
4a42aa385a Update sticky session to show only with 2+ targets and use IP strategy for TCP 2025-04-13 15:29:58 -04:00
Matthew Evans
ac8e315fbd Add ability for sticky sessions to backend resource. 2025-04-13 15:29:58 -04:00
miloschwartz
7556a59e11 Merge branch 'dev' into auth-providers 2025-04-13 14:49:02 -04:00
miloschwartz
8b0c30f19f more tweaks to layout 2025-04-13 14:46:13 -04:00
miloschwartz
b731a50cc9 nested sidebar 2025-04-13 14:30:20 -04:00
miloschwartz
2398931cc1 fix ref type error 2025-04-13 14:30:19 -04:00
miloschwartz
419e576a3e adjust border 2025-04-13 14:30:19 -04:00
miloschwartz
1a750e8279 test new layout 2025-04-13 14:30:19 -04:00
miloschwartz
f14379a1c8 remove forward ref 2025-04-13 14:30:19 -04:00
miloschwartz
521bbbf1d6 update to tw4 2025-04-13 14:30:19 -04:00
Owen
cb775340a4 Merge branch 'main' into dev 2025-04-13 10:57:48 -04:00
Owen Schwartz
31bd42f964 Merge pull request #519 from TuncTaylan/main
More relaxed healthcheck for low end systems
2025-04-13 10:56:28 -04:00
Taylan
e64e7d1d92 More relaxed healthcheck for low end systems 2025-04-13 16:51:00 +02:00
miloschwartz
480a5f648d testing oidc callback 2025-04-12 15:44:26 -04:00
miloschwartz
9cb215295a make supporter star a little more minimal 2025-04-12 12:34:16 -04:00
miloschwartz
764c56c4a1 makes sidebar width full 2025-04-12 12:24:16 -04:00
miloschwartz
e057c5f3bf use mobile friendly dialog in regenerate invite 2025-04-12 12:18:05 -04:00
Milo Schwartz
bc8cd5c941 Merge pull request #496 from grokdesigns/add-invitation-management
Add invitation management
2025-04-12 12:12:03 -04:00
Taylan
6350edf8fd updated the traefik image to v3.3.5
updated the crowdsec-bouncer-traefik-plugin to v1.4.2
added default crowdsecAppsecBodyLimit value for bigger files
2025-04-12 10:07:06 -04:00
Owen Schwartz
8e8fdabd03 Merge pull request #515 from TuncTaylan/main
updated the traefik image and crowdsec-bouncer-traefik-plugin for bigger files
2025-04-12 10:06:09 -04:00
Owen
8398f7b7c0 Relaying working 2025-04-11 20:52:45 -04:00
miloschwartz
2883d8c544 fix typo 2025-04-11 20:21:55 -04:00
Taylan
dd8c426faa updated the traefik image to v3.3.5
updated the crowdsec-bouncer-traefik-plugin to v1.4.2
added default crowdsecAppsecBodyLimit value for bigger files
2025-04-11 22:07:20 +02:00
Owen
e57574ba9c Solve olm not having chance to send hp message 2025-04-11 10:33:20 -04:00
Matthias Palmetshofer
64a2cc23c6 adjusting field description; fix migration script; trying to resolve conflict in updateResource.ts 2025-04-11 09:52:34 +02:00
Owen
ec33fe5657 Merge branch 'main' into dev 2025-04-10 22:17:27 -04:00
Owen
56b3b2ab3b Reduce to 14 days 2025-04-10 22:16:40 -04:00
Owen Schwartz
a436dff4a0 Merge pull request #504 from Jester0027/feature/newt-podman-install
feat(sites): Provide Podman run and Podman Quadlet setup for Newt
2025-04-10 21:40:35 -04:00
Owen Schwartz
cf80d67bf8 Merge branch 'dev' into feature/newt-podman-install 2025-04-10 21:40:23 -04:00
paul
e24edc0803 feat(sites): Provide Podman run and Podman Quadlet setup for Newt 2025-04-10 23:33:28 +02:00
grokdesigns
d89ca10a82 Had to update child menu item logic
Noticed that submenus weren't rendered on mobile. Updated logic to make children work with mobile dropdown
2025-04-10 07:43:51 -07:00
grokdesigns
d9e6d0c71a Add regenerate to invitation functionality, see pull request details 2025-04-09 20:32:21 -07:00
Matthias Palmetshofer
517bc7f632 added table change to new migration script 2025-04-10 00:36:34 +02:00
Matthias Palmetshofer
674316aa46 add option to set TLS Server Name 2025-04-09 23:42:50 +02:00
grokdesigns
7a55c9ad03 Add support for menu children and moved invitations under users 2025-04-09 09:23:47 -07:00
grokdesigns
c7f3c9da92 Removed leftover section from earlier testing 2025-04-08 18:34:21 -07:00
Owen Schwartz
be77b3e8f3 Merge pull request #493 from grokdesigns/fix-popover-issue
Fix black box issue on popover
2025-04-08 21:26:56 -04:00
grokdesigns
d7f50bac6a Add invitation management 2025-04-08 18:18:57 -07:00
Owen
3ccfe60685 Merge branch 'grokdesigns-update-package-resolve-vulns' into dev 2025-04-08 21:04:22 -04:00
grokdesigns
40040af957 Bump react-email version 2025-04-08 13:36:44 -07:00
grokdesigns
1568b38eac Fix black box issue on popover 2025-04-08 12:53:12 -07:00
grokdesigns
7fd1652a71 Update libraries to resolve critical security findings 2025-04-08 12:51:06 -07:00
Owen Schwartz
787a172a7c Merge pull request #477 from grokdesigns/feature-add-sponsor-message
Add supporter message feature
2025-04-08 11:23:41 -04:00
grokdesigns
23a68fbc10 Add confetti on valid key and make thank you less intrusive 2025-04-07 21:15:24 -07:00
Owen
f078ee6051 Merge branch 'main' into dev 2025-04-07 21:16:05 -04:00
Owen
0450f62108 Merge branch 'Lokowitz-fix-crowdsec-config' 2025-04-07 21:15:47 -04:00
grokdesigns
b2faeb3c17 Added some more pizazz to the thank you message 2025-04-07 14:38:49 -07:00
grokdesigns
9ea37789d6 Applied Prettier formatting 2025-04-07 13:32:07 -07:00
grokdesigns
aa45150c51 Add supporter message feature 2025-04-07 10:34:32 -07:00
Owen
a708750fea Increase retries to 15
Resolves #327
2025-04-07 09:56:29 -04:00
Owen
68ebdda1ff Start new relay method 2025-04-07 09:55:39 -04:00
miloschwartz
d260450a84 add openapi registers 2025-04-06 22:44:14 -04:00
miloschwartz
a76e3e00f7 openapi test 2025-04-06 16:06:50 -04:00
Marvin
a33ebe5bc5 Merge branch 'fosrl:main' into fix-crowdsec-config 2025-04-06 19:31:54 +02:00
Milo Schwartz
6f683ca486 Merge pull request #467 from fosrl/dev
1.2.0
2025-04-06 13:11:02 -04:00
miloschwartz
0e65f8c921 check resource id on verify access token 2025-04-06 13:08:55 -04:00
Owen
dfcab90c2d Add permissions 2025-04-06 12:05:13 -04:00
Owen
5a6a035d30 Add permissions 2025-04-06 12:04:42 -04:00
Owen
d76ff17fb3 Add stale bot 2025-04-06 12:02:22 -04:00
Owen
1f570e9b46 Add stale bot 2025-04-06 12:01:37 -04:00
miloschwartz
4953e69b1b comment out old create newt endpoint 2025-04-06 11:48:42 -04:00
miloschwartz
ab6ecdbc9c update config file templates 2025-04-06 11:46:08 -04:00
miloschwartz
0b7ca95d21 update badger in migration 2025-04-06 11:39:16 -04:00
miloschwartz
6cc4bc2645 add pass access token in headers 2025-04-05 22:36:51 -04:00
Marvin
b75f848b90 Update crowdsec.go 2025-04-05 17:47:37 +02:00
Marvin
c4e62a7aee Update docker-compose.yml 2025-04-05 17:45:43 +02:00
Marvin
c903c03979 Delete install/config/crowdsec/acquis.yaml 2025-04-05 17:44:38 +02:00
Marvin
d7b9755f3a Create appsec.yaml 2025-04-05 17:44:20 +02:00
Marvin
e17bf0db13 Create traefik.yaml 2025-04-05 17:43:54 +02:00
miloschwartz
74d6b3d902 shorten share links and add migration 2025-04-04 22:58:01 -04:00
Owen
410207f3ca Working on htp 2025-04-04 10:59:22 -04:00
Owen
302094771b Merge branch 'main' into dev 2025-04-01 22:49:39 -04:00
Owen
7faf1fba8b Move up client reject 2025-04-01 22:49:08 -04:00
Owen
8c267489c7 Add exit node to create site 2025-04-01 21:52:03 -04:00
Owen
fb5c428147 Add logging to not sending because endpoint 2025-04-01 21:28:16 -04:00
Owen
5ff4215bde Able to connect multi site on olm - POC 1 2025-04-01 12:49:02 -04:00
Owen
96d6ad8142 Create clients working again 2025-04-01 10:13:20 -04:00
miloschwartz
80ef8f189e replace old error formatting with zod format error 2025-03-31 22:37:39 -04:00
Owen
875fa215c5 Update create client form 2025-03-31 16:27:40 -04:00
Owen
bcd80e19d4 Update list clients 2025-03-31 16:23:02 -04:00
Owen
56e1684e2e Update api endpoints for new association 2025-03-31 16:21:01 -04:00
Owen
1baa02de89 Fix relay ws message 2025-03-31 15:45:51 -04:00
Owen
11cdfa7557 Merge branch 'holepunch' into hp-multi-client 2025-03-31 15:34:35 -04:00
Owen
8fbd8a905f We do not need to send any message back 2025-03-31 15:34:18 -04:00
Owen
cd059728fd Put back handle relay message 2025-03-31 15:25:30 -04:00
Owen
473b5bd3db Merge branch 'holepunch' into hp-multi-client 2025-03-31 15:24:33 -04:00
Owen
81c7954e0c Remove unused argon 2025-03-31 15:19:37 -04:00
miloschwartz
6204fa0ade fix update server admin email cause create new user closes #443 2025-03-31 15:03:21 -04:00
miloschwartz
1d105fc5be fix count in list domains endpoint 2025-03-31 12:51:08 -04:00
miloschwartz
3612857585 use global search for tables 2025-03-31 10:31:35 -04:00
miloschwartz
8f1ee60119 fix showing not protected when only password enabled closes #129 2025-03-31 10:16:34 -04:00
miloschwartz
e7ca7fe89c add toggle resource visibility closes #442 2025-03-31 10:10:54 -04:00
Owen Schwartz
4be1d87602 Merge pull request #419 from hareland/fix-bandwidth
fix(bandwidth): Record correct megaBytesIn/megaBytesOut
2025-03-30 11:04:00 -04:00
hareland
131df8aeb7 fix(bandwidth): use correct flipping and addition 2025-03-28 14:54:37 +01:00
hareland
3442942893 fix(bandwidth): Record correct megaBytesIn/megaBytesOut 2025-03-28 12:06:17 +01:00
miloschwartz
fbd78ab842 add new checkbox variants 2025-03-27 23:12:36 -04:00
Owen
a665e3aae9 Fix issues with relaying and holepunching 2025-03-27 22:13:57 -04:00
Owen
4b6985718a Fix ip picking from subnet in exclusion 2025-03-27 22:13:39 -04:00
miloschwartz
66f324e18c fix typo in form description 2025-03-27 17:42:51 -04:00
Owen
619cfef1c7 Working on multi client 2025-03-27 14:27:41 -04:00
miloschwartz
5e2f9e1eeb add createNewt action and remove max orgs restriction 2025-03-26 22:20:22 -04:00
Owen
15eb666394 Remove olm/wg/relay message 2025-03-26 21:41:20 -04:00
Owen
dac49f7fdc Converting more multi site 2025-03-26 21:39:12 -04:00
Owen
926ec831e2 Finish conversion of olm reg to multi site 2025-03-26 21:23:26 -04:00
Owen
87012c47ea Start changes for multi site clients
- Org subnet and assign sites and clients out of the same subnet group
  on each org
- Add join table for client on multiple sites
- Start to handle websocket endpoints for these multiple connections
2025-03-25 22:01:08 -04:00
Owen
fbe7e0a427 Merge branch 'dev' into holepunch 2025-03-25 20:42:14 -04:00
miloschwartz
fefb07e14c move schema.ts to module 2025-03-23 17:11:48 -04:00
miloschwartz
013f342ff6 fix broken header layout on mobile 2025-03-23 12:37:57 -04:00
miloschwartz
aabdcea3c0 add docs link 2025-03-22 12:37:35 -04:00
miloschwartz
a178faa377 add support links 2025-03-22 12:35:33 -04:00
miloschwartz
edf0ce226f Merge branch 'main' into dev 2025-03-22 12:25:00 -04:00
miloschwartz
7118ae374d fix try catch in supporter keys 2025-03-22 12:24:20 -04:00
miloschwartz
f2a14e6a36 append timestamp to cookie name to prevent redirect loops 2025-03-21 21:38:36 -04:00
miloschwartz
f37be774a6 disable limited tier if already used 2025-03-21 18:36:11 -04:00
miloschwartz
0dcfeb3587 add server admin panel to delete users 2025-03-21 18:04:27 -04:00
Owen
dbfc8b51aa Update default email 2025-03-21 17:18:51 -04:00
miloschwartz
d72a8af04b log failed check key 2025-03-21 17:14:27 -04:00
Owen
7131dea7a0 package-lock update 2025-03-21 17:12:59 -04:00
Owen
deb30ed4ae Add admin user api interfaces 2025-03-21 17:05:04 -04:00
Owen
3b09ef3345 False by default for crowdsec 2nd question 2025-03-21 09:57:28 -04:00
miloschwartz
06e90c9555 don't add wildcard asterisk for base domain resource closes #356 2025-03-20 22:52:29 -04:00
miloschwartz
cdc415079c add supporer key program 2025-03-20 22:16:02 -04:00
miloschwartz
1c2ba4076a add crowdsec warning to installer 2025-03-19 21:17:19 -04:00
miloschwartz
af68aa692c fix header padding on large screens 2025-03-17 11:53:30 -04:00
miloschwartz
edba818615 add new create site workflow 2025-03-16 15:20:19 -04:00
Owen
779a1c303f Verify holepunch token and send gerbil pub key 2025-03-15 21:45:53 -04:00
miloschwartz
cdf904a2bc fix broken docs link closes #335 2025-03-15 17:37:27 -04:00
Owen
14e6136683 Send down gerbil pub so it can encrypt 2025-03-14 09:18:13 -04:00
miloschwartz
fedab6c9a8 Merge branch 'main' into dev 2025-03-11 21:03:25 -04:00
Milo Schwartz
33e8ed4c93 Update README.md 2025-03-11 21:02:42 -04:00
Owen
1f11a1df02 Merge branch 'main' into holepunch 2025-03-10 21:13:05 -04:00
miloschwartz
2b54dfe035 fix rules info columns 2025-03-10 12:47:42 -04:00
Milo Schwartz
e601816791 Merge pull request #319 from fosrl/dev
1.0.1
2025-03-10 11:09:38 -04:00
miloschwartz
7a46cf3da7 add border-2 to checkbox 2025-03-10 11:06:02 -04:00
miloschwartz
ad32e5e651 fix base domain overwritten on update closes #282 2025-03-09 22:05:13 -04:00
miloschwartz
8ec55eb70d append site name to resource in list add add site to info card closes #297 2025-03-08 22:11:27 -05:00
Owen
767fec19cd Remove old example config 2025-03-08 20:03:26 -05:00
miloschwartz
d215a12f5a disable auto backup on migration with env var 2025-03-08 18:23:36 -05:00
Owen
d22dcfb464 Optimize container size 2025-03-08 18:11:47 -05:00
miloschwartz
c93b36c757 remove environment variable support and config file autogeneration 2025-03-08 18:06:14 -05:00
Owen Schwartz
9253dd19ba Merge pull request #307 from fosrl/remove_json_group_array
Remove json_group_array from queries
2025-03-08 17:30:46 -05:00
miloschwartz
b9d83a2507 add es.md 2025-03-08 16:06:52 -05:00
Owen
581f96daa8 Remove json_group_array from queries
Also improve handling tcp/udp resources in newt function so it does not
loop twice
2025-03-08 11:58:48 -05:00
Owen
33ff2fbf3b Allow matching parts of words in path
Resolves #228
2025-03-08 11:43:47 -05:00
Owen
535b4e1fb1 Add clean up our few tests and add tests for #228 2025-03-08 11:43:22 -05:00
Owen
5871bea706 Reset port when entering targets
Resolves #270
2025-03-08 10:52:38 -05:00
Owen
07eb422491 Add back metrics port for scripting 2025-03-04 23:52:37 -05:00
Owen
654ed46a46 Return 401 instead of 400 on bad login
Resolves #276
2025-03-04 20:32:48 -05:00
Milo Schwartz
eb73da8aa0 Merge pull request #275 from fosrl/dev
add migration script
2025-03-04 11:14:31 -05:00
miloschwartz
cc6800c791 add migration script 2025-03-04 11:13:34 -05:00
Milo Schwartz
47abdf873a Merge pull request #274 from fosrl/dev
1.0.0
2025-03-04 11:12:14 -05:00
miloschwartz
90366da61b allow hash in url path rule 2025-03-03 19:47:07 -05:00
miloschwartz
5529beaf6e allow anything for hostname closes #265 2025-03-03 17:11:41 -05:00
miloschwartz
93c8236535 update example config files 2025-03-03 17:09:48 -05:00
Owen
37fdc4a6a8 Warn if it did not replace the bouncer key 2025-03-03 15:43:26 -05:00
miloschwartz
a456a37b2f fix typo 2025-03-02 23:24:21 -05:00
miloschwartz
430afe3f93 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-03-02 22:19:11 -05:00
miloschwartz
3b60e1f3ac update screenshots 2025-03-02 22:19:04 -05:00
Owen
b8543e5fa8 Remove prom exposed port and waf port
Resolves #247
2025-03-02 21:49:42 -05:00
Owen
d594314e52 Remove gerbil depenency and exposed port 9090 2025-03-02 21:47:32 -05:00
Owen
81c142e8ae Merge branch 'dev' of github.com:fosrl/pangolin into dev 2025-03-02 21:46:22 -05:00
miloschwartz
59eedce664 allow setting tks.rejectUnauthorized for Nodemailer in config closes #264 2025-03-02 20:03:20 -05:00
miloschwartz
adef93623d more visual enhancements and use expires instead of max age in cookies 2025-03-02 15:50:03 -05:00
miloschwartz
759434e9f8 more visual enhancements and update readme 2025-03-01 23:03:42 -05:00
miloschwartz
0e38f58a7f minor visual enhancements 2025-03-01 17:45:38 -05:00
Owen
8e4bccffbf Dont use bytes out for online
Persistant keep alive means that this will always increase
2025-02-27 23:54:24 -05:00
miloschwartz
8445e83c7c Merge branch 'dev' 2025-02-27 11:02:36 -05:00
miloschwartz
89a59b25fc Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-02-27 11:02:10 -05:00
miloschwartz
57a37a01ce full width settings for user 2025-02-27 11:01:53 -05:00
Owen
f8add1f098 Fix cicd with go-build-release installer 2025-02-27 10:59:16 -05:00
Owen
0bd0cc76fb Fix cicd with go-build-release installer 2025-02-27 10:57:37 -05:00
Milo Schwartz
06e4fbac68 Merge pull request #244 from fosrl/dev
multiple domains, crowdsec, and more
2025-02-27 10:52:06 -05:00
miloschwartz
e82df67063 Merge branch 'dev' into multi-domain 2025-02-26 21:26:20 -05:00
miloschwartz
84f94bb727 Merge branch 'multi-domain' of https://github.com/fosrl/pangolin into multi-domain 2025-02-26 21:25:00 -05:00
miloschwartz
20f1a6372b small visual improvements 2025-02-26 21:24:35 -05:00
Owen
06c434a5ea Copy in the right versions when building 2025-02-26 21:13:52 -05:00
Owen Schwartz
b83dadb14b Merge pull request #243 from fosrl/crowdsec
Crowdsec
2025-02-26 20:55:51 -05:00
Owen
492e53edf3 Merge branch 'dev' into crowdsec 2025-02-26 20:52:52 -05:00
Owen
3d9557b65c Merge branch 'main' into dev 2025-02-26 20:49:33 -05:00
Owen
332804ed71 Add base_domain new config 2025-02-25 23:41:43 -05:00
miloschwartz
de70c62ea8 adjustments to migration after testing 2025-02-25 22:58:52 -05:00
miloschwartz
e4789c6b08 always check rules even if auth is disabled 2025-02-24 22:52:38 -05:00
miloschwartz
ec9d02a735 clear stale data from db on restart 2025-02-24 22:46:55 -05:00
miloschwartz
ae73a2f3f4 show more than 10 rows in rules and targets table closes #221 2025-02-24 22:32:22 -05:00
miloschwartz
d8183bfd0d add sql migration 2025-02-24 22:25:42 -05:00
miloschwartz
e11748fe30 minor bug files, remove unqiue constraint, and start migration 2025-02-24 22:06:21 -05:00
Owen
733e0e07c3 Fix subnet issues 2025-02-24 20:21:57 -05:00
Milo Schwartz
ccbe56e110 update README.md 2025-02-24 12:03:48 -05:00
miloschwartz
ff37e07ce6 make cookies work with multi-domain 2025-02-23 23:04:01 -05:00
Owen
f59f0ee57d Merge yaml files instead? 2025-02-23 21:44:02 -05:00
Owen
8ee6a3f134 Add bruno 2025-02-23 21:35:13 -05:00
Owen
bacc5e4213 Add relay message 2025-02-23 20:18:03 -05:00
Milo Schwartz
372932985d update README.md 2025-02-23 17:34:28 -05:00
Owen
afd87d07a3 Basic relay working! 2025-02-23 16:49:41 -05:00
Owen
bebe40c8e8 HP works! 2025-02-22 12:53:35 -05:00
Owen
e4c5be4350 Initial hp working? 2025-02-22 11:20:56 -05:00
Owen
a9a9391b39 Receive new holepunch info 2025-02-21 22:29:48 -05:00
miloschwartz
9f54f4d81a show site link in clients table 2025-02-21 22:20:19 -05:00
miloschwartz
1a63669805 Merge branch 'clients' of https://github.com/fosrl/pangolin_dg into clients 2025-02-21 18:51:43 -05:00
miloschwartz
fcf6abd36e delete client instead of site 2025-02-21 18:51:27 -05:00
Owen
b9080a1ec1 Working! 2025-02-21 18:51:16 -05:00
Owen
450b0bf4fa Use the right ip 2025-02-21 18:16:07 -05:00
miloschwartz
a4d3a5ad4d don't sent orgId in createClient 2025-02-21 17:30:15 -05:00
miloschwartz
6c22a2aeb4 Merge branch 'clients' of https://github.com/fosrl/pangolin_dg into clients 2025-02-21 17:25:05 -05:00
miloschwartz
2e36c97d1c set checked 2025-02-21 17:24:54 -05:00
Owen
f99efbb1e9 Update the public key and the endpoint 2025-02-21 17:23:22 -05:00
Owen
6cf3bf0255 Not optional 2025-02-21 17:22:05 -05:00
Owen
a0abe41c8a Fix up ws messages 2025-02-21 17:13:54 -05:00
miloschwartz
3830ad65fc more frontend for clients 2025-02-21 17:13:23 -05:00
miloschwartz
204403da67 Merge branch 'clients' of https://github.com/fosrl/pangolin_dg into clients 2025-02-21 16:58:39 -05:00
miloschwartz
098723b88d clients frontend demo first pass 2025-02-21 16:58:30 -05:00
Owen
b21e758eb8 Initial olm test working 2025-02-21 16:19:12 -05:00
Owen
b1f4971f25 Get new api endpoints working 2025-02-21 16:12:44 -05:00
miloschwartz
6e1bfdac58 add listClients endpoint 2025-02-21 15:45:34 -05:00
miloschwartz
11920ca997 add deleteClient endpoint 2025-02-21 15:26:48 -05:00
miloschwartz
255e29d9c8 Merge branch 'clients' of https://github.com/fosrl/pangolin_dg into clients 2025-02-21 14:39:31 -05:00
miloschwartz
35ccdd3014 add createClient for testing 2025-02-21 14:39:10 -05:00
Owen
757d628bc8 Handle port correctly 2025-02-21 12:52:24 -05:00
Owen
a57d32d05d Add receive bandwidth 2025-02-21 12:41:02 -05:00
Owen
ef69bf9256 Update ws paths 2025-02-21 12:34:05 -05:00
Owen
bec303821b Handle types in handlers 2025-02-21 12:17:56 -05:00
miloschwartz
346f2db5fb add client olm relationship 2025-02-21 11:57:01 -05:00
Owen
b9de0f8e38 Working on handlers 2025-02-21 10:55:38 -05:00
Owen
e112fcba29 Move things around; rename to olm 2025-02-21 10:13:41 -05:00
miloschwartz
41983ce356 add wg site get config and pick client defaults 2025-02-20 22:34:51 -05:00
Owen
fb49fb8ddd Initial schema 2025-02-20 18:10:52 -05:00
miloschwartz
c877bb1187 bug fixes to smooth out multi domain inputs forms 2025-02-19 23:00:59 -05:00
Owen
5f95500b6f Crowdsec installer works? 2025-02-19 21:42:42 -05:00
Owen
3194dc56eb Move path to first in dropdown 2025-02-19 09:44:40 -05:00
miloschwartz
e49fb646b0 refactor subdomain inputs 2025-02-18 22:56:46 -05:00
Owen
fd11fb81d6 Remove some config 2025-02-18 21:41:23 -05:00
miloschwartz
82f990eb8b add list domains for org endpoint 2025-02-16 18:09:17 -05:00
miloschwartz
851bedb2e5 refactor create and update resource endpoints 2025-02-16 17:28:10 -05:00
Owen
e6c42e9610 Indent 2 2025-02-16 11:31:01 -05:00
Owen
d3d523b2b8 Refactor docker copy and keep entrypoints 2025-02-16 11:26:45 -05:00
miloschwartz
532d3696c2 sync config managed domains to db 2025-02-15 22:41:39 -05:00
Owen
dabd4a055c Creating structure correctly 2025-02-15 22:00:31 -05:00
Owen
7bf820a4bf Clean off ports for 80 and 443 hosts 2025-02-15 17:48:27 -05:00
Owen
b862e1aeef Add h2c as target method; Resolves #115 2025-02-15 17:43:44 -05:00
Owen
bdee036ab4 Add name; Resolves #190 2025-02-15 17:08:11 -05:00
Milo Schwartz
62238948e0 save 2025-02-14 20:22:26 -05:00
Milo Schwartz
489f6bed17 Merge pull request #202 from fosrl/dev
hotfixes coming from beta13
2025-02-14 16:53:58 -05:00
Milo Schwartz
6aa4908446 bump version 2025-02-14 16:53:05 -05:00
Milo Schwartz
d5a220a004 create target validator and add url validator 2025-02-14 16:46:46 -05:00
Owen
a418195b28 Fix ip range pick initial range; add test 2025-02-14 15:49:40 -05:00
Milo Schwartz
2ff6d1d117 allow any string as target 2025-02-14 13:27:34 -05:00
Milo Schwartz
8dd30c88ab fix reset password sql error 2025-02-14 13:12:29 -05:00
Owen
7797c6c770 Allow the chars from RFC 3986 2025-02-14 12:38:28 -05:00
Owen
40922fedb8 Support v6 2025-02-14 12:32:18 -05:00
Milo Schwartz
4c1366ef91 force router refresh on save closes #198 2025-02-14 12:27:03 -05:00
Owen
f61d442989 Allow . in path; resolves #199 2025-02-14 09:51:17 -05:00
Owen
60449afca5 Reorg; create crowdsec folder properly now 2025-02-13 22:16:52 -05:00
Milo Schwartz
b1702bf99a Merge pull request #194 from fosrl/dev
access control rules
2025-02-13 14:48:35 -05:00
Milo Schwartz
a35e24bc0e fix table filters and update readme 2025-02-13 14:45:32 -05:00
Milo Schwartz
c230e034cf update readme 2025-02-12 23:01:00 -05:00
Milo Schwartz
06ceff7427 change migration script text 2025-02-12 22:29:42 -05:00
Owen
81c4199e87 Complete bash migration 2025-02-12 21:56:13 -05:00
Milo Schwartz
19273ddbd5 use zod for rules ip validation 2025-02-12 21:52:58 -05:00
Milo Schwartz
fdf1dfdeba rules server validation, enabled toggle, fix wildcard 2025-02-11 23:59:13 -05:00
Milo Schwartz
f14ecf50e4 add docker deployment snippets to create site form 2025-02-10 22:26:29 -05:00
Milo Schwartz
c244ef387b make subdomain input better accommodate long domains 2025-02-10 21:48:34 -05:00
Milo Schwartz
8165051dd8 fix toast dismiss causing components to rerender and clean up rules text 2025-02-10 21:35:06 -05:00
Owen
a7b8ffaf9f Merge branch 'dev' into crowdsec 2025-02-10 21:34:25 -05:00
Milo Schwartz
6fba13c8d1 Merge pull request #185 from fosrl/rules
Rules
2025-02-10 21:11:57 -05:00
Owen
3c99fbb1ef Seperate ip and cidr 2025-02-10 21:06:37 -05:00
Milo Schwartz
5b44ffa2fb Merge branch 'rules' of https://github.com/fosrl/pangolin into rules 2025-02-09 23:24:09 -05:00
Milo Schwartz
6e6992e19f add rules info card 2025-02-09 23:23:55 -05:00
Owen
4bce210ff5 Be more lenient with leading and trailing slashes 2025-02-09 22:03:18 -05:00
Owen
bbc1a9eac4 Format 2025-02-09 22:00:02 -05:00
Owen
5e92aebd20 Drop first 2025-02-09 21:56:39 -05:00
Owen
2428738fa6 Fix missing ruleId issue 2025-02-09 21:47:59 -05:00
Owen
d22c7826fe Add config files 2025-02-09 16:14:29 -05:00
Owen
34e3fe690d Fix check on string 2025-02-09 11:33:40 -05:00
Owen
c415ceef8d Add migrations 2025-02-09 11:10:19 -05:00
Owen
73798f9e61 Add ecr login 2025-02-09 11:05:42 -05:00
Owen
9694261f3e Add enable rules toggle 2025-02-09 11:02:40 -05:00
Owen
874c67345e Adjust rule processing 2025-02-09 10:50:43 -05:00
Owen
42434ca832 Add validation 2025-02-08 17:54:01 -05:00
Owen
4a6da91faf API and rule screen working 2025-02-08 17:38:30 -05:00
Owen
8f96d0795c Add update 2025-02-08 17:10:37 -05:00
Owen
da3c8823f8 rename to resource rules and add api endpoints 2025-02-08 17:07:21 -05:00
Owen
3cd20cab55 Merge branch 'dev' into rules 2025-02-08 16:55:46 -05:00
Milo Schwartz
b1fa980f56 expand list of allowed special characters in password 2025-02-08 16:04:41 -05:00
Milo Schwartz
ef0bc9a764 add note about backup codes to mfa form 2025-02-08 15:55:49 -05:00
Milo Schwartz
dc2ec5b73b add description to whitelist email field 2025-02-08 15:51:28 -05:00
Milo Schwartz
d8a089fbc2 remove annoying debug log 2025-02-08 15:47:01 -05:00
Milo Schwartz
00a0d89d6c add allow_base_domain_resources to installer 2025-02-08 12:26:52 -05:00
Owen
2f49be69fe Initial pass at rules 2025-02-06 21:42:18 -05:00
Owen
b92639647a Add applyRules to resources 2025-02-06 21:19:55 -05:00
Owen
befdc3a002 Add table 2025-02-06 21:18:34 -05:00
Milo Schwartz
3c7025a327 add strict rate limit to endpoints that send email 2025-02-05 22:46:33 -05:00
Milo Schwartz
58a084426b allow logout to fail 2025-02-05 22:00:29 -05:00
Milo Schwartz
d070415515 fix table page size selector 2025-02-05 21:56:28 -05:00
Milo Schwartz
3fa7132534 fix update resource without subdomain 2025-02-05 21:32:49 -05:00
Milo Schwartz
feeeba5cee fix path in cicd 2025-02-04 22:46:41 -05:00
Milo Schwartz
9e5d5e8990 Merge pull request #159 from fosrl/dev
1.0.0-beta12
2025-02-04 22:45:03 -05:00
Owen
c51f1cb6a2 Add network config to compose; Resolves #155 2025-02-04 22:28:37 -05:00
Milo Schwartz
786551d86a replace version in consts file instead of package.json 2025-02-04 22:23:13 -05:00
Owen
0e73365106 Pull dashboard url for the newt config 2025-02-04 22:14:11 -05:00
Milo Schwartz
b6963a9c35 allow 80 or 443 raw resources 2025-02-04 21:39:13 -05:00
Milo Schwartz
bc0b467f1a update traefik version 2025-02-03 22:58:04 -05:00
Milo Schwartz
7cf798851c fix sorting auth column if no auth closes #149 2025-02-03 22:47:47 -05:00
Milo Schwartz
e475c1ea50 all resources at the base domain closes #137 2025-02-03 21:18:16 -05:00
Milo Schwartz
0840c166ab prevent api resource updates if raw resources is disabled 2025-02-02 16:22:00 -05:00
Milo Schwartz
65a537a670 make update raw resource port functional 2025-02-02 16:03:10 -05:00
Milo Schwartz
a7c99b016c prevent raw tcp on port 80 or 443 2025-02-02 15:47:29 -05:00
Milo Schwartz
6a8132546e reset create resource form on dialog close closes #145 2025-02-02 15:36:43 -05:00
Milo Schwartz
94ce5edc61 pull app version from consts instead of package.json 2025-02-02 15:30:41 -05:00
Milo Schwartz
889f8e1394 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-02-01 21:19:35 -05:00
Milo Schwartz
9d36198459 fix search id value in command items 2025-02-01 21:19:24 -05:00
Owen Schwartz
673635a585 Merge pull request #64 from j4n-e4t/j4n-e4t/transfer-resource-to-new-site
Transfer a resource to another site
2025-02-01 21:14:17 -05:00
Milo Schwartz
53660a163c minor changes to verbiage and id value 2025-02-01 21:11:31 -05:00
Owen Schwartz
b5420a40ab Clean up and add target manipulation 2025-02-01 18:36:12 -05:00
Owen Schwartz
962c5fb886 Merge branch 'dev' into transfer-resource-to-new-site 2025-02-01 17:03:05 -05:00
Milo Schwartz
7d6dd9e9fd Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-02-01 16:52:30 -05:00
Milo Schwartz
dc9b1f1efd add project board to readme 2025-02-01 16:52:18 -05:00
Owen Schwartz
3257c39fca Merge pull request #130 from nkkfs/patch-3
Update pl.md
2025-02-01 10:29:40 -05:00
Kamil
8b43c6f9c5 Update pl.md
Add Authentication Site strings
2025-02-01 08:56:20 +01:00
Owen Schwartz
8b5cac40e0 Merge pull request #120 from synologyy/main
german-translation
2025-01-31 15:16:32 -05:00
Milo Schwartz
722b877ea5 Merge pull request #125 from fosrl/dev
Hotfix Various Bugs
2025-01-31 15:11:48 -05:00
Owen Schwartz
a9477d7eb9 Complex filter generating config; Resolves #124 2025-01-31 15:07:28 -05:00
Milo Schwartz
bb5573a8f4 allow comma in password closes #121 2025-01-31 15:03:36 -05:00
synologyy
81571a8fb7 german-translation 2025-01-31 09:01:00 +01:00
Owen Schwartz
57cd776c34 Fix migrations ordering 2025-01-30 23:30:33 -05:00
Milo Schwartz
5c507cc0ec Merge pull request #118 from fosrl/dev
Small Bugfixes
2025-01-30 22:47:56 -05:00
Milo Schwartz
55c0953fde update version in migration script log 2025-01-30 22:43:47 -05:00
Milo Schwartz
844b12d363 add copy code snippets to raw tcp/udp 2025-01-30 22:31:29 -05:00
Milo Schwartz
f40d91ff9e remove secure_cookies option from config 2025-01-30 21:53:42 -05:00
Owen Schwartz
f5e894e06a Make sure secure_cookies is true 2025-01-30 21:10:24 -05:00
Owen Schwartz
8fe479f809 Add . to make it clear there is already a dot 2025-01-30 21:02:12 -05:00
Owen Schwartz
9b9c343e2d Fix missing where clause; Resolves #117 2025-01-30 20:51:37 -05:00
Milo Schwartz
cb1ccbe945 update traefik_config example and remove quotes around smtp_port 2025-01-30 17:15:07 -05:00
Owen Schwartz
5de6028136 Put replaceme back 2025-01-30 12:27:07 -05:00
Owen Schwartz
e226a5e86b Move back to * imports 2025-01-30 12:25:59 -05:00
Owen Schwartz
f0ecfbb403 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-01-30 12:17:02 -05:00
Owen Schwartz
985418b9af Fix wrong config 2025-01-30 12:16:56 -05:00
Milo Schwartz
197c797264 fix cicd 2025-01-30 11:16:57 -05:00
Milo Schwartz
16b131970b Merge pull request #111 from fosrl/dev
major changes for 1.0.0-beta.9
2025-01-30 11:07:52 -05:00
Milo Schwartz
4541880d57 fix typo 2025-01-30 11:04:51 -05:00
Milo Schwartz
3e41e3d725 change order of cicd docker build step 2025-01-30 10:59:31 -05:00
Milo Schwartz
1bad0c538b add link to docs for tcp/udp 2025-01-30 10:55:57 -05:00
Milo Schwartz
61e6fb3126 update upload artifact version 2025-01-30 10:32:37 -05:00
Milo Schwartz
f80171ad53 update readme 2025-01-30 10:30:27 -05:00
Milo Schwartz
2b6552319c Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-01-30 00:08:47 -05:00
Milo Schwartz
5ce6cb01ff prep migration for release 2025-01-30 00:03:11 -05:00
Owen Schwartz
69621a430d Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-01-29 22:18:57 -05:00
Owen Schwartz
4f0b45dd9f Add badger version 2025-01-29 22:18:39 -05:00
Milo Schwartz
bdf72662bf do migration in one transaction with rollback 2025-01-29 19:55:08 -05:00
Milo Schwartz
34c8c0db70 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-01-29 11:14:28 -05:00
Milo Schwartz
44e7bf1199 fix typo 2025-01-29 11:14:10 -05:00
Owen Schwartz
f4ae2188e0 Fix typo courtesy of Discord @kazak 2025-01-29 09:34:55 -05:00
Milo Schwartz
20f659db89 fix zod schemas 2025-01-29 00:03:10 -05:00
Owen Schwartz
0e04e82b88 Squashed commit of the following:
commit c276d2193da5dbe7af5197bdf7e2bcce6f87b0cf
Author: Owen Schwartz <owen@txv.io>
Date:   Tue Jan 28 22:06:04 2025 -0500

    Okay actually now

commit 9afdc0aadc3f4fb4e811930bacff70a9e17eab9f
Author: Owen Schwartz <owen@txv.io>
Date:   Tue Jan 28 21:58:44 2025 -0500

    Migrations working finally

commit a7336b3b2466fe74d650b9c253ecadbe1eff749d
Merge: e7c7203 fdb1ab4
Author: Owen Schwartz <owen@txv.io>
Date:   Mon Jan 27 22:19:15 2025 -0500

    Merge branch 'dev' into tcp-udp-traffic

commit e7c7203330b1b08e570048b10ef314b55068e466
Author: Owen Schwartz <owen@txv.io>
Date:   Mon Jan 27 22:18:09 2025 -0500

    Working on migration

commit a4704dfd44b10647257c7c7054c0dae806d315bb
Author: Owen Schwartz <owen@txv.io>
Date:   Mon Jan 27 21:40:52 2025 -0500

    Add flag to allow raw resources

commit d74f7a57ed11e2a6bf1a7e0c28c29fb07eb573a0
Merge: 6817788 d791b9b
Author: Owen Schwartz <owen@txv.io>
Date:   Mon Jan 27 21:28:50 2025 -0500

    Merge branch 'tcp-udp-traffic' of https://github.com/fosrl/pangolin into tcp-udp-traffic

commit 68177882781b54ef30b62cca7dee8bbed7c5a2fa
Author: Owen Schwartz <owen@txv.io>
Date:   Mon Jan 27 21:28:32 2025 -0500

    Get everything working

commit d791b9b47f9f6ca050d6edfd1d674438f8562d99
Author: Milo Schwartz <mschwartz10612@gmail.com>
Date:   Mon Jan 27 17:46:19 2025 -0500

    fix orgId check in verifyAdmin

commit 6ac30afd7a449a126190d311bd98d7f1048f73a4
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 23:19:33 2025 -0500

    Trying to figure out traefik...

commit 9886b42272882f8bb6baff2efdbe26cee7cac2b6
Merge: 786e67e 85e9129
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 21:53:32 2025 -0500

    Merge branch 'tcp-udp-traffic' of https://github.com/fosrl/pangolin into tcp-udp-traffic

commit 786e67eadd6df1ee8df24e77aed20c1f1fc9ca67
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 21:51:37 2025 -0500

    Bug fixing

commit 85e9129ae313b2e4a460a8bc53a0af9f9fbbafb2
Author: Milo Schwartz <mschwartz10612@gmail.com>
Date:   Sun Jan 26 18:35:24 2025 -0500

    rethrow errors in migration and remove permanent redirect

commit bd82699505fc7510c27f72cd80ea0ce815d8c5ef
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 17:49:12 2025 -0500

    Fix merge issue

commit 933dbf3a02b1f19fd1f627410b2407fdf05cd9bf
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 17:46:13 2025 -0500

    Add sql to update resources and targets

commit f19437bad847c8dbf57fddd2c48cd17bab20ddb0
Merge: 58980eb 9f1f291
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 17:19:51 2025 -0500

    Merge branch 'dev' into tcp-udp-traffic

commit 58980ebb64d1040b4d224c76beb38c2254f3c5d9
Merge: 1de682a d284d36
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 17:10:09 2025 -0500

    Merge branch 'dev' into tcp-udp-traffic

commit 1de682a9f6039f40e05c8901c7381a94b0d018ed
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 17:08:29 2025 -0500

    Working on migrations

commit dc853d2bc02b11997be5c3c7ea789402716fb4c2
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 16:56:49 2025 -0500

    Finish config of resource pages

commit 37c681c08d7ab73d2cad41e7ef1dbe3a8852e1f2
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 16:07:25 2025 -0500

    Finish up table

commit 461c6650bbea0d7439cc042971ec13fdb52a7431
Author: Owen Schwartz <owen@txv.io>
Date:   Sun Jan 26 15:54:46 2025 -0500

    Working toward having dual resource types

commit f0894663627375e16ce6994370cb30b298efc2dc
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 22:31:25 2025 -0500

    Add qutoes

commit edc535b79b94c2e65b290cd90a69fe17d27245e9
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 22:28:45 2025 -0500

    Add readTimeout to allow long file uploads

commit 194892fa14b505bd7c2b31873dc13d4b8996c0e1
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 20:37:34 2025 -0500

    Rework traefik config generation

commit ad3f896b5333e4706d610c3198f29dcd67610365
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 13:01:47 2025 -0500

    Add proxy port to api

commit ca6013b2ffda0924a696ec3141825a54a4e5297d
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 12:58:01 2025 -0500

    Add migration

commit 2258d76cb3a49d3db7f05f76d8b8a9f1c248b5e4
Author: Owen Schwartz <owen@txv.io>
Date:   Sat Jan 25 12:55:02 2025 -0500

    Add new proxy port
2025-01-28 22:26:45 -05:00
Milo Schwartz
f874449d36 remove no reply check in send email 2025-01-28 22:13:46 -05:00
Milo Schwartz
397036640e add additional_middlewares 2025-01-28 21:39:17 -05:00
Milo Schwartz
60110350aa use smtp user if no no-reply set 2025-01-28 21:26:34 -05:00
Milo Schwartz
a57f0ab360 log password reset token if no smtp to allow reset password 2025-01-28 21:23:19 -05:00
Milo Schwartz
e0dd3c34b2 Merge pull request #107 from nkkfs/patch-1
Create pl.md
2025-01-28 11:58:10 -05:00
Kamil
472b0d7086 Create pl.md 2025-01-28 17:34:22 +01:00
Milo Schwartz
0bd8217d9e add failed auth logging 2025-01-27 22:43:32 -05:00
Milo Schwartz
fdb1ab4bd9 allow setting secure for smtp in config 2025-01-27 21:19:31 -05:00
Milo Schwartz
61b34c8b16 allow wildcard emails in email whitelist 2025-01-26 18:14:47 -05:00
Milo Schwartz
9f1f2910e4 refactor auth to work cross domain and with http resources closes #100 2025-01-26 14:42:02 -05:00
Milo Schwartz
6050a0a7d7 Merge branch 'dev' of https://github.com/fosrl/pangolin into dev 2025-01-25 13:23:46 -05:00
Milo Schwartz
72f1686395 remove permanent redirect for https 2025-01-25 13:23:36 -05:00
Owen Schwartz
d284d36c24 Remove double transaction 2025-01-25 12:55:19 -05:00
Owen Schwartz
6cc6b0c239 docker-compose vs docker compose; Resolves #83 2025-01-25 12:27:27 -05:00
Milo Schwartz
8e5330fb82 add cicd 2025-01-24 23:18:27 -05:00
Milo Schwartz
2d0a367f1a fix link in resource alert not updating when changing ssl 2025-01-23 22:38:35 -05:00
Milo Schwartz
02b5f4d390 increase hitbox for links in buttons 2025-01-23 22:34:12 -05:00
Milo Schwartz
d1fead5050 use quotes around strings in yaml closes #96 2025-01-23 22:23:50 -05:00
Milo Schwartz
9a831e8e34 use id for data-value closes #86 2025-01-23 21:26:59 -05:00
Milo Schwartz
5f92b0bbc1 make all emails lowercase closes #89 2025-01-21 19:03:18 -05:00
Milo Schwartz
19232a81ef Create FUNDING.yml 2025-01-21 15:24:48 -05:00
Owen Schwartz
d1278c252b Merge branch 'dev' 2025-01-20 21:35:14 -05:00
Owen Schwartz
273d9675bf Bump version 2025-01-20 21:31:38 -05:00
Milo Schwartz
b4620cfea6 bump version 2025-01-20 21:30:34 -05:00
Owen Schwartz
2c8f824240 Pick always a new port for newt 2025-01-20 21:07:02 -05:00
Owen Schwartz
7c34f76695 Merge pull request #82 from fosrl/dev
Dev
2025-01-19 17:37:20 -05:00
Owen Schwartz
72d7ecb2ed Update clean 2025-01-19 17:36:48 -05:00
Owen Schwartz
75e70b5477 Merge branch 'main' of https://github.com/fosrl/pangolin 2025-01-19 17:33:54 -05:00
Owen Schwartz
4eca127781 Update gerbil version 2025-01-19 17:33:46 -05:00
Milo Schwartz
d27ecaae5e Merge pull request #77 from fosrl/hotfix-2
remove double createHttpError
2025-01-17 22:00:25 -05:00
Milo Schwartz
f0898613a2 remove double createHttpError 2025-01-17 21:59:06 -05:00
Owen Schwartz
40a2933e25 Merge pull request #76 from fosrl/bump-version
Bump version
2025-01-17 21:55:34 -05:00
Owen Schwartz
a208ab36b8 Bump version 2025-01-17 21:53:16 -05:00
Milo Schwartz
680c665242 Merge pull request #75 from mallendeo/patch-1
fix: add missing `await` when verifying pincode
2025-01-17 21:26:39 -05:00
Mauricio Allende
6b141c3ea0 fix: add missing await when verifying pincode
`validPincode` ends up as a `Promise` and evaluates as a thruthy value wether the pin is correct or not.
2025-01-17 22:54:20 -03:00
Julian
a039168217 add ability to transfer a resource to another site 2025-01-16 21:15:41 +01:00
Milo Schwartz
e4fe749251 Merge pull request #58 from fosrl/dev
various changes to to allow for unraid deployment
2025-01-15 23:52:49 -05:00
Milo Schwartz
ed5e6ec0f7 add port templates to traefik example files 2025-01-15 23:36:32 -05:00
Milo Schwartz
1aec431c36 optionally generate traefik files, set cors in config, and set trust proxy in config 2025-01-15 23:26:31 -05:00
Owen Schwartz
cb87463a69 Merge branch 'main' into dev 2025-01-15 21:38:15 -05:00
Owen Schwartz
4b5c74e8d6 Import start port at startup for now for exit node 2025-01-15 21:37:10 -05:00
Milo Schwartz
ab18e15a71 allow controlling cors from config and add cors middleware to traefik 2025-01-13 23:59:10 -05:00
Milo Schwartz
7ff5376d13 log url to docs if config error 2025-01-12 20:42:16 -05:00
1021 changed files with 170046 additions and 13360 deletions

View File

@@ -22,8 +22,13 @@ next-env.d.ts
*.log
.machinelogs*.json
*-audit.json
package-lock.json
install/
bruno/
LICENSE
CONTRIBUTING.md
dist
.git
migrations/
config/
build.ts
tsconfig.json

View File

@@ -0,0 +1,47 @@
body:
- type: textarea
attributes:
label: Summary
description: A clear and concise summary of the requested feature.
validations:
required: true
- type: textarea
attributes:
label: Motivation
description: |
Why is this feature important?
Explain the problem this feature would solve or what use case it would enable.
validations:
required: true
- type: textarea
attributes:
label: Proposed Solution
description: |
How would you like to see this feature implemented?
Provide as much detail as possible about the desired behavior, configuration, or changes.
validations:
required: true
- type: textarea
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or workarounds you've thought about.
validations:
required: false
- type: textarea
attributes:
label: Additional Context
description: Add any other context, mockups, or screenshots about the feature request here.
validations:
required: false
- type: markdown
attributes:
value: |
Before submitting, please:
- Check if there is an existing issue for this feature.
- Clearly explain the benefit and use case.
- Be as specific as possible to help contributors evaluate and implement.

3
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
# These are supported funding model platforms
github: [fosrl]

51
.github/ISSUE_TEMPLATE/1.bug_report.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
name: Bug Report
description: Create a bug report
labels: []
body:
- type: textarea
attributes:
label: Describe the Bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: Environment
description: Please fill out the relevant details below for your environment.
value: |
- OS Type & Version: (e.g., Ubuntu 22.04)
- Pangolin Version:
- Gerbil Version:
- Traefik Version:
- Newt Version:
- Olm Version: (if applicable)
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: |
Steps to reproduce the behavior, please provide a clear description of how to reproduce the issue, based on the linked minimal reproduction. Screenshots can be provided in the issue body below.
If using code blocks, make sure syntax highlighting is correct and double-check that the rendered preview is not broken.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: markdown
attributes:
value: |
Before posting the issue go through the steps you've written down to make sure the steps provided are detailed and clear.
- type: markdown
attributes:
value: |
Contributors should be able to follow the steps provided in order to reproduce the bug.

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Need help or have questions?
url: https://github.com/orgs/fosrl/discussions
about: Ask questions, get help, and discuss with other community members
- name: Request a Feature
url: https://github.com/orgs/fosrl/discussions/new?category=feature-requests
about: Feature requests should be opened as discussions so others can upvote and comment

62
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
groups:
dev-patch-updates:
dependency-type: "development"
update-types:
- "patch"
dev-minor-updates:
dependency-type: "development"
update-types:
- "minor"
prod-patch-updates:
dependency-type: "production"
update-types:
- "patch"
prod-minor-updates:
dependency-type: "production"
update-types:
- "minor"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
groups:
patch-updates:
update-types:
- "patch"
minor-updates:
update-types:
- "minor"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "gomod"
directory: "/install"
schedule:
interval: "daily"
groups:
dev-patch-updates:
dependency-type: "development"
update-types:
- "patch"
dev-minor-updates:
dependency-type: "development"
update-types:
- "minor"
prod-patch-updates:
dependency-type: "production"
update-types:
- "patch"
prod-minor-updates:
dependency-type: "production"
update-types:
- "minor"

180
.github/workflows/cicd.yml vendored Normal file
View File

@@ -0,0 +1,180 @@
name: CI/CD Pipeline
# CI/CD workflow for building, publishing, mirroring, signing container images and building release binaries.
# Actions are pinned to specific SHAs to reduce supply-chain risk. This workflow triggers on tag push events.
permissions:
contents: read
packages: write # for GHCR push
id-token: write # for Cosign Keyless (OIDC) Signing
# Required secrets:
# - DOCKER_HUB_USERNAME / DOCKER_HUB_ACCESS_TOKEN: push to Docker Hub
# - GITHUB_TOKEN: used for GHCR login and OIDC keyless signing
# - COSIGN_PRIVATE_KEY / COSIGN_PASSWORD / COSIGN_PUBLIC_KEY: for key-based signing
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+.rc.[0-9]+"
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
release:
name: Build and Release
runs-on: [self-hosted, linux, x64]
# Job-level timeout to avoid runaway or stuck runs
timeout-minutes: 120
env:
# Target images
DOCKERHUB_IMAGE: docker.io/fosrl/${{ github.event.repository.name }}
GHCR_IMAGE: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Log in to Docker Hub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: docker.io
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Extract tag name
id: get-tag
run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
shell: bash
- name: Install Go
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: 1.24
- name: Update version in package.json
run: |
TAG=${{ env.TAG }}
sed -i "s/export const APP_VERSION = \".*\";/export const APP_VERSION = \"$TAG\";/" server/lib/consts.ts
cat server/lib/consts.ts
shell: bash
- name: Pull latest Gerbil version
id: get-gerbil-tag
run: |
LATEST_TAG=$(curl -s https://api.github.com/repos/fosrl/gerbil/tags | jq -r '.[0].name')
echo "LATEST_GERBIL_TAG=$LATEST_TAG" >> $GITHUB_ENV
shell: bash
- name: Pull latest Badger version
id: get-badger-tag
run: |
LATEST_TAG=$(curl -s https://api.github.com/repos/fosrl/badger/tags | jq -r '.[0].name')
echo "LATEST_BADGER_TAG=$LATEST_TAG" >> $GITHUB_ENV
shell: bash
- name: Update install/main.go
run: |
PANGOLIN_VERSION=${{ env.TAG }}
GERBIL_VERSION=${{ env.LATEST_GERBIL_TAG }}
BADGER_VERSION=${{ env.LATEST_BADGER_TAG }}
sed -i "s/config.PangolinVersion = \".*\"/config.PangolinVersion = \"$PANGOLIN_VERSION\"/" install/main.go
sed -i "s/config.GerbilVersion = \".*\"/config.GerbilVersion = \"$GERBIL_VERSION\"/" install/main.go
sed -i "s/config.BadgerVersion = \".*\"/config.BadgerVersion = \"$BADGER_VERSION\"/" install/main.go
echo "Updated install/main.go with Pangolin version $PANGOLIN_VERSION, Gerbil version $GERBIL_VERSION, and Badger version $BADGER_VERSION"
cat install/main.go
shell: bash
- name: Build installer
working-directory: install
run: |
make go-build-release
- name: Upload artifacts from /install/bin
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: install-bin
path: install/bin/
- name: Build and push Docker images (Docker Hub)
run: |
TAG=${{ env.TAG }}
make build-release tag=$TAG
echo "Built & pushed to: ${{ env.DOCKERHUB_IMAGE }}:${TAG}"
shell: bash
- name: Install skopeo + jq
# skopeo: copy/inspect images between registries
# jq: JSON parsing tool used to extract digest values
run: |
sudo apt-get update -y
sudo apt-get install -y skopeo jq
skopeo --version
shell: bash
- name: Login to GHCR
run: |
skopeo login ghcr.io -u "${{ github.actor }}" -p "${{ secrets.GITHUB_TOKEN }}"
shell: bash
- name: Copy tag from Docker Hub to GHCR
# Mirror the already-built image (all architectures) to GHCR so we can sign it
run: |
set -euo pipefail
TAG=${{ env.TAG }}
echo "Copying ${{ env.DOCKERHUB_IMAGE }}:${TAG} -> ${{ env.GHCR_IMAGE }}:${TAG}"
skopeo copy --all --retry-times 3 \
docker://$DOCKERHUB_IMAGE:$TAG \
docker://$GHCR_IMAGE:$TAG
shell: bash
- name: Install cosign
# cosign is used to sign and verify container images (key and keyless)
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
- name: Dual-sign and verify (GHCR & Docker Hub)
# Sign each image by digest using keyless (OIDC) and key-based signing,
# then verify both the public key signature and the keyless OIDC signature.
env:
TAG: ${{ env.TAG }}
COSIGN_PRIVATE_KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }}
COSIGN_PUBLIC_KEY: ${{ secrets.COSIGN_PUBLIC_KEY }}
COSIGN_YES: "true"
run: |
set -euo pipefail
issuer="https://token.actions.githubusercontent.com"
id_regex="^https://github.com/${{ github.repository }}/.+" # accept this repo (all workflows/refs)
for IMAGE in "${GHCR_IMAGE}" "${DOCKERHUB_IMAGE}"; do
echo "Processing ${IMAGE}:${TAG}"
DIGEST="$(skopeo inspect --retry-times 3 docker://${IMAGE}:${TAG} | jq -r '.Digest')"
REF="${IMAGE}@${DIGEST}"
echo "Resolved digest: ${REF}"
echo "==> cosign sign (keyless) --recursive ${REF}"
cosign sign --recursive "${REF}"
echo "==> cosign sign (key) --recursive ${REF}"
cosign sign --key env://COSIGN_PRIVATE_KEY --recursive "${REF}"
echo "==> cosign verify (public key) ${REF}"
cosign verify --key env://COSIGN_PUBLIC_KEY "${REF}" -o text
echo "==> cosign verify (keyless policy) ${REF}"
cosign verify \
--certificate-oidc-issuer "${issuer}" \
--certificate-identity-regexp "${id_regex}" \
"${REF}" -o text
done
shell: bash

38
.github/workflows/linting.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: ESLint
permissions:
contents: read
on:
pull_request:
paths:
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '.eslintrc*'
- 'package.json'
- 'yarn.lock'
- 'pnpm-lock.yaml'
- 'package-lock.json'
jobs:
Linter:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: '22'
- name: Install dependencies
run: npm ci
- name: Create build file
run: npm run set:oss
- name: Run ESLint
run: npx eslint . --ext .js,.jsx,.ts,.tsx

132
.github/workflows/mirror.yaml vendored Normal file
View File

@@ -0,0 +1,132 @@
name: Mirror & Sign (Docker Hub to GHCR)
on:
workflow_dispatch: {}
permissions:
contents: read
packages: write
id-token: write # for keyless OIDC
env:
SOURCE_IMAGE: docker.io/fosrl/pangolin
DEST_IMAGE: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
jobs:
mirror-and-dual-sign:
runs-on: amd64-runner
steps:
- name: Install skopeo + jq
run: |
sudo apt-get update -y
sudo apt-get install -y skopeo jq
skopeo --version
- name: Install cosign
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
- name: Input check
run: |
test -n "${SOURCE_IMAGE}" || (echo "SOURCE_IMAGE is empty" && exit 1)
echo "Source : ${SOURCE_IMAGE}"
echo "Target : ${DEST_IMAGE}"
# Auth for skopeo (containers-auth)
- name: Skopeo login to GHCR
run: |
skopeo login ghcr.io -u "${{ github.actor }}" -p "${{ secrets.GITHUB_TOKEN }}"
# Auth for cosign (docker-config)
- name: Docker login to GHCR (for cosign)
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
- name: List source tags
run: |
set -euo pipefail
skopeo list-tags --retry-times 3 docker://"${SOURCE_IMAGE}" \
| jq -r '.Tags[]' | sort -u > src-tags.txt
echo "Found source tags: $(wc -l < src-tags.txt)"
head -n 20 src-tags.txt || true
- name: List destination tags (skip existing)
run: |
set -euo pipefail
if skopeo list-tags --retry-times 3 docker://"${DEST_IMAGE}" >/tmp/dst.json 2>/dev/null; then
jq -r '.Tags[]' /tmp/dst.json | sort -u > dst-tags.txt
else
: > dst-tags.txt
fi
echo "Existing destination tags: $(wc -l < dst-tags.txt)"
- name: Mirror, dual-sign, and verify
env:
# keyless
COSIGN_YES: "true"
# key-based
COSIGN_PRIVATE_KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }}
# verify
COSIGN_PUBLIC_KEY: ${{ secrets.COSIGN_PUBLIC_KEY }}
run: |
set -euo pipefail
copied=0; skipped=0; v_ok=0; errs=0
issuer="https://token.actions.githubusercontent.com"
id_regex="^https://github.com/${{ github.repository }}/.+"
while read -r tag; do
[ -z "$tag" ] && continue
if grep -Fxq "$tag" dst-tags.txt; then
echo "::notice ::Skip (exists) ${DEST_IMAGE}:${tag}"
skipped=$((skipped+1))
continue
fi
echo "==> Copy ${SOURCE_IMAGE}:${tag} → ${DEST_IMAGE}:${tag}"
if ! skopeo copy --all --retry-times 3 \
docker://"${SOURCE_IMAGE}:${tag}" docker://"${DEST_IMAGE}:${tag}"; then
echo "::warning title=Copy failed::${SOURCE_IMAGE}:${tag}"
errs=$((errs+1)); continue
fi
copied=$((copied+1))
digest="$(skopeo inspect --retry-times 3 docker://"${DEST_IMAGE}:${tag}" | jq -r '.Digest')"
ref="${DEST_IMAGE}@${digest}"
echo "==> cosign sign (keyless) --recursive ${ref}"
if ! cosign sign --recursive "${ref}"; then
echo "::warning title=Keyless sign failed::${ref}"
errs=$((errs+1))
fi
echo "==> cosign sign (key) --recursive ${ref}"
if ! cosign sign --key env://COSIGN_PRIVATE_KEY --recursive "${ref}"; then
echo "::warning title=Key sign failed::${ref}"
errs=$((errs+1))
fi
echo "==> cosign verify (public key) ${ref}"
if ! cosign verify --key env://COSIGN_PUBLIC_KEY "${ref}" -o text; then
echo "::warning title=Verify(pubkey) failed::${ref}"
errs=$((errs+1))
fi
echo "==> cosign verify (keyless policy) ${ref}"
if ! cosign verify \
--certificate-oidc-issuer "${issuer}" \
--certificate-identity-regexp "${id_regex}" \
"${ref}" -o text; then
echo "::warning title=Verify(keyless) failed::${ref}"
errs=$((errs+1))
else
v_ok=$((v_ok+1))
fi
done < src-tags.txt
echo "---- Summary ----"
echo "Copied : $copied"
echo "Skipped : $skipped"
echo "Verified OK : $v_ok"
echo "Errors : $errs"

37
.github/workflows/stale-bot.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Mark and Close Stale Issues
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch: # Allow manual trigger
permissions:
contents: write # only for delete-branch option
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10.1.0
with:
days-before-stale: 14
days-before-close: 14
stale-issue-message: 'This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.'
close-issue-message: 'This issue has been automatically closed due to inactivity. If you believe this is still relevant, please open a new issue with up-to-date information.'
stale-issue-label: 'stale'
exempt-issue-labels: 'needs investigating, networking, new feature, reverse proxy, bug, api, authentication, documentation, enhancement, help wanted, good first issue, question'
exempt-all-issue-assignees: true
only-labels: ''
exempt-pr-labels: ''
days-before-pr-stale: -1
days-before-pr-close: -1
operations-per-run: 100
remove-stale-when-updated: true
delete-branch: false
enable-statistics: true

64
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: Run Tests
permissions:
contents: read
on:
pull_request:
branches:
- main
- dev
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: '22'
- name: Copy config file
run: cp config/config.example.yml config/config.yml
- name: Install dependencies
run: npm ci
- name: Create database index.ts
run: npm run set:sqlite
- name: Create build file
run: npm run set:oss
- name: Generate database migrations
run: npm run db:sqlite:generate
- name: Apply database migrations
run: npm run db:sqlite:push
- name: Test with tsc
run: npx tsc --noEmit
- name: Start app in background
run: nohup npm run dev &
- name: Wait for app availability
run: |
for i in {1..5}; do
if curl --silent --fail http://localhost:3002/auth/login; then
echo "App is up"
exit 0
fi
echo "Waiting for the app... attempt $i"
sleep 5
done
echo "App failed to start"
exit 1
- name: Build Docker image sqlite
run: make build-sqlite
- name: Build Docker image pg
run: make build-pg

21
.gitignore vendored
View File

@@ -18,16 +18,35 @@ yarn-error.log*
next-env.d.ts
*.db
*.sqlite
!Dockerfile.sqlite
*.sqlite3
*.log
.machinelogs*.json
*-audit.json
migrations
package-lock.json
tsconfig.tsbuildinfo
config/config.yml
config/config.saas.yml
config/config.oss.yml
config/config.enterprise.yml
config/privateConfig.yml
config/postgres
config/postgres*
config/openapi.yaml
config/key
dist
.dist
installer
*.tar
bin
.secrets
test_event.json
.idea/
public/branding
server/db/index.ts
server/build.ts
postgres/
dynamic/
*.mmdb
scratch/
tsconfig.json

2
.nvmrc
View File

@@ -1 +1 @@
20
22

View File

@@ -4,11 +4,7 @@ Contributions are welcome!
Please see the contribution and local development guide on the docs page before getting started:
https://docs.fossorial.io/development
For ideas about what features to work on and our future plans, please see the roadmap:
https://docs.fossorial.io/roadmap
https://docs.pangolin.net/development/contributing
### Licensing Considerations

View File

@@ -1,34 +1,66 @@
FROM node:20-alpine AS builder
FROM node:22-alpine AS builder
WORKDIR /app
COPY package.json ./
ARG BUILD=oss
ARG DATABASE=sqlite
RUN npm install
# COPY package.json package-lock.json ./
COPY package*.json ./
RUN npm ci
COPY . .
RUN npx drizzle-kit generate --dialect sqlite --schema ./server/db/schema.ts --out init
RUN echo "export * from \"./$DATABASE\";" > server/db/index.ts
RUN npm run build
RUN echo "export const build = \"$BUILD\" as any;" > server/build.ts
FROM node:20-alpine AS runner
# Copy the appropriate TypeScript configuration based on build type
RUN if [ "$BUILD" = "oss" ]; then cp tsconfig.oss.json tsconfig.json; \
elif [ "$BUILD" = "saas" ]; then cp tsconfig.saas.json tsconfig.json; \
elif [ "$BUILD" = "enterprise" ]; then cp tsconfig.enterprise.json tsconfig.json; \
fi
RUN apk add --no-cache curl
# if the build is oss then remove the server/private directory
RUN if [ "$BUILD" = "oss" ]; then rm -rf server/private; fi
RUN if [ "$DATABASE" = "pg" ]; then npx drizzle-kit generate --dialect postgresql --schema ./server/db/pg/schema --out init; else npx drizzle-kit generate --dialect $DATABASE --schema ./server/db/$DATABASE/schema --out init; fi
RUN mkdir -p dist
RUN npm run next:build
RUN node esbuild.mjs -e server/index.ts -o dist/server.mjs -b $BUILD
RUN if [ "$DATABASE" = "pg" ]; then \
node esbuild.mjs -e server/setup/migrationsPg.ts -o dist/migrations.mjs; \
else \
node esbuild.mjs -e server/setup/migrationsSqlite.ts -o dist/migrations.mjs; \
fi
# test to make sure the build output is there and error if not
RUN test -f dist/server.mjs
RUN npm run build:cli
FROM node:22-alpine AS runner
WORKDIR /app
COPY package.json ./
# Curl used for the health checks
RUN apk add --no-cache curl tzdata
RUN npm install --omit=dev
# COPY package.json package-lock.json ./
COPY package*.json ./
COPY --from=builder /app/.next ./.next
RUN npm ci --omit=dev && npm cache clean --force
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/init ./dist/init
COPY config/config.example.yml ./dist/config.example.yml
COPY server/db/names.json ./dist/names.json
COPY ./cli/wrapper.sh /usr/local/bin/pangctl
RUN chmod +x /usr/local/bin/pangctl ./dist/cli.mjs
COPY server/db/names.json ./dist/names.json
COPY public ./public
CMD ["npm", "start"]
CMD ["npm", "run", "start"]

14
Dockerfile.dev Normal file
View File

@@ -0,0 +1,14 @@
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
# Install dependencies
RUN npm ci
# Copy source code
COPY . .
# Use tsx watch for development with hot reload
CMD ["npm", "run", "dev"]

31
LICENSE
View File

@@ -1,3 +1,34 @@
Copyright (c) 2025 Fossorial, Inc.
Portions of this software are licensed as follows:
* All files that include a header specifying they are licensed under the
"Fossorial Commercial License" are governed by the Fossorial Commercial
License terms. The specific terms applicable to each customer depend on the
commercial license tier agreed upon in writing with Fossorial, Inc.
Unauthorized use, copying, modification, or distribution is strictly
prohibited.
* All files that include a header specifying they are licensed under the GNU
Affero General Public License, Version 3 ("AGPL-3"), are governed by the
AGPL-3 terms. A full copy of the AGPL-3 license is provided below. However,
these files are also available under the Fossorial Commercial License if a
separate commercial license agreement has been executed between the customer
and Fossorial, Inc.
* All files without a license header are, by default, licensed under the GNU
Affero General Public License, Version 3 (AGPL-3). These files may also be
made available under the Fossorial Commercial License upon agreement with
Fossorial, Inc.
* All third-party components included in this repository are licensed under
their respective original licenses, as provided by their authors.
Please consult the header of each individual file to determine the applicable
license. For AGPL-3 licensed files, dual-licensing under the Fossorial
Commercial License is available subject to written agreement with Fossorial,
Inc.
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007

View File

@@ -1,10 +1,78 @@
.PHONY: build build-pg build-release build-arm build-x86 test clean
major_tag := $(shell echo $(tag) | cut -d. -f1)
minor_tag := $(shell echo $(tag) | cut -d. -f1,2)
build-release:
@if [ -z "$(tag)" ]; then \
echo "Error: tag is required. Usage: make build-all tag=<tag>"; \
echo "Error: tag is required. Usage: make build-release tag=<tag>"; \
exit 1; \
fi
docker buildx build --platform linux/arm64,linux/amd64 -t fosrl/pangolin:latest -f Dockerfile --push .
docker buildx build --platform linux/arm64,linux/amd64 -t fosrl/pangolin:$(tag) -f Dockerfile --push .
docker buildx build \
--build-arg BUILD=oss \
--build-arg DATABASE=sqlite \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:latest \
--tag fosrl/pangolin:$(major_tag) \
--tag fosrl/pangolin:$(minor_tag) \
--tag fosrl/pangolin:$(tag) \
--push .
docker buildx build \
--build-arg BUILD=oss \
--build-arg DATABASE=pg \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:postgresql-latest \
--tag fosrl/pangolin:postgresql-$(major_tag) \
--tag fosrl/pangolin:postgresql-$(minor_tag) \
--tag fosrl/pangolin:postgresql-$(tag) \
--push .
docker buildx build \
--build-arg BUILD=enterprise \
--build-arg DATABASE=sqlite \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:ee-latest \
--tag fosrl/pangolin:ee-$(major_tag) \
--tag fosrl/pangolin:ee-$(minor_tag) \
--tag fosrl/pangolin:ee-$(tag) \
--push .
docker buildx build \
--build-arg BUILD=enterprise \
--build-arg DATABASE=pg \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:ee-postgresql-latest \
--tag fosrl/pangolin:ee-postgresql-$(major_tag) \
--tag fosrl/pangolin:ee-postgresql-$(minor_tag) \
--tag fosrl/pangolin:ee-postgresql-$(tag) \
--push .
build-rc:
@if [ -z "$(tag)" ]; then \
echo "Error: tag is required. Usage: make build-release tag=<tag>"; \
exit 1; \
fi
docker buildx build \
--build-arg BUILD=oss \
--build-arg DATABASE=sqlite \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:$(tag) \
--push .
docker buildx build \
--build-arg BUILD=oss \
--build-arg DATABASE=pg \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:postgresql-$(tag) \
--push .
docker buildx build \
--build-arg BUILD=enterprise \
--build-arg DATABASE=sqlite \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:ee-$(tag) \
--push .
docker buildx build \
--build-arg BUILD=enterprise \
--build-arg DATABASE=pg \
--platform linux/arm64,linux/amd64 \
--tag fosrl/pangolin:ee-postgresql-$(tag) \
--push .
build-arm:
docker buildx build --platform linux/arm64 -t fosrl/pangolin:latest .
@@ -12,11 +80,11 @@ build-arm:
build-x86:
docker buildx build --platform linux/amd64 -t fosrl/pangolin:latest .
build-x86-ecr:
docker buildx build --platform linux/amd64 -t 216989133116.dkr.ecr.us-east-1.amazonaws.com/pangolin:latest --push .
build-sqlite:
docker build --build-arg DATABASE=sqlite -t fosrl/pangolin:latest .
build:
docker build -t fosrl/pangolin:latest .
build-pg:
docker build --build-arg DATABASE=pg -t fosrl/pangolin:postgresql-latest .
test:
docker run -it -p 3000:3000 -p 3001:3001 -p 3002:3002 -v ./config:/app/config fosrl/pangolin:latest

179
README.md
View File

@@ -1,140 +1,95 @@
# Pangolin
<div align="center">
<h2>
<a href="https://pangolin.net/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="public/logo/word_mark_white.png">
<img alt="Pangolin Logo" src="public/logo/word_mark_black.png" width="350">
</picture>
</a>
</h2>
</div>
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square)](https://docs.fossorial.io/)
<div align="center">
<h5>
<a href="https://pangolin.net/">
Website
</a>
<span> | </span>
<a href="https://docs.pangolin.net/">
Documentation
</a>
<span> | </span>
<a href="mailto:contact@pangolin.net">
Contact Us
</a>
</h5>
</div>
<div align="center">
[![Discord](https://img.shields.io/discord/1325658630518865980?logo=discord&style=flat-square)](https://discord.gg/HCJR8Xhme4)
[![Slack](https://img.shields.io/badge/chat-slack-yellow?style=flat-square&logo=slack)](https://pangolin.net/slack)
[![Docker](https://img.shields.io/docker/pulls/fosrl/pangolin?style=flat-square)](https://hub.docker.com/r/fosrl/pangolin)
![Stars](https://img.shields.io/github/stars/fosrl/pangolin?style=flat-square)
[![Discord](https://img.shields.io/discord/1325658630518865980?logo=discord&style=flat-square)](https://discord.gg/HCJR8Xhme4)
[![Youtube](https://img.shields.io/badge/YouTube-red?logo=youtube&logoColor=white&style=flat-square)](https://www.youtube.com/@fossorial-app)
[![YouTube](https://img.shields.io/badge/YouTube-red?logo=youtube&logoColor=white&style=flat-square)](https://www.youtube.com/@fossorial-app)
Pangolin is a self-hosted tunneled reverse proxy management server with identity and access management, designed to securely expose private resources through use with the Traefik reverse proxy and WireGuard tunnel clients like Newt. With Pangolin, you retain full control over your infrastructure while providing a user-friendly and feature-rich solution for managing proxies, authentication, and access, and simplifying complex network setups, all with a clean and simple UI.
</div>
### Installation and Documentation
<p align="center">
<strong>
Start testing Pangolin at <a href="https://app.pangolin.net/auth/signup">app.pangolin.net</a>
</strong>
</p>
- [Installation Instructions](https://docs.fossorial.io/Getting%20Started/quick-install)
- [Full Documentation](https://docs.fossorial.io)
Pangolin is a self-hosted tunneled reverse proxy server with identity and context aware access control, designed to easily expose and protect applications running anywhere. Pangolin acts as a central hub and connects isolated networks — even those behind restrictive firewalls — through encrypted tunnels, enabling easy access to remote services without opening ports or requiring a VPN.
### Authors and Maintainers
## Installation
- [Milo Schwartz](https://github.com/miloschwartz)
- [Owen Schwartz](https://github.com/oschwartz10612)
- Check out the [quick install guide](https://docs.pangolin.net/self-host/quick-install) for how to install and set up Pangolin.
- Install from the [DigitalOcean marketplace](https://marketplace.digitalocean.com/apps/pangolin-ce-1?refcode=edf0480eeb81) for a one-click pre-configured installer.
## Preview
<img src="public/screenshots/hero.png" />
<img src="public/screenshots/sites.png" alt="Preview"/>
## Deployment Options
_Sites page of Pangolin dashboard (dark mode) showing multiple tunnels connected to the central server._
| <img width=500 /> | Description |
|-----------------|--------------|
| **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 earning under \$100K USD annually. |
| **Pangolin Cloud** | Fully managed service with instant setup and pay-as-you-go pricing — no infrastructure required. Or, self-host your own [remote node](https://docs.pangolin.net/manage/remote-node/nodes) and connect to our control plane. |
## Key Features
### Reverse Proxy Through WireGuard Tunnel
Pangolin packages everything you need for seamless application access and exposure into one cohesive platform.
- Expose private resources on your network **without opening ports**.
- Secure and easy to configure site-to-site connectivity via a custom **user space WireGuard client**, [Newt](https://github.com/fosrl/newt).
- Built-in support for any WireGuard client.
- Automated **SSL certificates** (https) via [LetsEncrypt](https://letsencrypt.org/).
| <img width=500 /> | <img width=500 /> |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| **Manage applications in one place**<br /><br /> Pangolin provides a unified dashboard where you can monitor, configure, and secure all of your services regardless of where they are hosted. | <img src="public/screenshots/hero.png" width=500 /><tr></tr> |
| **Reverse proxy across networks anywhere**<br /><br />Route traffic via tunnels to any private network. Pangolin works like a reverse proxy that spans multiple networks and handles routing, load balancing, health checking, and more to the right services on the other end. | <img src="public/screenshots/sites.png" width=500 /><tr></tr> |
| **Enforce identity and context aware rules**<br /><br />Protect your applications with identity and context aware rules such as SSO, OIDC, PIN, password, temporary share links, geolocation, IP, and more. | <img src="public/auth-diagram1.png" width=500 /><tr></tr> |
| **Quickly connect Pangolin sites**<br /><br />Pangolin's lightweight [Newt](https://github.com/fosrl/newt) client runs in userspace and can run anywhere. Use it as a site connector to route traffic to backends across all of your environments. | <img src="public/clip.gif" width=500 /><tr></tr> |
### Identity & Access Management
## Get Started
- Centralized authentication system using platform SSO. **Users will only have to manage one login.**
- 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.
### Check out the docs
### Simple Dashboard UI
We encourage everyone to read the full documentation first, which is
available at [docs.pangolin.net](https://docs.pangolin.net). This README provides only a very brief subset of
the docs to illustrate some basic ideas.
- Manage sites, users, and roles with a clean and intuitive UI.
- Monitor site usage and connectivity.
- Light and dark mode options.
- Mobile friendly.
### Sign up and try now
### Easy Deployment
- Docker Compose based setup for simplified deployment.
- Future-proof installation script for streamlined setup and feature additions.
- Run on any VPS.
- Use your preferred WireGuard client to connect, or use Newt, our custom user space client for the best experience.
### Modular Design
- Extend functionality with existing [Traefik](https://github.com/traefik/traefik) plugins, such as [Fail2Ban](https://plugins.traefik.io/plugins/628c9ebcffc0cd18356a979f/fail2-ban) or [CrowdSec](https://plugins.traefik.io/plugins/6335346ca4caa9ddeffda116/crowdsec-bouncer-traefik-plugin), which integrate seamlessly.
- Attach as many sites to the central server as you wish.
## Screenshots
Pangolin has a straightforward and simple dashboard UI:
<div align="center">
<table>
<tr>
<td align="center"><img src="public/screenshots/sites.png" alt="Sites Example" width="200"/></td>
<td align="center"><img src="public/screenshots/users.png" alt="Users Example" width="200"/></td>
<td align="center"><img src="public/screenshots/share-link.png" alt="Share Link Example" width="200"/></td>
</tr>
<tr>
<td align="center"><b>Sites</b></td>
<td align="center"><b>Users</b></td>
<td align="center"><b>Share Link</b></td>
</tr>
<tr>
<td align="center"><img src="public/screenshots/auth.png" alt="Authentication Example" width="200"/></td>
<td align="center"><img src="public/screenshots/connectivity.png" alt="Connectivity Example" width="200"/></td>
<td align="center"></td>
</tr>
<tr>
<td align="center"><b>Authentication</b></td>
<td align="center"><b>Connectivity</b></td>
<td align="center"><b></b></td>
</tr>
</table>
</div>
## Workflow Example
### Deployment and Usage Example
1. **Deploy the Central Server**:
- Deploy the Docker Compose stack containing Pangolin, Gerbil, and Traefik onto a VPS hosted on a cloud platform like Amazon EC2, DigitalOcean Droplet, or similar. There are many cheap VPS hosting options available to suit your needs.
2. **Domain Configuration**:
- Point your domain name to the VPS and configure Pangolin with your preferred settings.
3. **Connect Private Sites**:
- Install Newt or use another WireGuard client on private sites.
- Automatically establish a connection from these sites to the central server.
4. **Configure Users & Roles**
- Define organizations and invite users.
- Implement user- or role-based permissions to control resource access.
**Use Case Example - Bypassing Port Restrictions in Home Lab**:
Imagine private sites where the ISP restricts port forwarding. By connecting these sites to Pangolin via WireGuard, you can securely expose HTTP and HTTPS resources on the private network without any networking complexity.
**Use Case Example - IoT Networks**:
IoT networks are often fragmented and difficult to manage. By deploying Pangolin on a central server, you can connect all your IoT sites via Newt or another WireGuard client. This creates a simple, secure, and centralized way to access IoT resources without the need for intricate networking setups.
## Similar Projects and Inspirations
Pangolin was inspired by several existing projects and concepts:
- **Cloudflare Tunnels**:
A similar approach to proxying private resources securely, but Pangolin is a self-hosted alternative, giving you full control over your infrastructure.
- **Authentik and Authelia**:
These projects inspired Pangolins centralized authentication system for proxies, enabling robust user and role management.
For Pangolin's managed service, you will first need to create an account at
[app.pangolin.net](https://app.pangolin.net). We have a generous free tier to get started.
## Licensing
Pangolin is dual licensed under the AGPLv3 and the Fossorial Commercial license. For inquiries about commercial licensing, please contact us.
Pangolin is dual licensed under the AGPL-3 and the [Fossorial Commercial License](https://pangolin.net/fcl.html). For inquiries about commercial licensing, please contact us at [contact@pangolin.net](mailto:contact@pangolin.net).
## Contributions
Please see [CONTRIBUTING](./CONTRIBUTING.md) in the repository for guidelines and best practices.
Please post bug reports and other functional issues in the [Issues](https://github.com/fosrl/pangolin/issues) section of the repository.
For all feature requests, or other ideas, please use the [Discussions](https://github.com/orgs/fosrl/discussions) section.
---
WireGuard® is a registered trademark of Jason A. Donenfeld.

View File

@@ -3,7 +3,7 @@
If you discover a security vulnerability, please follow the steps below to responsibly disclose it to us:
1. **Do not create a public GitHub issue or discussion post.** This could put the security of other users at risk.
2. Send a detailed report to [security@fossorial.io](mailto:security@fossorial.io) or send a **private** message to a maintainer on [Discord](https://discord.gg/HCJR8Xhme4). Include:
2. Send a detailed report to [security@pangolin.net](mailto:security@pangolin.net) or send a **private** message to a maintainer on [Discord](https://discord.gg/HCJR8Xhme4). Include:
- Description and location of the vulnerability.
- Potential impact of the vulnerability.

72
blueprint.py Normal file
View File

@@ -0,0 +1,72 @@
import requests
import yaml
import json
import base64
# The file path for the YAML file to be read
# You can change this to the path of your YAML file
YAML_FILE_PATH = 'blueprint.yaml'
# The API endpoint and headers from the curl request
API_URL = 'http://api.pangolin.net/v1/org/test/blueprint'
HEADERS = {
'accept': '*/*',
'Authorization': 'Bearer <your_token_here>',
'Content-Type': 'application/json'
}
def convert_and_send(file_path, url, headers):
"""
Reads a YAML file, converts its content to a JSON payload,
and sends it via a PUT request to a specified URL.
"""
try:
# Read the YAML file content
with open(file_path, 'r') as file:
yaml_content = file.read()
# Parse the YAML string to a Python dictionary
# This will be used to ensure the YAML is valid before sending
parsed_yaml = yaml.safe_load(yaml_content)
# convert the parsed YAML to a JSON string
json_payload = json.dumps(parsed_yaml)
print("Converted JSON payload:")
print(json_payload)
# Encode the JSON string to Base64
encoded_json = base64.b64encode(json_payload.encode('utf-8')).decode('utf-8')
# Create the final payload with the base64 encoded data
final_payload = {
"blueprint": encoded_json
}
print("Sending the following Base64 encoded JSON payload:")
print(final_payload)
print("-" * 20)
# Make the PUT request with the base64 encoded payload
response = requests.put(url, headers=headers, json=final_payload)
# Print the API response for debugging
print(f"API Response Status Code: {response.status_code}")
print("API Response Content:")
print(response.text)
# Raise an exception for bad status codes (4xx or 5xx)
response.raise_for_status()
except FileNotFoundError:
print(f"Error: The file '{file_path}' was not found.")
except yaml.YAMLError as e:
print(f"Error parsing YAML file: {e}")
except requests.exceptions.RequestException as e:
print(f"An error occurred during the API request: {e}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
# Run the function
if __name__ == "__main__":
convert_and_send(YAML_FILE_PATH, API_URL, HEADERS)

69
blueprint.yaml Normal file
View File

@@ -0,0 +1,69 @@
client-resources:
client-resource-nice-id-uno:
name: this is my resource
protocol: tcp
proxy-port: 3001
hostname: localhost
internal-port: 3000
site: lively-yosemite-toad
client-resource-nice-id-duce:
name: this is my resource
protocol: udp
proxy-port: 3000
hostname: localhost
internal-port: 3000
site: lively-yosemite-toad
proxy-resources:
resource-nice-id-uno:
name: this is my resource
protocol: http
full-domain: duce.test.example.com
host-header: example.com
tls-server-name: example.com
# auth:
# pincode: 123456
# password: sadfasdfadsf
# sso-enabled: true
# sso-roles:
# - Member
# sso-users:
# - owen@pangolin.net
# whitelist-users:
# - owen@pangolin.net
headers:
- name: X-Example-Header
value: example-value
- name: X-Another-Header
value: another-value
rules:
- action: allow
match: ip
value: 1.1.1.1
- action: deny
match: cidr
value: 2.2.2.2/32
- action: pass
match: path
value: /admin
targets:
- site: lively-yosemite-toad
path: /path
pathMatchType: prefix
hostname: localhost
method: http
port: 8000
- site: slim-alpine-chipmunk
hostname: localhost
path: /yoman
pathMatchType: exact
method: http
port: 8001
resource-nice-id-duce:
name: this is other resource
protocol: tcp
proxy-port: 3000
targets:
- site: lively-yosemite-toad
hostname: localhost
port: 3000

View File

@@ -0,0 +1,17 @@
meta {
name: Create API Key
type: http
seq: 1
}
put {
url: http://localhost:3000/api/v1/api-key
body: json
auth: inherit
}
body:json {
{
"isRoot": true
}
}

View File

@@ -0,0 +1,11 @@
meta {
name: Delete API Key
type: http
seq: 2
}
delete {
url: http://localhost:3000/api/v1/api-key/dm47aacqxxn3ubj
body: none
auth: inherit
}

View File

@@ -0,0 +1,11 @@
meta {
name: List API Key Actions
type: http
seq: 6
}
get {
url: http://localhost:3000/api/v1/api-key/ex0izu2c37fjz9x/actions
body: none
auth: inherit
}

View File

@@ -0,0 +1,11 @@
meta {
name: List Org API Keys
type: http
seq: 4
}
get {
url: http://localhost:3000/api/v1/org/home-lab/api-keys
body: none
auth: inherit
}

View File

@@ -0,0 +1,11 @@
meta {
name: List Root API Keys
type: http
seq: 3
}
get {
url: http://localhost:3000/api/v1/root/api-keys
body: none
auth: inherit
}

View File

@@ -0,0 +1,17 @@
meta {
name: Set API Key Actions
type: http
seq: 5
}
post {
url: http://localhost:3000/api/v1/api-key/ex0izu2c37fjz9x/actions
body: json
auth: inherit
}
body:json {
{
"actionIds": ["listSites"]
}
}

View File

@@ -0,0 +1,17 @@
meta {
name: Set API Key Orgs
type: http
seq: 7
}
post {
url: http://localhost:3000/api/v1/api-key/ex0izu2c37fjz9x/orgs
body: json
auth: inherit
}
body:json {
{
"orgIds": ["home-lab"]
}
}

View File

@@ -0,0 +1,3 @@
meta {
name: API Keys
}

View File

@@ -5,14 +5,14 @@ meta {
}
post {
url: http://localhost:3000/api/v1/auth/login
url: http://localhost:4000/api/v1/auth/login
body: json
auth: none
}
body:json {
{
"email": "owen@fossorial.io",
"email": "owen@pangolin.net",
"password": "Password123!"
}
}

View File

@@ -5,7 +5,7 @@ meta {
}
post {
url: http://localhost:3000/api/v1/auth/logout
url: http://localhost:4000/api/v1/auth/logout
body: none
auth: none
}

View File

@@ -12,6 +12,6 @@ post {
body:json {
{
"email": "milo@fossorial.io"
"email": "milo@pangolin.net"
}
}

View File

@@ -12,7 +12,7 @@ put {
body:json {
{
"email": "numbat@fossorial.io",
"email": "numbat@pangolin.net",
"password": "Password123!"
}
}

View File

@@ -0,0 +1,22 @@
meta {
name: createClient
type: http
seq: 1
}
put {
url: http://localhost:3000/api/v1/site/1/client
body: json
auth: none
}
body:json {
{
"siteId": 1,
"name": "test",
"type": "olm",
"subnet": "100.90.129.4/30",
"olmId": "029yzunhx6nh3y5",
"secret": "l0ymp075y3d4rccb25l6sqpgar52k09etunui970qq5gj7x6"
}
}

View File

@@ -0,0 +1,11 @@
meta {
name: pickClientDefaults
type: http
seq: 2
}
get {
url: http://localhost:3000/api/v1/site/1/pick-client-defaults
body: none
auth: none
}

View File

@@ -0,0 +1,22 @@
meta {
name: Create OIDC Provider
type: http
seq: 1
}
put {
url: http://localhost:3000/api/v1/org/home-lab/idp/oidc
body: json
auth: inherit
}
body:json {
{
"clientId": "JJoSvHCZcxnXT2sn6CObj6a21MuKNRXs3kN5wbys",
"clientSecret": "2SlGL2wOGgMEWLI9yUuMAeFxre7qSNJVnXMzyepdNzH1qlxYnC4lKhhQ6a157YQEkYH3vm40KK4RCqbYiF8QIweuPGagPX3oGxEj2exwutoXFfOhtq4hHybQKoFq01Z3",
"authUrl": "http://localhost:9000/application/o/authorize/",
"tokenUrl": "http://localhost:9000/application/o/token/",
"scopes": ["email", "openid", "profile"],
"userIdentifier": "email"
}
}

View File

@@ -0,0 +1,11 @@
meta {
name: Generate OIDC URL
type: http
seq: 2
}
get {
url: http://localhost:3000/api/v1
body: none
auth: inherit
}

3
bruno/IDP/folder.bru Normal file
View File

@@ -0,0 +1,3 @@
meta {
name: IDP
}

View File

@@ -0,0 +1,11 @@
meta {
name: Traefik Config
type: http
seq: 1
}
get {
url: http://localhost:3001/api/v1/traefik-config
body: none
auth: inherit
}

View File

@@ -0,0 +1,3 @@
meta {
name: Internal
}

View File

@@ -0,0 +1,11 @@
meta {
name: createRemoteExitNode
type: http
seq: 1
}
put {
url: http://localhost:4000/api/v1/org/org_i21aifypnlyxur2/remote-exit-node
body: none
auth: none
}

11
bruno/Test.bru Normal file
View File

@@ -0,0 +1,11 @@
meta {
name: Test
type: http
seq: 2
}
get {
url: http://localhost:3000/api/v1
body: none
auth: inherit
}

View File

@@ -0,0 +1,11 @@
meta {
name: adminListUsers
type: http
seq: 2
}
get {
url: http://localhost:3000/api/v1/users
body: none
auth: none
}

View File

@@ -0,0 +1,11 @@
meta {
name: adminRemoveUser
type: http
seq: 3
}
delete {
url: http://localhost:3000/api/v1/user/ky5r7ivqs8wc7u4
body: none
auth: none
}

View File

@@ -1,6 +1,6 @@
{
"version": "1",
"name": "Pangolin",
"name": "Pangolin Saas",
"type": "collection",
"ignore": [
"node_modules",

View File

@@ -0,0 +1,72 @@
import { CommandModule } from "yargs";
import { db, users, securityKeys } from "@server/db";
import { eq } from "drizzle-orm";
type ResetUserSecurityKeysArgs = {
email: string;
};
export const resetUserSecurityKeys: CommandModule<
{},
ResetUserSecurityKeysArgs
> = {
command: "reset-user-security-keys",
describe:
"Reset a user's security keys (passkeys) by deleting all their webauthn credentials",
builder: (yargs) => {
return yargs.option("email", {
type: "string",
demandOption: true,
describe: "User email address"
});
},
handler: async (argv: { email: string }) => {
try {
const { email } = argv;
console.log(`Looking for user with email: ${email}`);
// Find the user by email
const [user] = await db
.select()
.from(users)
.where(eq(users.email, email))
.limit(1);
if (!user) {
console.error(`User with email '${email}' not found`);
process.exit(1);
}
console.log(`Found user: ${user.email} (ID: ${user.userId})`);
// Check if user has any security keys
const userSecurityKeys = await db
.select()
.from(securityKeys)
.where(eq(securityKeys.userId, user.userId));
if (userSecurityKeys.length === 0) {
console.log(`User '${email}' has no security keys to reset`);
process.exit(0);
}
console.log(
`Found ${userSecurityKeys.length} security key(s) for user '${email}'`
);
// Delete all security keys for the user
await db
.delete(securityKeys)
.where(eq(securityKeys.userId, user.userId));
console.log(`Successfully reset security keys for user '${email}'`);
console.log(`Deleted ${userSecurityKeys.length} security key(s)`);
process.exit(0);
} catch (error) {
console.error("Error:", error);
process.exit(1);
}
}
};

View File

@@ -0,0 +1,144 @@
import { CommandModule } from "yargs";
import { hashPassword, verifyPassword } from "@server/auth/password";
import { db, resourceSessions, sessions } from "@server/db";
import { users } from "@server/db";
import { eq, inArray } from "drizzle-orm";
import moment from "moment";
import { fromError } from "zod-validation-error";
import { passwordSchema } from "@server/auth/passwordSchema";
import { UserType } from "@server/types/UserTypes";
import { generateRandomString, RandomReader } from "@oslojs/crypto/random";
type SetAdminCredentialsArgs = {
email: string;
password: string;
};
export const setAdminCredentials: CommandModule<{}, SetAdminCredentialsArgs> = {
command: "set-admin-credentials",
describe: "Set the server admin credentials",
builder: (yargs) => {
return yargs
.option("email", {
type: "string",
demandOption: true,
describe: "Admin email address"
})
.option("password", {
type: "string",
demandOption: true,
describe: "Admin password"
});
},
handler: async (argv: { email: string; password: string }) => {
try {
const { password } = argv;
let { email } = argv;
email = email.trim().toLowerCase();
const parsed = passwordSchema.safeParse(password);
if (!parsed.success) {
throw Error(
`Invalid server admin password: ${fromError(parsed.error).toString()}`
);
}
const passwordHash = await hashPassword(password);
await db.transaction(async (trx) => {
try {
const [existing] = await trx
.select()
.from(users)
.where(eq(users.serverAdmin, true));
if (existing) {
const passwordChanged = !(await verifyPassword(
password,
existing.passwordHash!
));
if (passwordChanged) {
await trx
.update(users)
.set({ passwordHash })
.where(eq(users.userId, existing.userId));
await invalidateAllSessions(existing.userId);
console.log("Server admin password updated");
}
if (existing.email !== email) {
await trx
.update(users)
.set({ email, username: email })
.where(eq(users.userId, existing.userId));
console.log("Server admin email updated");
}
} else {
const userId = generateId(15);
await trx.update(users).set({ serverAdmin: false });
await db.insert(users).values({
userId: userId,
email: email,
type: UserType.Internal,
username: email,
passwordHash,
dateCreated: moment().toISOString(),
serverAdmin: true,
emailVerified: true,
lastPasswordChange: new Date().getTime()
});
console.log("Server admin created");
}
} catch (e) {
console.error("Failed to set admin credentials", e);
trx.rollback();
throw e;
}
});
console.log("Admin credentials updated successfully");
process.exit(0);
} catch (error) {
console.error("Error:", error);
process.exit(1);
}
}
};
export async function invalidateAllSessions(userId: string): Promise<void> {
try {
await db.transaction(async (trx) => {
const userSessions = await trx
.select()
.from(sessions)
.where(eq(sessions.userId, userId));
await trx.delete(resourceSessions).where(
inArray(
resourceSessions.userSessionId,
userSessions.map((s) => s.sessionId)
)
);
await trx.delete(sessions).where(eq(sessions.userId, userId));
});
} catch (e) {
console.log("Failed to all invalidate user sessions", e);
}
}
const random: RandomReader = {
read(bytes: Uint8Array): void {
crypto.getRandomValues(bytes);
}
};
export function generateId(length: number): string {
const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789";
return generateRandomString(random, alphabet, length);
}

13
cli/index.ts Normal file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env node
import yargs from "yargs";
import { hideBin } from "yargs/helpers";
import { setAdminCredentials } from "@cli/commands/setAdminCredentials";
import { resetUserSecurityKeys } from "@cli/commands/resetUserSecurityKeys";
yargs(hideBin(process.argv))
.scriptName("pangctl")
.command(setAdminCredentials)
.command(resetUserSecurityKeys)
.demandCommand()
.help().argv;

3
cli/wrapper.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
cd /app/
./dist/cli.mjs "$@"

View File

@@ -1,41 +1,28 @@
# To see all available options, please visit the docs:
# https://docs.pangolin.net/self-host/advanced/config-file
app:
dashboard_url: http://localhost
base_domain: localhost
log_level: debug
save_logs: false
dashboard_url: http://localhost:3002
log_level: debug
domains:
domain1:
base_domain: example.com
server:
external_port: 3000
internal_port: 3001
next_port: 3002
internal_hostname: localhost
secure_cookies: false
session_cookie_name: p_session
resource_session_cookie_name: p_resource_session
resource_access_token_param: p_token
traefik:
cert_resolver: letsencrypt
http_entrypoint: web
https_entrypoint: websecure
secret: my_secret_key
gerbil:
start_port: 51820
base_endpoint: localhost
block_size: 24
site_block_size: 30
subnet_group: 100.89.137.0/20
use_subdomain: true
base_endpoint: example.com
rate_limits:
global:
window_minutes: 1
max_requests: 100
users:
server_admin:
email: admin@example.com
password: Password123!
orgs:
block_size: 24
subnet_group: 100.90.137.0/20
flags:
require_email_verification: false
require_email_verification: false
disable_signup_without_invite: true
disable_user_create_org: true
allow_raw_resources: true
enable_integration_api: true
enable_clients: true

View File

@@ -0,0 +1,46 @@
http:
middlewares:
redirect-to-https:
redirectScheme:
scheme: https
routers:
# HTTP to HTTPS redirect router
main-app-router-redirect:
rule: "Host(`{{.DashboardDomain}}`)"
service: next-service
entryPoints:
- web
middlewares:
- redirect-to-https
# Next.js router (handles everything except API and WebSocket paths)
next-router:
rule: "Host(`{{.DashboardDomain}}`)"
service: next-service
priority: 10
entryPoints:
- websecure
tls:
certResolver: letsencrypt
# API router (handles /api/v1 paths)
api-router:
rule: "Host(`{{.DashboardDomain}}`) && PathPrefix(`/api/v1`)"
service: api-service
priority: 100
entryPoints:
- websecure
tls:
certResolver: letsencrypt
services:
next-service:
loadBalancer:
servers:
- url: "http://pangolin:3002" # Next.js server
api-service:
loadBalancer:
servers:
- url: "http://pangolin:3000" # API/WebSocket server

View File

@@ -0,0 +1,34 @@
api:
insecure: true
dashboard: true
providers:
file:
directory: "/var/dynamic"
watch: true
experimental:
plugins:
badger:
moduleName: "github.com/fosrl/badger"
version: "v1.2.0"
log:
level: "DEBUG"
format: "common"
maxSize: 100
maxBackups: 3
maxAge: 3
compress: true
entryPoints:
web:
address: ":80"
websecure:
address: ":9443"
transport:
respondingTimeouts:
readTimeout: "30m"
serversTransport:
insecureSkipVerify: true

3
crowdin.yml Normal file
View File

@@ -0,0 +1,3 @@
files:
- source: /messages/en-US.json
translation: /messages/%locale%.json

View File

@@ -0,0 +1,15 @@
services:
drizzle-gateway:
image: ghcr.io/drizzle-team/gateway:latest
ports:
- "4984:4983"
depends_on:
- db
environment:
- STORE_PATH=/app
- DATABASE_URL=postgresql://postgres:password@db:5432/postgres
volumes:
- drizzle-gateway-data:/app
volumes:
drizzle-gateway-data:

View File

@@ -1,5 +1,4 @@
version: "3.7"
name: pangolin
services:
pangolin:
image: fosrl/pangolin:latest
@@ -11,7 +10,7 @@ services:
test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"]
interval: "3s"
timeout: "3s"
retries: 5
retries: 15
gerbil:
image: fosrl/gerbil:latest
@@ -21,10 +20,9 @@ services:
pangolin:
condition: service_healthy
command:
- --reachableAt=http://gerbil:3003
- --reachableAt=http://gerbil:3004
- --generateAndSaveKeyTo=/var/config/key
- --remoteConfig=http://pangolin:3001/api/v1/gerbil/get-config
- --reportBandwidthTo=http://pangolin:3001/api/v1/gerbil/receive-bandwidth
- --remoteConfig=http://pangolin:3001/api/v1/
volumes:
- ./config/:/var/config
cap_add:
@@ -32,12 +30,12 @@ services:
- SYS_MODULE
ports:
- 51820:51820/udp
- 8080:8080 # Port for traefik because of the network_mode
- 21820:21820/udp
- 443:443 # Port for traefik because of the network_mode
- 80:80 # Port for traefik because of the network_mode
traefik:
image: traefik:v3.1
image: traefik:v3.5
container_name: traefik
restart: unless-stopped
network_mode: service:gerbil # Ports appear on the gerbil service
@@ -47,5 +45,11 @@ services:
command:
- --configFile=/etc/traefik/traefik_config.yml
volumes:
- ./traefik:/etc/traefik:ro # Volume to store the Traefik configuration
- ./letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates
- ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration
- ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates
networks:
default:
driver: bridge
name: pangolin
enable_ipv6: true

21
docker-compose.pgr.yml Normal file
View File

@@ -0,0 +1,21 @@
services:
# PostgreSQL Service
db:
image: postgres:17 # Use the PostgreSQL 17 image
container_name: dev_postgres # Name your PostgreSQL container
environment:
POSTGRES_DB: postgres # Default database name
POSTGRES_USER: postgres # Default user
POSTGRES_PASSWORD: password # Default password (change for production!)
volumes:
- ./config/postgres:/var/lib/postgresql/data
ports:
- "5432:5432" # Map host port 5432 to container port 5432
restart: no
redis:
image: redis:latest # Use the latest Redis image
container_name: dev_redis # Name your Redis container
ports:
- "6379:6379" # Map host port 6379 to container port 6379
restart: no

29
docker-compose.yml Normal file
View File

@@ -0,0 +1,29 @@
services:
# Development application service
app:
build:
context: .
dockerfile: Dockerfile.dev
container_name: dev_pangolin
ports:
- "3000:3000"
- "3001:3001"
- "3002:3002"
- "3003:3003"
environment:
- NODE_ENV=development
- ENVIRONMENT=dev
volumes:
# Mount source code for hot reload
- ./src:/app/src
- ./server:/app/server
- ./public:/app/public
- ./messages:/app/messages
- ./components.json:/app/components.json
- ./next.config.mjs:/app/next.config.mjs
- ./tsconfig.json:/app/tsconfig.json
- ./tailwind.config.js:/app/tailwind.config.js
- ./postcss.config.mjs:/app/postcss.config.mjs
- ./eslint.config.js:/app/eslint.config.js
- ./config:/app/config
restart: no

16
drizzle.pg.config.ts Normal file
View File

@@ -0,0 +1,16 @@
import { defineConfig } from "drizzle-kit";
import path from "path";
const schema = [
path.join("server", "db", "pg", "schema"),
];
export default defineConfig({
dialect: "postgresql",
schema: schema,
out: path.join("server", "migrations"),
verbose: true,
dbCredentials: {
url: process.env.DATABASE_URL as string
}
});

View File

@@ -2,12 +2,16 @@ import { APP_PATH } from "@server/lib/consts";
import { defineConfig } from "drizzle-kit";
import path from "path";
const schema = [
path.join("server", "db", "sqlite", "schema"),
];
export default defineConfig({
dialect: "sqlite",
schema: path.join("server", "db", "schema.ts"),
schema: schema,
out: path.join("server", "migrations"),
verbose: true,
dbCredentials: {
url: path.join(APP_PATH, "db", "db.sqlite"),
},
url: path.join(APP_PATH, "db", "db.sqlite")
}
});

View File

@@ -2,8 +2,9 @@ import esbuild from "esbuild";
import yargs from "yargs";
import { hideBin } from "yargs/helpers";
import { nodeExternalsPlugin } from "esbuild-node-externals";
import path from "path";
import fs from "fs";
// import { glob } from "glob";
// import path from "path";
const banner = `
// patch __dirname
@@ -18,7 +19,7 @@ const require = topLevelCreateRequire(import.meta.url);
`;
const argv = yargs(hideBin(process.argv))
.usage("Usage: $0 -entry [string] -out [string]")
.usage("Usage: $0 -entry [string] -out [string] -build [string]")
.option("entry", {
alias: "e",
describe: "Entry point file",
@@ -31,6 +32,13 @@ const argv = yargs(hideBin(process.argv))
type: "string",
demandOption: true,
})
.option("build", {
alias: "b",
describe: "Build type (oss, saas, enterprise)",
type: "string",
choices: ["oss", "saas", "enterprise"],
default: "oss",
})
.help()
.alias("help", "h").argv;
@@ -46,26 +54,223 @@ function getPackagePaths() {
return ["package.json"];
}
// Plugin to guard against bad imports from #private
function privateImportGuardPlugin() {
return {
name: "private-import-guard",
setup(build) {
const violations = [];
build.onResolve({ filter: /^#private\// }, (args) => {
const importingFile = args.importer;
// Check if the importing file is NOT in server/private
const normalizedImporter = path.normalize(importingFile);
const isInServerPrivate = normalizedImporter.includes(path.normalize("server/private"));
if (!isInServerPrivate) {
const violation = {
file: importingFile,
importPath: args.path,
resolveDir: args.resolveDir
};
violations.push(violation);
console.log(`PRIVATE IMPORT VIOLATION:`);
console.log(` File: ${importingFile}`);
console.log(` Import: ${args.path}`);
console.log(` Resolve dir: ${args.resolveDir || 'N/A'}`);
console.log('');
}
// Return null to let the default resolver handle it
return null;
});
build.onEnd((result) => {
if (violations.length > 0) {
console.log(`\nSUMMARY: Found ${violations.length} private import violation(s):`);
violations.forEach((v, i) => {
console.log(` ${i + 1}. ${path.relative(process.cwd(), v.file)} imports ${v.importPath}`);
});
console.log('');
result.errors.push({
text: `Private import violations detected: ${violations.length} violation(s) found`,
location: null,
notes: violations.map(v => ({
text: `${path.relative(process.cwd(), v.file)} imports ${v.importPath}`,
location: null
}))
});
}
});
}
};
}
// Plugin to guard against bad imports from #private
function dynamicImportGuardPlugin() {
return {
name: "dynamic-import-guard",
setup(build) {
const violations = [];
build.onResolve({ filter: /^#dynamic\// }, (args) => {
const importingFile = args.importer;
// Check if the importing file is NOT in server/private
const normalizedImporter = path.normalize(importingFile);
const isInServerPrivate = normalizedImporter.includes(path.normalize("server/private"));
if (isInServerPrivate) {
const violation = {
file: importingFile,
importPath: args.path,
resolveDir: args.resolveDir
};
violations.push(violation);
console.log(`DYNAMIC IMPORT VIOLATION:`);
console.log(` File: ${importingFile}`);
console.log(` Import: ${args.path}`);
console.log(` Resolve dir: ${args.resolveDir || 'N/A'}`);
console.log('');
}
// Return null to let the default resolver handle it
return null;
});
build.onEnd((result) => {
if (violations.length > 0) {
console.log(`\nSUMMARY: Found ${violations.length} dynamic import violation(s):`);
violations.forEach((v, i) => {
console.log(` ${i + 1}. ${path.relative(process.cwd(), v.file)} imports ${v.importPath}`);
});
console.log('');
result.errors.push({
text: `Dynamic import violations detected: ${violations.length} violation(s) found`,
location: null,
notes: violations.map(v => ({
text: `${path.relative(process.cwd(), v.file)} imports ${v.importPath}`,
location: null
}))
});
}
});
}
};
}
// Plugin to dynamically switch imports based on build type
function dynamicImportSwitcherPlugin(buildValue) {
return {
name: "dynamic-import-switcher",
setup(build) {
const switches = [];
build.onStart(() => {
console.log(`Dynamic import switcher using build type: ${buildValue}`);
});
build.onResolve({ filter: /^#dynamic\// }, (args) => {
// Extract the path after #dynamic/
const dynamicPath = args.path.replace(/^#dynamic\//, '');
// Determine the replacement based on build type
let replacement;
if (buildValue === "oss") {
replacement = `#open/${dynamicPath}`;
} else if (buildValue === "saas" || buildValue === "enterprise") {
replacement = `#closed/${dynamicPath}`; // We use #closed here so that the route guards dont complain after its been changed but this is the same as #private
} else {
console.warn(`Unknown build type '${buildValue}', defaulting to #open/`);
replacement = `#open/${dynamicPath}`;
}
const switchInfo = {
file: args.importer,
originalPath: args.path,
replacementPath: replacement,
buildType: buildValue
};
switches.push(switchInfo);
console.log(`DYNAMIC IMPORT SWITCH:`);
console.log(` File: ${args.importer}`);
console.log(` Original: ${args.path}`);
console.log(` Switched to: ${replacement} (build: ${buildValue})`);
console.log('');
// Rewrite the import path and let the normal resolution continue
return build.resolve(replacement, {
importer: args.importer,
namespace: args.namespace,
resolveDir: args.resolveDir,
kind: args.kind
});
});
build.onEnd((result) => {
if (switches.length > 0) {
console.log(`\nDYNAMIC IMPORT SUMMARY: Switched ${switches.length} import(s) for build type '${buildValue}':`);
switches.forEach((s, i) => {
console.log(` ${i + 1}. ${path.relative(process.cwd(), s.file)}`);
console.log(` ${s.originalPath}${s.replacementPath}`);
});
console.log('');
}
});
}
};
}
esbuild
.build({
entryPoints: [argv.entry],
bundle: true,
outfile: argv.out,
format: "esm",
minify: false,
banner: {
js: banner,
},
platform: "node",
external: ["body-parser"],
plugins: [
privateImportGuardPlugin(),
dynamicImportGuardPlugin(),
dynamicImportSwitcherPlugin(argv.build),
nodeExternalsPlugin({
packagePath: getPackagePaths(),
}),
],
sourcemap: true,
target: "node20",
sourcemap: "inline",
target: "node22",
})
.then(() => {
.then((result) => {
// Check if there were any errors in the build result
if (result.errors && result.errors.length > 0) {
console.error(`Build failed with ${result.errors.length} error(s):`);
result.errors.forEach((error, i) => {
console.error(`${i + 1}. ${error.text}`);
if (error.notes) {
error.notes.forEach(note => {
console.error(` - ${note.text}`);
});
}
});
// remove the output file if it was created
if (fs.existsSync(argv.out)) {
fs.unlinkSync(argv.out);
}
process.exit(1);
}
console.log("Build completed successfully");
})
.catch((error) => {

19
eslint.config.js Normal file
View File

@@ -0,0 +1,19 @@
import tseslint from 'typescript-eslint';
export default tseslint.config({
files: ["**/*.{ts,tsx,js,jsx}"],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
ecmaFeatures: {
jsx: true
}
}
},
rules: {
"semi": "error",
"prefer-const": "warn"
}
});

View File

@@ -1,14 +1,41 @@
all: update-versions go-build-release put-back
dev-all: dev-update-versions dev-build dev-clean
all: build
build:
CGO_ENABLED=0 go build -o bin/installer
release:
go-build-release:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/installer_linux_amd64
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/installer_linux_arm64
clean:
rm bin/installer
rm bin/installer_linux_amd64
rm bin/installer_linux_arm64
rm -f bin/installer_linux_amd64
rm -f bin/installer_linux_arm64
update-versions:
@echo "Fetching latest versions..."
cp main.go main.go.bak && \
$(MAKE) dev-update-versions
put-back:
mv main.go.bak main.go
dev-update-versions:
if [ -z "$(tag)" ]; then \
PANGOLIN_VERSION=$$(curl -s https://api.github.com/repos/fosrl/pangolin/tags | jq -r '.[0].name'); \
else \
PANGOLIN_VERSION=$(tag); \
fi && \
GERBIL_VERSION=$$(curl -s https://api.github.com/repos/fosrl/gerbil/tags | jq -r '.[0].name') && \
BADGER_VERSION=$$(curl -s https://api.github.com/repos/fosrl/badger/tags | jq -r '.[0].name') && \
echo "Latest versions - Pangolin: $$PANGOLIN_VERSION, Gerbil: $$GERBIL_VERSION, Badger: $$BADGER_VERSION" && \
sed -i "s/config.PangolinVersion = \".*\"/config.PangolinVersion = \"$$PANGOLIN_VERSION\"/" main.go && \
sed -i "s/config.GerbilVersion = \".*\"/config.GerbilVersion = \"$$GERBIL_VERSION\"/" main.go && \
sed -i "s/config.BadgerVersion = \".*\"/config.BadgerVersion = \"$$BADGER_VERSION\"/" main.go && \
echo "Updated main.go with latest versions"
dev-build: go-build-release
dev-clean:
@echo "Restoring version values ..."
sed -i "s/config.PangolinVersion = \".*\"/config.PangolinVersion = \"replaceme\"/" main.go && \
sed -i "s/config.GerbilVersion = \".*\"/config.GerbilVersion = \"replaceme\"/" main.go && \
sed -i "s/config.BadgerVersion = \".*\"/config.BadgerVersion = \"replaceme\"/" main.go
@echo "Restored version strings in main.go"

351
install/config.go Normal file
View File

@@ -0,0 +1,351 @@
package main
import (
"bytes"
"fmt"
"os"
"os/exec"
"strings"
"gopkg.in/yaml.v3"
)
// TraefikConfig represents the structure of the main Traefik configuration
type TraefikConfig struct {
Experimental struct {
Plugins struct {
Badger struct {
Version string `yaml:"version"`
} `yaml:"badger"`
} `yaml:"plugins"`
} `yaml:"experimental"`
CertificatesResolvers struct {
LetsEncrypt struct {
Acme struct {
Email string `yaml:"email"`
} `yaml:"acme"`
} `yaml:"letsencrypt"`
} `yaml:"certificatesResolvers"`
}
// DynamicConfig represents the structure of the dynamic configuration
type DynamicConfig struct {
HTTP struct {
Routers map[string]struct {
Rule string `yaml:"rule"`
} `yaml:"routers"`
} `yaml:"http"`
}
// TraefikConfigValues holds the extracted configuration values
type TraefikConfigValues struct {
DashboardDomain string
LetsEncryptEmail string
BadgerVersion string
}
// AppConfig represents the app section of the config.yml
type AppConfig struct {
App struct {
DashboardURL string `yaml:"dashboard_url"`
LogLevel string `yaml:"log_level"`
} `yaml:"app"`
}
type AppConfigValues struct {
DashboardURL string
LogLevel string
}
// ReadTraefikConfig reads and extracts values from Traefik configuration files
func ReadTraefikConfig(mainConfigPath string) (*TraefikConfigValues, error) {
// Read main config file
mainConfigData, err := os.ReadFile(mainConfigPath)
if err != nil {
return nil, fmt.Errorf("error reading main config file: %w", err)
}
var mainConfig TraefikConfig
if err := yaml.Unmarshal(mainConfigData, &mainConfig); err != nil {
return nil, fmt.Errorf("error parsing main config file: %w", err)
}
// Extract values
values := &TraefikConfigValues{
BadgerVersion: mainConfig.Experimental.Plugins.Badger.Version,
LetsEncryptEmail: mainConfig.CertificatesResolvers.LetsEncrypt.Acme.Email,
}
return values, nil
}
func ReadAppConfig(configPath string) (*AppConfigValues, error) {
// Read config file
configData, err := os.ReadFile(configPath)
if err != nil {
return nil, fmt.Errorf("error reading config file: %w", err)
}
var appConfig AppConfig
if err := yaml.Unmarshal(configData, &appConfig); err != nil {
return nil, fmt.Errorf("error parsing config file: %w", err)
}
values := &AppConfigValues{
DashboardURL: appConfig.App.DashboardURL,
LogLevel: appConfig.App.LogLevel,
}
return values, nil
}
// findPattern finds the start of a pattern in a string
func findPattern(s, pattern string) int {
return bytes.Index([]byte(s), []byte(pattern))
}
func copyDockerService(sourceFile, destFile, serviceName string) error {
// Read source file
sourceData, err := os.ReadFile(sourceFile)
if err != nil {
return fmt.Errorf("error reading source file: %w", err)
}
// Read destination file
destData, err := os.ReadFile(destFile)
if err != nil {
return fmt.Errorf("error reading destination file: %w", err)
}
// Parse source Docker Compose YAML
var sourceCompose map[string]interface{}
if err := yaml.Unmarshal(sourceData, &sourceCompose); err != nil {
return fmt.Errorf("error parsing source Docker Compose file: %w", err)
}
// Parse destination Docker Compose YAML
var destCompose map[string]interface{}
if err := yaml.Unmarshal(destData, &destCompose); err != nil {
return fmt.Errorf("error parsing destination Docker Compose file: %w", err)
}
// Get services section from source
sourceServices, ok := sourceCompose["services"].(map[string]interface{})
if !ok {
return fmt.Errorf("services section not found in source file or has invalid format")
}
// Get the specific service configuration
serviceConfig, ok := sourceServices[serviceName]
if !ok {
return fmt.Errorf("service '%s' not found in source file", serviceName)
}
// Get or create services section in destination
destServices, ok := destCompose["services"].(map[string]interface{})
if !ok {
// If services section doesn't exist, create it
destServices = make(map[string]interface{})
destCompose["services"] = destServices
}
// Update service in destination
destServices[serviceName] = serviceConfig
// Marshal updated destination YAML
// Use yaml.v3 encoder to preserve formatting and comments
// updatedData, err := yaml.Marshal(destCompose)
updatedData, err := MarshalYAMLWithIndent(destCompose, 2)
if err != nil {
return fmt.Errorf("error marshaling updated Docker Compose file: %w", err)
}
// Write updated YAML back to destination file
if err := os.WriteFile(destFile, updatedData, 0644); err != nil {
return fmt.Errorf("error writing to destination file: %w", err)
}
return nil
}
func backupConfig() error {
// Backup docker-compose.yml
if _, err := os.Stat("docker-compose.yml"); err == nil {
if err := copyFile("docker-compose.yml", "docker-compose.yml.backup"); err != nil {
return fmt.Errorf("failed to backup docker-compose.yml: %v", err)
}
}
// Backup config directory
if _, err := os.Stat("config"); err == nil {
cmd := exec.Command("tar", "-czvf", "config.tar.gz", "config")
if err := cmd.Run(); err != nil {
return fmt.Errorf("failed to backup config directory: %v", err)
}
}
return nil
}
func MarshalYAMLWithIndent(data interface{}, indent int) ([]byte, error) {
buffer := new(bytes.Buffer)
encoder := yaml.NewEncoder(buffer)
encoder.SetIndent(indent)
err := encoder.Encode(data)
if err != nil {
return nil, err
}
defer encoder.Close()
return buffer.Bytes(), nil
}
func replaceInFile(filepath, oldStr, newStr string) error {
// Read the file content
content, err := os.ReadFile(filepath)
if err != nil {
return fmt.Errorf("error reading file: %v", err)
}
// Replace the string
newContent := strings.Replace(string(content), oldStr, newStr, -1)
// Write the modified content back to the file
err = os.WriteFile(filepath, []byte(newContent), 0644)
if err != nil {
return fmt.Errorf("error writing file: %v", err)
}
return nil
}
func CheckAndAddTraefikLogVolume(composePath string) error {
// Read the docker-compose.yml file
data, err := os.ReadFile(composePath)
if err != nil {
return fmt.Errorf("error reading compose file: %w", err)
}
// Parse YAML into a generic map
var compose map[string]interface{}
if err := yaml.Unmarshal(data, &compose); err != nil {
return fmt.Errorf("error parsing compose file: %w", err)
}
// Get services section
services, ok := compose["services"].(map[string]interface{})
if !ok {
return fmt.Errorf("services section not found or invalid")
}
// Get traefik service
traefik, ok := services["traefik"].(map[string]interface{})
if !ok {
return fmt.Errorf("traefik service not found or invalid")
}
// Check volumes
logVolume := "./config/traefik/logs:/var/log/traefik"
var volumes []interface{}
if existingVolumes, ok := traefik["volumes"].([]interface{}); ok {
// Check if volume already exists
for _, v := range existingVolumes {
if v.(string) == logVolume {
fmt.Println("Traefik log volume is already configured")
return nil
}
}
volumes = existingVolumes
}
// Add new volume
volumes = append(volumes, logVolume)
traefik["volumes"] = volumes
// Write updated config back to file
newData, err := MarshalYAMLWithIndent(compose, 2)
if err != nil {
return fmt.Errorf("error marshaling updated compose file: %w", err)
}
if err := os.WriteFile(composePath, newData, 0644); err != nil {
return fmt.Errorf("error writing updated compose file: %w", err)
}
fmt.Println("Added traefik log volume and created logs directory")
return nil
}
// MergeYAML merges two YAML files, where the contents of the second file
// are merged into the first file. In case of conflicts, values from the
// second file take precedence.
func MergeYAML(baseFile, overlayFile string) error {
// Read the base YAML file
baseContent, err := os.ReadFile(baseFile)
if err != nil {
return fmt.Errorf("error reading base file: %v", err)
}
// Read the overlay YAML file
overlayContent, err := os.ReadFile(overlayFile)
if err != nil {
return fmt.Errorf("error reading overlay file: %v", err)
}
// Parse base YAML into a map
var baseMap map[string]interface{}
if err := yaml.Unmarshal(baseContent, &baseMap); err != nil {
return fmt.Errorf("error parsing base YAML: %v", err)
}
// Parse overlay YAML into a map
var overlayMap map[string]interface{}
if err := yaml.Unmarshal(overlayContent, &overlayMap); err != nil {
return fmt.Errorf("error parsing overlay YAML: %v", err)
}
// Merge the overlay into the base
merged := mergeMap(baseMap, overlayMap)
// Marshal the merged result back to YAML
mergedContent, err := MarshalYAMLWithIndent(merged, 2)
if err != nil {
return fmt.Errorf("error marshaling merged YAML: %v", err)
}
// Write the merged content back to the base file
if err := os.WriteFile(baseFile, mergedContent, 0644); err != nil {
return fmt.Errorf("error writing merged YAML: %v", err)
}
return nil
}
// mergeMap recursively merges two maps
func mergeMap(base, overlay map[string]interface{}) map[string]interface{} {
result := make(map[string]interface{})
// Copy all key-values from base map
for k, v := range base {
result[k] = v
}
// Merge overlay values
for k, v := range overlay {
// If both maps have the same key and both values are maps, merge recursively
if baseVal, ok := base[k]; ok {
if baseMap, isBaseMap := baseVal.(map[string]interface{}); isBaseMap {
if overlayMap, isOverlayMap := v.(map[string]interface{}); isOverlayMap {
result[k] = mergeMap(baseMap, overlayMap)
continue
}
}
}
// Otherwise, overlay value takes precedence
result[k] = v
}
return result
}

38
install/config/config.yml Normal file
View File

@@ -0,0 +1,38 @@
# To see all available options, please visit the docs:
# https://docs.pangolin.net/
gerbil:
start_port: 51820
base_endpoint: "{{.DashboardDomain}}"
app:
dashboard_url: "https://{{.DashboardDomain}}"
log_level: "info"
telemetry:
anonymous_usage: true
domains:
domain1:
base_domain: "{{.BaseDomain}}"
server:
secret: "{{.Secret}}"
cors:
origins: ["https://{{.DashboardDomain}}"]
methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
allowed_headers: ["X-CSRF-Token", "Content-Type"]
credentials: false
{{if .EnableGeoblocking}}maxmind_db_path: "./config/GeoLite2-Country.mmdb"{{end}}
{{if .EnableEmail}}
email:
smtp_host: "{{.EmailSMTPHost}}"
smtp_port: {{.EmailSMTPPort}}
smtp_user: "{{.EmailSMTPUser}}"
smtp_pass: "{{.EmailSMTPPass}}"
no_reply: "{{.EmailNoReply}}"
{{end}}
flags:
require_email_verification: {{.EnableEmail}}
disable_signup_without_invite: true
disable_user_create_org: false
allow_raw_resources: true

View File

@@ -0,0 +1,6 @@
listen_addr: 0.0.0.0:7422
appsec_config: crowdsecurity/appsec-default
name: myAppSecComponent
source: appsec
labels:
type: appsec

View File

@@ -0,0 +1,5 @@
poll_without_inotify: false
filenames:
- /var/log/traefik/*.log
labels:
type: traefik

View File

@@ -0,0 +1,27 @@
services:
crowdsec:
image: docker.io/crowdsecurity/crowdsec:latest
container_name: crowdsec
environment:
GID: "1000"
COLLECTIONS: crowdsecurity/traefik crowdsecurity/appsec-virtual-patching crowdsecurity/appsec-generic-rules
ENROLL_INSTANCE_NAME: "pangolin-crowdsec"
PARSERS: crowdsecurity/whitelists
ENROLL_TAGS: docker
healthcheck:
interval: 10s
retries: 15
timeout: 10s
test: ["CMD", "cscli", "capi", "status"]
labels:
- "traefik.enable=false" # Disable traefik for crowdsec
volumes:
# crowdsec container data
- ./config/crowdsec:/etc/crowdsec # crowdsec config
- ./config/crowdsec/db:/var/lib/crowdsec/data # crowdsec db
# log bind mounts into crowdsec
- ./config/traefik/logs:/var/log/traefik # traefik logs
ports:
- 6060:6060 # metrics endpoint for prometheus
restart: unless-stopped
command: -t # Add test config flag to verify configuration

View File

@@ -0,0 +1,109 @@
http:
middlewares:
redirect-to-https:
redirectScheme:
scheme: https
default-whitelist: # Whitelist middleware for internal IPs
ipWhiteList: # Internal IP addresses
sourceRange: # Internal IP addresses
- "10.0.0.0/8" # Internal IP addresses
- "192.168.0.0/16" # Internal IP addresses
- "172.16.0.0/12" # Internal IP addresses
# Basic security headers
security-headers:
headers:
customResponseHeaders: # Custom response headers
Server: "" # Remove server header
X-Powered-By: "" # Remove powered by header
X-Forwarded-Proto: "https" # Set forwarded proto to https
sslProxyHeaders: # SSL proxy headers
X-Forwarded-Proto: "https" # Set forwarded proto to https
hostsProxyHeaders: # Hosts proxy headers
- "X-Forwarded-Host" # Set forwarded host
contentTypeNosniff: true # Prevent MIME sniffing
customFrameOptionsValue: "SAMEORIGIN" # Set frame options
referrerPolicy: "strict-origin-when-cross-origin" # Set referrer policy
forceSTSHeader: true # Force STS header
stsIncludeSubdomains: true # Include subdomains
stsSeconds: 63072000 # STS seconds
stsPreload: true # Preload STS
# CrowdSec configuration with proper IP forwarding
crowdsec:
plugin:
crowdsec:
enabled: true # Enable CrowdSec plugin
logLevel: INFO # Log level
updateIntervalSeconds: 15 # Update interval
updateMaxFailure: 0 # Update max failure
defaultDecisionSeconds: 15 # Default decision seconds
httpTimeoutSeconds: 10 # HTTP timeout
crowdsecMode: live # CrowdSec mode
crowdsecAppsecEnabled: true # Enable AppSec
crowdsecAppsecHost: crowdsec:7422 # CrowdSec IP address which you noted down later
crowdsecAppsecFailureBlock: true # Block on failure
crowdsecAppsecUnreachableBlock: true # Block on unreachable
crowdsecAppsecBodyLimit: 10485760
crowdsecLapiKey: "PUT_YOUR_BOUNCER_KEY_HERE_OR_IT_WILL_NOT_WORK" # CrowdSec API key which you noted down later
crowdsecLapiHost: crowdsec:8080 # CrowdSec
crowdsecLapiScheme: http # CrowdSec API scheme
forwardedHeadersTrustedIPs: # Forwarded headers trusted IPs
- "0.0.0.0/0" # All IP addresses are trusted for forwarded headers (CHANGE MADE HERE)
clientTrustedIPs: # Client trusted IPs (CHANGE MADE HERE)
- "10.0.0.0/8" # Internal LAN IP addresses
- "172.16.0.0/12" # Internal LAN IP addresses
- "192.168.0.0/16" # Internal LAN IP addresses
- "100.89.137.0/20" # Internal LAN IP addresses
routers:
# HTTP to HTTPS redirect router
main-app-router-redirect:
rule: "Host(`{{.DashboardDomain}}`)" # Dynamic Domain Name
service: next-service
entryPoints:
- web
middlewares:
- redirect-to-https
# Next.js router (handles everything except API and WebSocket paths)
next-router:
rule: "Host(`{{.DashboardDomain}}`) && !PathPrefix(`/api/v1`)" # Dynamic Domain Name
service: next-service
entryPoints:
- websecure
middlewares:
- security-headers # Add security headers middleware
tls:
certResolver: letsencrypt
# API router (handles /api/v1 paths)
api-router:
rule: "Host(`{{.DashboardDomain}}`) && PathPrefix(`/api/v1`)" # Dynamic Domain Name
service: api-service
entryPoints:
- websecure
middlewares:
- security-headers # Add security headers middleware
tls:
certResolver: letsencrypt
# WebSocket router
ws-router:
rule: "Host(`{{.DashboardDomain}}`)" # Dynamic Domain Name
service: api-service
entryPoints:
- websecure
middlewares:
- security-headers # Add security headers middleware
tls:
certResolver: letsencrypt
services:
next-service:
loadBalancer:
servers:
- url: "http://pangolin:3002" # Next.js server
api-service:
loadBalancer:
servers:
- url: "http://pangolin:3000" # API/WebSocket server

View File

@@ -0,0 +1,25 @@
name: captcha_remediation
filters:
- Alert.Remediation == true && Alert.GetScope() == "Ip" && Alert.GetScenario() contains "http"
decisions:
- type: captcha
duration: 4h
on_success: break
---
name: default_ip_remediation
filters:
- Alert.Remediation == true && Alert.GetScope() == "Ip"
decisions:
- type: ban
duration: 4h
on_success: break
---
name: default_range_remediation
filters:
- Alert.Remediation == true && Alert.GetScope() == "Range"
decisions:
- type: ban
duration: 4h
on_success: break

View File

@@ -0,0 +1,91 @@
api:
insecure: true
dashboard: true
providers:
http:
endpoint: "http://pangolin:3001/api/v1/traefik-config"
pollInterval: "5s"
file:
filename: "/etc/traefik/dynamic_config.yml"
experimental:
plugins:
badger:
moduleName: "github.com/fosrl/badger"
version: "{{.BadgerVersion}}"
crowdsec: # CrowdSec plugin configuration added
moduleName: "github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin"
version: "v1.4.4"
log:
level: "INFO"
format: "json" # Log format changed to json for better parsing
maxSize: 100
maxBackups: 3
maxAge: 3
compress: true
accessLog: # We enable access logs as json
filePath: "/var/log/traefik/access.log"
format: json
filters:
statusCodes:
- "200-299" # Success codes
- "400-499" # Client errors
- "500-599" # Server errors
retryAttempts: true
minDuration: "100ms" # Increased to focus on slower requests
bufferingSize: 100 # Add buffering for better performance
fields:
defaultMode: drop # Start with dropping all fields
names:
ClientAddr: keep # Keep client address for IP tracking
ClientHost: keep # Keep client host for IP tracking
RequestMethod: keep # Keep request method for tracking
RequestPath: keep # Keep request path for tracking
RequestProtocol: keep # Keep request protocol for tracking
DownstreamStatus: keep # Keep downstream status for tracking
DownstreamContentSize: keep # Keep downstream content size for tracking
Duration: keep # Keep request duration for tracking
ServiceName: keep # Keep service name for tracking
StartUTC: keep # Keep start time for tracking
TLSVersion: keep # Keep TLS version for tracking
TLSCipher: keep # Keep TLS cipher for tracking
RetryAttempts: keep # Keep retry attempts for tracking
headers:
defaultMode: drop # Start with dropping all headers
names:
User-Agent: keep # Keep user agent for tracking
X-Real-Ip: keep # Keep real IP for tracking
X-Forwarded-For: keep # Keep forwarded IP for tracking
X-Forwarded-Proto: keep # Keep forwarded protocol for tracking
Content-Type: keep # Keep content type for tracking
Authorization: redact # Redact sensitive information
Cookie: redact # Redact sensitive information
certificatesResolvers:
letsencrypt:
acme:
httpChallenge:
entryPoint: web
email: "{{.LetsEncryptEmail}}"
storage: "/letsencrypt/acme.json"
caServer: "https://acme-v02.api.letsencrypt.org/directory"
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
transport:
respondingTimeouts:
readTimeout: "30m"
http:
tls:
certResolver: "letsencrypt"
middlewares:
- crowdsec@file
serversTransport:
insecureSkipVerify: true

View File

@@ -1,29 +1,28 @@
name: pangolin
services:
pangolin:
image: fosrl/pangolin:{{.PangolinVersion}}
image: docker.io/fosrl/pangolin:{{.PangolinVersion}}
container_name: pangolin
restart: unless-stopped
volumes:
- ./config:/app/config
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"]
interval: "3s"
timeout: "3s"
retries: 5
interval: "10s"
timeout: "10s"
retries: 15
{{if .InstallGerbil}}
gerbil:
image: fosrl/gerbil:{{.GerbilVersion}}
image: docker.io/fosrl/gerbil:{{.GerbilVersion}}
container_name: gerbil
restart: unless-stopped
depends_on:
pangolin:
condition: service_healthy
command:
- --reachableAt=http://gerbil:3003
- --reachableAt=http://gerbil:3004
- --generateAndSaveKeyTo=/var/config/key
- --remoteConfig=http://pangolin:3001/api/v1/gerbil/get-config
- --reportBandwidthTo=http://pangolin:3001/api/v1/gerbil/receive-bandwidth
- --remoteConfig=http://pangolin:3001/api/v1/
volumes:
- ./config/:/var/config
cap_add:
@@ -31,18 +30,17 @@ services:
- SYS_MODULE
ports:
- 51820:51820/udp
- 443:443 # Port for traefik because of the network_mode
- 80:80 # Port for traefik because of the network_mode
- 21820:21820/udp
- 443:443
- 80:80
{{end}}
traefik:
image: traefik:v3.1
image: docker.io/traefik:v3.5
container_name: traefik
restart: unless-stopped
{{if .InstallGerbil}}
network_mode: service:gerbil # Ports appear on the gerbil service
{{end}}
{{if not .InstallGerbil}}
{{end}}{{if not .InstallGerbil}}
ports:
- 443:443
- 80:80
@@ -55,3 +53,10 @@ services:
volumes:
- ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration
- ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates
- ./config/traefik/logs:/var/log/traefik # Volume to store Traefik logs
networks:
default:
driver: bridge
name: pangolin
{{if .EnableIPv6}} enable_ipv6: true{{end}}

View File

@@ -3,7 +3,6 @@ http:
redirect-to-https:
redirectScheme:
scheme: https
permanent: true
routers:
# HTTP to HTTPS redirect router
@@ -52,3 +51,12 @@ http:
loadBalancer:
servers:
- url: "http://pangolin:3000" # API/WebSocket server
tcp:
serversTransports:
pp-transport-v1:
proxyProtocol:
version: 1
pp-transport-v2:
proxyProtocol:
version: 2

View File

@@ -13,11 +13,15 @@ experimental:
plugins:
badger:
moduleName: "github.com/fosrl/badger"
version: "v1.0.0-beta.2"
version: "{{.BadgerVersion}}"
log:
level: "INFO"
format: "common"
maxSize: 100
maxBackups: 3
maxAge: 3
compress: true
certificatesResolvers:
letsencrypt:
@@ -33,9 +37,15 @@ entryPoints:
address: ":80"
websecure:
address: ":443"
transport:
respondingTimeouts:
readTimeout: "30m"
http:
tls:
certResolver: "letsencrypt"
serversTransport:
insecureSkipVerify: true
ping:
entryPoint: "web"

332
install/containers.go Normal file
View File

@@ -0,0 +1,332 @@
package main
import (
"bytes"
"fmt"
"os"
"os/exec"
"os/user"
"runtime"
"strconv"
"strings"
"time"
)
func waitForContainer(containerName string, containerType SupportedContainer) error {
maxAttempts := 30
retryInterval := time.Second * 2
for attempt := 0; attempt < maxAttempts; attempt++ {
// Check if container is running
cmd := exec.Command(string(containerType), "container", "inspect", "-f", "{{.State.Running}}", containerName)
var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
// If the container doesn't exist or there's another error, wait and retry
time.Sleep(retryInterval)
continue
}
isRunning := strings.TrimSpace(out.String()) == "true"
if isRunning {
return nil
}
// Container exists but isn't running yet, wait and retry
time.Sleep(retryInterval)
}
return fmt.Errorf("container %s did not start within %v seconds", containerName, maxAttempts*int(retryInterval.Seconds()))
}
func installDocker() error {
// Detect Linux distribution
cmd := exec.Command("cat", "/etc/os-release")
output, err := cmd.Output()
if err != nil {
return fmt.Errorf("failed to detect Linux distribution: %v", err)
}
osRelease := string(output)
// Detect system architecture
archCmd := exec.Command("uname", "-m")
archOutput, err := archCmd.Output()
if err != nil {
return fmt.Errorf("failed to detect system architecture: %v", err)
}
arch := strings.TrimSpace(string(archOutput))
// Map architecture to Docker's architecture naming
var dockerArch string
switch arch {
case "x86_64":
dockerArch = "amd64"
case "aarch64":
dockerArch = "arm64"
default:
return fmt.Errorf("unsupported architecture: %s", arch)
}
var installCmd *exec.Cmd
switch {
case strings.Contains(osRelease, "ID=ubuntu"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
apt-get update &&
apt-get install -y apt-transport-https ca-certificates curl &&
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&
echo "deb [arch=%s signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list &&
apt-get update &&
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`, dockerArch))
case strings.Contains(osRelease, "ID=debian"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
apt-get update &&
apt-get install -y apt-transport-https ca-certificates curl &&
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&
echo "deb [arch=%s signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list &&
apt-get update &&
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`, dockerArch))
case strings.Contains(osRelease, "ID=fedora"):
// Detect Fedora version to handle DNF 5 changes
versionCmd := exec.Command("bash", "-c", "grep VERSION_ID /etc/os-release | cut -d'=' -f2 | tr -d '\"'")
versionOutput, err := versionCmd.Output()
var fedoraVersion int
if err == nil {
if v, parseErr := strconv.Atoi(strings.TrimSpace(string(versionOutput))); parseErr == nil {
fedoraVersion = v
}
}
// Use appropriate DNF syntax based on version
var repoCmd string
if fedoraVersion >= 41 {
// DNF 5 syntax for Fedora 41+
repoCmd = "dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo"
} else {
// DNF 4 syntax for Fedora < 41
repoCmd = "dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo"
}
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
dnf -y install dnf-plugins-core &&
%s &&
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`, repoCmd))
case strings.Contains(osRelease, "ID=opensuse") || strings.Contains(osRelease, "ID=\"opensuse-"):
installCmd = exec.Command("bash", "-c", `
zypper install -y docker docker-compose &&
systemctl enable docker
`)
case strings.Contains(osRelease, "ID=rhel") || strings.Contains(osRelease, "ID=\"rhel"):
installCmd = exec.Command("bash", "-c", `
dnf remove -y runc &&
dnf -y install yum-utils &&
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo &&
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin &&
systemctl enable docker
`)
case strings.Contains(osRelease, "ID=amzn"):
installCmd = exec.Command("bash", "-c", `
yum update -y &&
yum install -y docker &&
systemctl enable docker &&
usermod -a -G docker ec2-user
`)
default:
return fmt.Errorf("unsupported Linux distribution")
}
installCmd.Stdout = os.Stdout
installCmd.Stderr = os.Stderr
return installCmd.Run()
}
func startDockerService() error {
if runtime.GOOS == "linux" {
cmd := exec.Command("systemctl", "enable", "--now", "docker")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
} else if runtime.GOOS == "darwin" {
// On macOS, Docker is usually started via the Docker Desktop application
fmt.Println("Please start Docker Desktop manually on macOS.")
return nil
}
return fmt.Errorf("unsupported operating system for starting Docker service")
}
func isDockerInstalled() bool {
return isContainerInstalled("docker")
}
func isPodmanInstalled() bool {
return isContainerInstalled("podman") && isContainerInstalled("podman-compose")
}
func isContainerInstalled(container string) bool {
cmd := exec.Command(container, "--version")
if err := cmd.Run(); err != nil {
return false
}
return true
}
func isUserInDockerGroup() bool {
if runtime.GOOS == "darwin" {
// Docker group is not applicable on macOS
// So we assume that the user can run Docker commands
return true
}
if os.Geteuid() == 0 {
return true // Root user can run Docker commands anyway
}
// Check if the current user is in the docker group
if dockerGroup, err := user.LookupGroup("docker"); err == nil {
if currentUser, err := user.Current(); err == nil {
if currentUserGroupIds, err := currentUser.GroupIds(); err == nil {
for _, groupId := range currentUserGroupIds {
if groupId == dockerGroup.Gid {
return true
}
}
}
}
}
// Eventually, if any of the checks fail, we assume the user cannot run Docker commands
return false
}
// isDockerRunning checks if the Docker daemon is running by using the `docker info` command.
func isDockerRunning() bool {
cmd := exec.Command("docker", "info")
if err := cmd.Run(); err != nil {
return false
}
return true
}
// executeDockerComposeCommandWithArgs executes the appropriate docker command with arguments supplied
func executeDockerComposeCommandWithArgs(args ...string) error {
var cmd *exec.Cmd
var useNewStyle bool
if !isDockerInstalled() {
return fmt.Errorf("docker is not installed")
}
checkCmd := exec.Command("docker", "compose", "version")
if err := checkCmd.Run(); err == nil {
useNewStyle = true
} else {
checkCmd = exec.Command("docker-compose", "version")
if err := checkCmd.Run(); err == nil {
useNewStyle = false
} else {
return fmt.Errorf("neither 'docker compose' nor 'docker-compose' command is available")
}
}
if useNewStyle {
cmd = exec.Command("docker", append([]string{"compose"}, args...)...)
} else {
cmd = exec.Command("docker-compose", args...)
}
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}
// pullContainers pulls the containers using the appropriate command.
func pullContainers(containerType SupportedContainer) error {
fmt.Println("Pulling the container images...")
if containerType == Podman {
if err := run("podman-compose", "-f", "docker-compose.yml", "pull"); err != nil {
return fmt.Errorf("failed to pull the containers: %v", err)
}
return nil
}
if containerType == Docker {
if err := executeDockerComposeCommandWithArgs("-f", "docker-compose.yml", "pull", "--policy", "always"); err != nil {
return fmt.Errorf("failed to pull the containers: %v", err)
}
return nil
}
return fmt.Errorf("Unsupported container type: %s", containerType)
}
// startContainers starts the containers using the appropriate command.
func startContainers(containerType SupportedContainer) error {
fmt.Println("Starting containers...")
if containerType == Podman {
if err := run("podman-compose", "-f", "docker-compose.yml", "up", "-d", "--force-recreate"); err != nil {
return fmt.Errorf("failed start containers: %v", err)
}
return nil
}
if containerType == Docker {
if err := executeDockerComposeCommandWithArgs("-f", "docker-compose.yml", "up", "-d", "--force-recreate"); err != nil {
return fmt.Errorf("failed to start containers: %v", err)
}
return nil
}
return fmt.Errorf("Unsupported container type: %s", containerType)
}
// stopContainers stops the containers using the appropriate command.
func stopContainers(containerType SupportedContainer) error {
fmt.Println("Stopping containers...")
if containerType == Podman {
if err := run("podman-compose", "-f", "docker-compose.yml", "down"); err != nil {
return fmt.Errorf("failed to stop containers: %v", err)
}
return nil
}
if containerType == Docker {
if err := executeDockerComposeCommandWithArgs("-f", "docker-compose.yml", "down"); err != nil {
return fmt.Errorf("failed to stop containers: %v", err)
}
return nil
}
return fmt.Errorf("Unsupported container type: %s", containerType)
}
// restartContainer restarts a specific container using the appropriate command.
func restartContainer(container string, containerType SupportedContainer) error {
fmt.Println("Restarting containers...")
if containerType == Podman {
if err := run("podman-compose", "-f", "docker-compose.yml", "restart"); err != nil {
return fmt.Errorf("failed to stop the container \"%s\": %v", container, err)
}
return nil
}
if containerType == Docker {
if err := executeDockerComposeCommandWithArgs("-f", "docker-compose.yml", "restart", container); err != nil {
return fmt.Errorf("failed to stop the container \"%s\": %v", container, err)
}
return nil
}
return fmt.Errorf("Unsupported container type: %s", containerType)
}

201
install/crowdsec.go Normal file
View File

@@ -0,0 +1,201 @@
package main
import (
"bytes"
"fmt"
"log"
"os"
"os/exec"
"strings"
"gopkg.in/yaml.v3"
)
func installCrowdsec(config Config) error {
if err := stopContainers(config.InstallationContainerType); err != nil {
return fmt.Errorf("failed to stop containers: %v", err)
}
// Run installation steps
if err := backupConfig(); err != nil {
return fmt.Errorf("backup failed: %v", err)
}
if err := createConfigFiles(config); err != nil {
fmt.Printf("Error creating config files: %v\n", err)
os.Exit(1)
}
os.MkdirAll("config/crowdsec/db", 0755)
os.MkdirAll("config/crowdsec/acquis.d", 0755)
os.MkdirAll("config/traefik/logs", 0755)
if err := copyDockerService("config/crowdsec/docker-compose.yml", "docker-compose.yml", "crowdsec"); err != nil {
fmt.Printf("Error copying docker service: %v\n", err)
os.Exit(1)
}
if err := MergeYAML("config/traefik/traefik_config.yml", "config/crowdsec/traefik_config.yml"); err != nil {
fmt.Printf("Error copying entry points: %v\n", err)
os.Exit(1)
}
// delete the 2nd file
if err := os.Remove("config/crowdsec/traefik_config.yml"); err != nil {
fmt.Printf("Error removing file: %v\n", err)
os.Exit(1)
}
if err := MergeYAML("config/traefik/dynamic_config.yml", "config/crowdsec/dynamic_config.yml"); err != nil {
fmt.Printf("Error copying entry points: %v\n", err)
os.Exit(1)
}
// delete the 2nd file
if err := os.Remove("config/crowdsec/dynamic_config.yml"); err != nil {
fmt.Printf("Error removing file: %v\n", err)
os.Exit(1)
}
if err := os.Remove("config/crowdsec/docker-compose.yml"); err != nil {
fmt.Printf("Error removing file: %v\n", err)
os.Exit(1)
}
if err := CheckAndAddTraefikLogVolume("docker-compose.yml"); err != nil {
fmt.Printf("Error checking and adding Traefik log volume: %v\n", err)
os.Exit(1)
}
// check and add the service dependency of crowdsec to traefik
if err := CheckAndAddCrowdsecDependency("docker-compose.yml"); err != nil {
fmt.Printf("Error adding crowdsec dependency to traefik: %v\n", err)
os.Exit(1)
}
if err := startContainers(config.InstallationContainerType); err != nil {
return fmt.Errorf("failed to start containers: %v", err)
}
// get API key
apiKey, err := GetCrowdSecAPIKey(config.InstallationContainerType)
if err != nil {
return fmt.Errorf("failed to get API key: %v", err)
}
config.TraefikBouncerKey = apiKey
if err := replaceInFile("config/traefik/dynamic_config.yml", "PUT_YOUR_BOUNCER_KEY_HERE_OR_IT_WILL_NOT_WORK", config.TraefikBouncerKey); err != nil {
return fmt.Errorf("failed to replace bouncer key: %v", err)
}
if err := restartContainer("traefik", config.InstallationContainerType); err != nil {
return fmt.Errorf("failed to restart containers: %v", err)
}
if checkIfTextInFile("config/traefik/dynamic_config.yml", "PUT_YOUR_BOUNCER_KEY_HERE_OR_IT_WILL_NOT_WORK") {
fmt.Println("Failed to replace bouncer key! Please retrieve the key and replace it in the config/traefik/dynamic_config.yml file using the following command:")
fmt.Println(" docker exec crowdsec cscli bouncers add traefik-bouncer")
}
return nil
}
func checkIsCrowdsecInstalledInCompose() bool {
// Read docker-compose.yml
content, err := os.ReadFile("docker-compose.yml")
if err != nil {
return false
}
// Check for crowdsec service
return bytes.Contains(content, []byte("crowdsec:"))
}
func GetCrowdSecAPIKey(containerType SupportedContainer) (string, error) {
// First, ensure the container is running
if err := waitForContainer("crowdsec", containerType); err != nil {
return "", fmt.Errorf("waiting for container: %w", err)
}
// Execute the command to get the API key
cmd := exec.Command("docker", "exec", "crowdsec", "cscli", "bouncers", "add", "traefik-bouncer", "-o", "raw")
var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
return "", fmt.Errorf("executing command: %w", err)
}
// Trim any whitespace from the output
apiKey := strings.TrimSpace(out.String())
if apiKey == "" {
return "", fmt.Errorf("empty API key returned")
}
return apiKey, nil
}
func checkIfTextInFile(file, text string) bool {
// Read file
content, err := os.ReadFile(file)
if err != nil {
return false
}
// Check for text
return bytes.Contains(content, []byte(text))
}
func CheckAndAddCrowdsecDependency(composePath string) error {
// Read the docker-compose.yml file
data, err := os.ReadFile(composePath)
if err != nil {
return fmt.Errorf("error reading compose file: %w", err)
}
// Parse YAML into a generic map
var compose map[string]interface{}
if err := yaml.Unmarshal(data, &compose); err != nil {
return fmt.Errorf("error parsing compose file: %w", err)
}
// Get services section
services, ok := compose["services"].(map[string]interface{})
if !ok {
return fmt.Errorf("services section not found or invalid")
}
// Get traefik service
traefik, ok := services["traefik"].(map[string]interface{})
if !ok {
return fmt.Errorf("traefik service not found or invalid")
}
// Get dependencies
dependsOn, ok := traefik["depends_on"].(map[string]interface{})
if ok {
// Append the new block for crowdsec
dependsOn["crowdsec"] = map[string]interface{}{
"condition": "service_healthy",
}
} else {
// No dependencies exist, create it
traefik["depends_on"] = map[string]interface{}{
"crowdsec": map[string]interface{}{
"condition": "service_healthy",
},
}
}
// Marshal the modified data back to YAML with indentation
modifiedData, err := MarshalYAMLWithIndent(compose, 2) // Set indentation to 2 spaces
if err != nil {
log.Fatalf("error marshaling YAML: %v", err)
}
if err := os.WriteFile(composePath, modifiedData, 0644); err != nil {
return fmt.Errorf("error writing updated compose file: %w", err)
}
fmt.Println("Added dependency of crowdsec to traefik")
return nil
}

View File

@@ -1,51 +0,0 @@
app:
dashboard_url: https://{{.DashboardDomain}}
base_domain: {{.BaseDomain}}
log_level: info
save_logs: false
server:
external_port: 3000
internal_port: 3001
next_port: 3002
internal_hostname: pangolin
secure_cookies: true
session_cookie_name: p_session
resource_session_cookie_name: p_resource_session
resource_access_token_param: p_token
traefik:
cert_resolver: letsencrypt
http_entrypoint: web
https_entrypoint: websecure
prefer_wildcard_cert: false
gerbil:
start_port: 51820
base_endpoint: {{.DashboardDomain}}
use_subdomain: false
block_size: 24
site_block_size: 30
subnet_group: 100.89.137.0/20
rate_limits:
global:
window_minutes: 1
max_requests: 100
{{if .EnableEmail}}
email:
smtp_host: {{.EmailSMTPHost}}
smtp_port: {{.EmailSMTPPort}}
smtp_user: {{.EmailSMTPUser}}
smtp_pass: {{.EmailSMTPPass}}
no_reply: {{.EmailNoReply}}
{{end}}
users:
server_admin:
email: {{.AdminUserEmail}}
password: {{.AdminUserPassword}}
flags:
require_email_verification: {{.EnableEmail}}
disable_signup_without_invite: {{.DisableSignupWithoutInvite}}
disable_user_create_org: {{.DisableUserCreateOrg}}

180
install/get-installer.sh Normal file
View File

@@ -0,0 +1,180 @@
#!/bin/bash
# Get installer - Cross-platform installation script
# Usage: curl -fsSL https://raw.githubusercontent.com/fosrl/installer/refs/heads/main/get-installer.sh | bash
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# GitHub repository info
REPO="fosrl/pangolin"
GITHUB_API_URL="https://api.github.com/repos/${REPO}/releases/latest"
# Function to print colored output
print_status() {
echo -e "${GREEN}[INFO]${NC} $1"
}
print_warning() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Function to get latest version from GitHub API
get_latest_version() {
local latest_info
if command -v curl >/dev/null 2>&1; then
latest_info=$(curl -fsSL "$GITHUB_API_URL" 2>/dev/null)
elif command -v wget >/dev/null 2>&1; then
latest_info=$(wget -qO- "$GITHUB_API_URL" 2>/dev/null)
else
print_error "Neither curl nor wget is available. Please install one of them." >&2
exit 1
fi
if [ -z "$latest_info" ]; then
print_error "Failed to fetch latest version information" >&2
exit 1
fi
# Extract version from JSON response (works without jq)
local version=$(echo "$latest_info" | grep '"tag_name"' | head -1 | sed 's/.*"tag_name": *"\([^"]*\)".*/\1/')
if [ -z "$version" ]; then
print_error "Could not parse version from GitHub API response" >&2
exit 1
fi
# Remove 'v' prefix if present
version=$(echo "$version" | sed 's/^v//')
echo "$version"
}
# Detect OS and architecture
detect_platform() {
local os arch
# Detect OS - only support Linux
case "$(uname -s)" in
Linux*) os="linux" ;;
*)
print_error "Unsupported operating system: $(uname -s). Only Linux is supported."
exit 1
;;
esac
# Detect architecture - only support amd64 and arm64
case "$(uname -m)" in
x86_64|amd64) arch="amd64" ;;
arm64|aarch64) arch="arm64" ;;
*)
print_error "Unsupported architecture: $(uname -m). Only amd64 and arm64 are supported on Linux."
exit 1
;;
esac
echo "${os}_${arch}"
}
# Get installation directory
get_install_dir() {
# Install to the current directory
local install_dir="$(pwd)"
if [ ! -d "$install_dir" ]; then
print_error "Installation directory does not exist: $install_dir"
exit 1
fi
echo "$install_dir"
}
# Download and install installer
install_installer() {
local platform="$1"
local install_dir="$2"
local binary_name="installer_${platform}"
local download_url="${BASE_URL}/${binary_name}"
local temp_file="/tmp/installer"
local final_path="${install_dir}/installer"
print_status "Downloading installer from ${download_url}"
# Download the binary
if command -v curl >/dev/null 2>&1; then
curl -fsSL "$download_url" -o "$temp_file"
elif command -v wget >/dev/null 2>&1; then
wget -q "$download_url" -O "$temp_file"
else
print_error "Neither curl nor wget is available. Please install one of them."
exit 1
fi
# Create install directory if it doesn't exist
mkdir -p "$install_dir"
# Move binary to install directory
mv "$temp_file" "$final_path"
# Make executable
chmod +x "$final_path"
print_status "Installer downloaded to ${final_path}"
}
# Verify installation
verify_installation() {
local install_dir="$1"
local installer_path="${install_dir}/installer"
if [ -f "$installer_path" ] && [ -x "$installer_path" ]; then
print_status "Installation successful!"
return 0
else
print_error "Installation failed. Binary not found or not executable."
return 1
fi
}
# Main installation process
main() {
print_status "Installing latest version of installer..."
# Get latest version
print_status "Fetching latest version from GitHub..."
VERSION=$(get_latest_version)
print_status "Latest version: v${VERSION}"
# Set base URL with the fetched version
BASE_URL="https://github.com/${REPO}/releases/download/${VERSION}"
# Detect platform
PLATFORM=$(detect_platform)
print_status "Detected platform: ${PLATFORM}"
# Get install directory
INSTALL_DIR=$(get_install_dir)
print_status "Install directory: ${INSTALL_DIR}"
# Install installer
install_installer "$PLATFORM" "$INSTALL_DIR"
# Verify installation
if verify_installation "$INSTALL_DIR"; then
print_status "Installer is ready to use!"
else
exit 1
fi
}
# Run main function
main "$@"

View File

@@ -1,8 +1,10 @@
module installer
go 1.23.0
go 1.24.0
require (
golang.org/x/sys v0.29.0 // indirect
golang.org/x/term v0.28.0 // indirect
golang.org/x/term v0.36.0
gopkg.in/yaml.v3 v3.0.1
)
require golang.org/x/sys v0.37.0 // indirect

View File

@@ -1,4 +1,8 @@
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

74
install/input.go Normal file
View File

@@ -0,0 +1,74 @@
package main
import (
"bufio"
"fmt"
"strings"
"syscall"
"golang.org/x/term"
)
func readString(reader *bufio.Reader, prompt string, defaultValue string) string {
if defaultValue != "" {
fmt.Printf("%s (default: %s): ", prompt, defaultValue)
} else {
fmt.Print(prompt + ": ")
}
input, _ := reader.ReadString('\n')
input = strings.TrimSpace(input)
if input == "" {
return defaultValue
}
return input
}
func readStringNoDefault(reader *bufio.Reader, prompt string) string {
fmt.Print(prompt + ": ")
input, _ := reader.ReadString('\n')
return strings.TrimSpace(input)
}
func readPassword(prompt string, reader *bufio.Reader) string {
if term.IsTerminal(int(syscall.Stdin)) {
fmt.Print(prompt + ": ")
// Read password without echo if we're in a terminal
password, err := term.ReadPassword(int(syscall.Stdin))
fmt.Println() // Add a newline since ReadPassword doesn't add one
if err != nil {
return ""
}
input := strings.TrimSpace(string(password))
if input == "" {
return readPassword(prompt, reader)
}
return input
} else {
// Fallback to reading from stdin if not in a terminal
return readString(reader, prompt, "")
}
}
func readBool(reader *bufio.Reader, prompt string, defaultValue bool) bool {
defaultStr := "no"
if defaultValue {
defaultStr = "yes"
}
input := readString(reader, prompt+" (yes/no)", defaultStr)
return strings.ToLower(input) == "yes"
}
func readBoolNoDefault(reader *bufio.Reader, prompt string) bool {
input := readStringNoDefault(reader, prompt+" (yes/no)")
return strings.ToLower(input) == "yes"
}
func readInt(reader *bufio.Reader, prompt string, defaultValue int) int {
input := readString(reader, prompt, fmt.Sprintf("%d", defaultValue))
if input == "" {
return defaultValue
}
value := defaultValue
fmt.Sscanf(input, "%d", &value)
return value
}

14
install/input.txt Normal file
View File

@@ -0,0 +1,14 @@
docker
example.com
pangolin.example.com
yes
admin@example.com
yes
admin@example.com
Password123!
Password123!
yes
no
no
no
yes

View File

@@ -4,133 +4,334 @@ import (
"bufio"
"embed"
"fmt"
"io"
"io/fs"
"math/rand"
"net"
"net/http"
"net/url"
"os"
"os/exec"
"path/filepath"
"runtime"
"strings"
"syscall"
"text/template"
"unicode"
"golang.org/x/term"
"time"
)
// DO NOT EDIT THIS FUNCTION; IT MATCHED BY REGEX IN CICD
func loadVersions(config *Config) {
config.PangolinVersion = "1.0.0-beta.5"
config.GerbilVersion = "1.0.0-beta.1"
config.PangolinVersion = "replaceme"
config.GerbilVersion = "replaceme"
config.BadgerVersion = "replaceme"
}
//go:embed fs/*
//go:embed config/*
var configFiles embed.FS
type Config struct {
PangolinVersion string
GerbilVersion string
BaseDomain string
DashboardDomain string
LetsEncryptEmail string
AdminUserEmail string
AdminUserPassword string
DisableSignupWithoutInvite bool
DisableUserCreateOrg bool
EnableEmail bool
EmailSMTPHost string
EmailSMTPPort int
EmailSMTPUser string
EmailSMTPPass string
EmailNoReply string
InstallGerbil bool
InstallationContainerType SupportedContainer
PangolinVersion string
GerbilVersion string
BadgerVersion string
BaseDomain string
DashboardDomain string
EnableIPv6 bool
LetsEncryptEmail string
EnableEmail bool
EmailSMTPHost string
EmailSMTPPort int
EmailSMTPUser string
EmailSMTPPass string
EmailNoReply string
InstallGerbil bool
TraefikBouncerKey string
DoCrowdsecInstall bool
EnableGeoblocking bool
Secret string
}
type SupportedContainer string
const (
Docker SupportedContainer = "docker"
Podman SupportedContainer = "podman"
Undefined SupportedContainer = "undefined"
)
func main() {
// print a banner about prerequisites - opening port 80, 443, 51820, and 21820 on the VPS and firewall and pointing your domain to the VPS IP with a records. Docs are at http://localhost:3000/Getting%20Started/dns-networking
fmt.Println("Welcome to the Pangolin installer!")
fmt.Println("This installer will help you set up Pangolin on your server.")
fmt.Println("\nPlease make sure you have the following prerequisites:")
fmt.Println("- Open TCP ports 80 and 443 and UDP ports 51820 and 21820 on your VPS and firewall.")
fmt.Println("\nLets get started!")
if os.Geteuid() == 0 { // WE NEED TO BE SUDO TO CHECK THIS
for _, p := range []int{80, 443} {
if err := checkPortsAvailable(p); err != nil {
fmt.Fprintln(os.Stderr, err)
fmt.Printf("Please close any services on ports 80/443 in order to run the installation smoothly. If you already have the Pangolin stack running, shut them down before proceeding.\n")
os.Exit(1)
}
}
}
reader := bufio.NewReader(os.Stdin)
// check if the user is root
if os.Geteuid() != 0 {
fmt.Println("This script must be run as root")
os.Exit(1)
}
var config Config
var alreadyInstalled = false
// check if there is already a config file
if _, err := os.Stat("config/config.yml"); err != nil {
config := collectUserInput(reader)
config = collectUserInput(reader)
loadVersions(&config)
config.DoCrowdsecInstall = false
config.Secret = generateRandomSecretKey()
fmt.Println("\n=== Generating Configuration Files ===")
if err := createConfigFiles(config); err != nil {
fmt.Printf("Error creating config files: %v\n", err)
os.Exit(1)
}
if !isDockerInstalled() && runtime.GOOS == "linux" {
if readBool(reader, "Docker is not installed. Would you like to install it?", true) {
installDocker()
moveFile("config/docker-compose.yml", "docker-compose.yml")
fmt.Println("\nConfiguration files created successfully!")
// Download MaxMind database if requested
if config.EnableGeoblocking {
fmt.Println("\n=== Downloading MaxMind Database ===")
if err := downloadMaxMindDatabase(); err != nil {
fmt.Printf("Error downloading MaxMind database: %v\n", err)
fmt.Println("You can download it manually later if needed.")
}
}
} else {
fmt.Println("Config file already exists... skipping configuration")
}
if isDockerInstalled() {
fmt.Println("\n=== Starting installation ===")
if readBool(reader, "Would you like to install and start the containers?", true) {
pullAndStartContainers()
config.InstallationContainerType = podmanOrDocker(reader)
if !isDockerInstalled() && runtime.GOOS == "linux" && config.InstallationContainerType == Docker {
if readBool(reader, "Docker is not installed. Would you like to install it?", true) {
installDocker()
// try to start docker service but ignore errors
if err := startDockerService(); err != nil {
fmt.Println("Error starting Docker service:", err)
} else {
fmt.Println("Docker service started successfully!")
}
// wait 10 seconds for docker to start checking if docker is running every 2 seconds
fmt.Println("Waiting for Docker to start...")
for i := 0; i < 5; i++ {
if isDockerRunning() {
fmt.Println("Docker is running!")
break
}
fmt.Println("Docker is not running yet, waiting...")
time.Sleep(2 * time.Second)
}
if !isDockerRunning() {
fmt.Println("Docker is still not running after 10 seconds. Please check the installation.")
os.Exit(1)
}
fmt.Println("Docker installed successfully!")
}
}
if err := pullContainers(config.InstallationContainerType); err != nil {
fmt.Println("Error: ", err)
return
}
if err := startContainers(config.InstallationContainerType); err != nil {
fmt.Println("Error: ", err)
return
}
}
} else {
alreadyInstalled = true
fmt.Println("Looks like you already installed Pangolin!")
// Check if MaxMind database exists and offer to update it
fmt.Println("\n=== MaxMind Database Update ===")
if _, err := os.Stat("config/GeoLite2-Country.mmdb"); err == nil {
fmt.Println("MaxMind GeoLite2 Country database found.")
if readBool(reader, "Would you like to update the MaxMind database to the latest version?", false) {
if err := downloadMaxMindDatabase(); err != nil {
fmt.Printf("Error updating MaxMind database: %v\n", err)
fmt.Println("You can try updating it manually later if needed.")
}
}
} else {
fmt.Println("MaxMind GeoLite2 Country database not found.")
if readBool(reader, "Would you like to download the MaxMind GeoLite2 database for geoblocking functionality?", false) {
if err := downloadMaxMindDatabase(); err != nil {
fmt.Printf("Error downloading MaxMind database: %v\n", err)
fmt.Println("You can try downloading it manually later if needed.")
}
// Now you need to update your config file accordingly to enable geoblocking
fmt.Println("Please remember to update your config/config.yml file to enable geoblocking! \n")
// add maxmind_db_path: "./config/GeoLite2-Country.mmdb" under server
fmt.Println("Add the following line under the 'server' section:")
fmt.Println(" maxmind_db_path: \"./config/GeoLite2-Country.mmdb\"")
}
}
}
fmt.Println("Installation complete!")
if !checkIsCrowdsecInstalledInCompose() {
fmt.Println("\n=== CrowdSec Install ===")
// check if crowdsec is installed
if readBool(reader, "Would you like to install CrowdSec?", false) {
fmt.Println("This installer constitutes a minimal viable CrowdSec deployment. CrowdSec will add extra complexity to your Pangolin installation and may not work to the best of its abilities out of the box. Users are expected to implement configuration adjustments on their own to achieve the best security posture. Consult the CrowdSec documentation for detailed configuration instructions.")
// BUG: crowdsec installation will be skipped if the user chooses to install on the first installation.
if readBool(reader, "Are you willing to manage CrowdSec?", false) {
if config.DashboardDomain == "" {
traefikConfig, err := ReadTraefikConfig("config/traefik/traefik_config.yml")
if err != nil {
fmt.Printf("Error reading config: %v\n", err)
return
}
appConfig, err := ReadAppConfig("config/config.yml")
if err != nil {
fmt.Printf("Error reading config: %v\n", err)
return
}
parsedURL, err := url.Parse(appConfig.DashboardURL)
if err != nil {
fmt.Printf("Error parsing URL: %v\n", err)
return
}
config.DashboardDomain = parsedURL.Hostname()
config.LetsEncryptEmail = traefikConfig.LetsEncryptEmail
config.BadgerVersion = traefikConfig.BadgerVersion
// print the values and check if they are right
fmt.Println("Detected values:")
fmt.Printf("Dashboard Domain: %s\n", config.DashboardDomain)
fmt.Printf("Let's Encrypt Email: %s\n", config.LetsEncryptEmail)
fmt.Printf("Badger Version: %s\n", config.BadgerVersion)
if !readBool(reader, "Are these values correct?", true) {
config = collectUserInput(reader)
}
}
config.InstallationContainerType = podmanOrDocker(reader)
config.DoCrowdsecInstall = true
err := installCrowdsec(config)
if err != nil {
fmt.Printf("Error installing CrowdSec: %v\n", err)
return
}
fmt.Println("CrowdSec installed successfully!")
return
}
}
}
if !alreadyInstalled {
// Setup Token Section
fmt.Println("\n=== Setup Token ===")
// Check if containers were started during this installation
containersStarted := false
if (isDockerInstalled() && config.InstallationContainerType == Docker) ||
(isPodmanInstalled() && config.InstallationContainerType == Podman) {
// Try to fetch and display the token if containers are running
containersStarted = true
printSetupToken(config.InstallationContainerType, config.DashboardDomain)
}
// If containers weren't started or token wasn't found, show instructions
if !containersStarted {
showSetupTokenInstructions(config.InstallationContainerType, config.DashboardDomain)
}
}
fmt.Println("\nInstallation complete!")
fmt.Printf("\nTo complete the initial setup, please visit:\nhttps://%s/auth/initial-setup\n", config.DashboardDomain)
}
func readString(reader *bufio.Reader, prompt string, defaultValue string) string {
if defaultValue != "" {
fmt.Printf("%s (default: %s): ", prompt, defaultValue)
func podmanOrDocker(reader *bufio.Reader) SupportedContainer {
inputContainer := readString(reader, "Would you like to run Pangolin as Docker or Podman containers?", "docker")
chosenContainer := Docker
if strings.EqualFold(inputContainer, "docker") {
chosenContainer = Docker
} else if strings.EqualFold(inputContainer, "podman") {
chosenContainer = Podman
} else {
fmt.Print(prompt + ": ")
}
input, _ := reader.ReadString('\n')
input = strings.TrimSpace(input)
if input == "" {
return defaultValue
}
return input
}
func readPassword(prompt string) string {
fmt.Print(prompt + ": ")
// Read password without echo
password, err := term.ReadPassword(int(syscall.Stdin))
fmt.Println() // Add a newline since ReadPassword doesn't add one
if err != nil {
return ""
fmt.Printf("Unrecognized container type: %s. Valid options are 'docker' or 'podman'.\n", inputContainer)
os.Exit(1)
}
input := strings.TrimSpace(string(password))
if input == "" {
return readPassword(prompt)
}
return input
}
if chosenContainer == Podman {
if !isPodmanInstalled() {
fmt.Println("Podman or podman-compose is not installed. Please install both manually. Automated installation will be available in a later release.")
os.Exit(1)
}
func readBool(reader *bufio.Reader, prompt string, defaultValue bool) bool {
defaultStr := "no"
if defaultValue {
defaultStr = "yes"
}
input := readString(reader, prompt+" (yes/no)", defaultStr)
return strings.ToLower(input) == "yes"
}
if err := exec.Command("bash", "-c", "cat /etc/sysctl.conf | grep 'net.ipv4.ip_unprivileged_port_start='").Run(); err != nil {
fmt.Println("Would you like to configure ports >= 80 as unprivileged ports? This enables podman containers to listen on low-range ports.")
fmt.Println("Pangolin will experience startup issues if this is not configured, because it needs to listen on port 80/443 by default.")
approved := readBool(reader, "The installer is about to execute \"echo 'net.ipv4.ip_unprivileged_port_start=80' >> /etc/sysctl.conf && sysctl -p\". Approve?", true)
if approved {
if os.Geteuid() != 0 {
fmt.Println("You need to run the installer as root for such a configuration.")
os.Exit(1)
}
func readInt(reader *bufio.Reader, prompt string, defaultValue int) int {
input := readString(reader, prompt, fmt.Sprintf("%d", defaultValue))
if input == "" {
return defaultValue
// Podman containers are not able to listen on privileged ports. The official recommendation is to
// container low-range ports as unprivileged ports.
// Linux only.
if err := run("bash", "-c", "echo 'net.ipv4.ip_unprivileged_port_start=80' >> /etc/sysctl.conf && sysctl -p"); err != nil {
fmt.Sprintf("failed to configure unprivileged ports: %v.\n", err)
os.Exit(1)
}
} else {
fmt.Println("You need to configure port forwarding or adjust the listening ports before running pangolin.")
}
} else {
fmt.Println("Unprivileged ports have been configured.")
}
} else if chosenContainer == Docker {
// check if docker is not installed and the user is root
if !isDockerInstalled() {
if os.Geteuid() != 0 {
fmt.Println("Docker is not installed. Please install Docker manually or run this installer as root.")
os.Exit(1)
}
}
// check if the user is in the docker group (linux only)
if !isUserInDockerGroup() {
fmt.Println("You are not in the docker group.")
fmt.Println("The installer will not be able to run docker commands without running it as root.")
os.Exit(1)
}
} else {
// This shouldn't happen unless there's a third container runtime.
os.Exit(1)
}
value := defaultValue
fmt.Sscanf(input, "%d", &value)
return value
return chosenContainer
}
func collectUserInput(reader *bufio.Reader) Config {
@@ -138,49 +339,27 @@ func collectUserInput(reader *bufio.Reader) Config {
// Basic configuration
fmt.Println("\n=== Basic Configuration ===")
config.BaseDomain = readString(reader, "Enter your base domain (no subdomain e.g. example.com)", "")
config.DashboardDomain = readString(reader, "Enter the domain for the Pangolin dashboard", "pangolin."+config.BaseDomain)
config.LetsEncryptEmail = readString(reader, "Enter email for Let's Encrypt certificates", "")
config.InstallGerbil = readBool(reader, "Do you want to use Gerbil to allow tunned connections", true)
// Admin user configuration
fmt.Println("\n=== Admin User Configuration ===")
config.AdminUserEmail = readString(reader, "Enter admin user email", "admin@"+config.BaseDomain)
for {
pass1 := readPassword("Create admin user password")
pass2 := readPassword("Confirm admin user password")
if pass1 != pass2 {
fmt.Println("Passwords do not match")
} else {
config.AdminUserPassword = pass1
if valid, message := validatePassword(config.AdminUserPassword); valid {
break
} else {
fmt.Println("Invalid password:", message)
fmt.Println("Password requirements:")
fmt.Println("- At least one uppercase English letter")
fmt.Println("- At least one lowercase English letter")
fmt.Println("- At least one digit")
fmt.Println("- At least one special character")
}
}
// Set default dashboard domain after base domain is collected
defaultDashboardDomain := ""
if config.BaseDomain != "" {
defaultDashboardDomain = "pangolin." + config.BaseDomain
}
// Security settings
fmt.Println("\n=== Security Settings ===")
config.DisableSignupWithoutInvite = readBool(reader, "Disable signup without invite", true)
config.DisableUserCreateOrg = readBool(reader, "Disable users from creating organizations", false)
config.DashboardDomain = readString(reader, "Enter the domain for the Pangolin dashboard", defaultDashboardDomain)
config.LetsEncryptEmail = readString(reader, "Enter email for Let's Encrypt certificates", "")
config.InstallGerbil = readBool(reader, "Do you want to use Gerbil to allow tunneled connections", true)
// Email configuration
fmt.Println("\n=== Email Configuration ===")
config.EnableEmail = readBool(reader, "Enable email functionality", false)
config.EnableEmail = readBool(reader, "Enable email functionality (SMTP)", false)
if config.EnableEmail {
config.EmailSMTPHost = readString(reader, "Enter SMTP host", "")
config.EmailSMTPPort = readInt(reader, "Enter SMTP port (default 587)", 587)
config.EmailSMTPUser = readString(reader, "Enter SMTP username", "")
config.EmailSMTPPass = readString(reader, "Enter SMTP password", "")
config.EmailSMTPPass = readString(reader, "Enter SMTP password", "") // Should this be readPassword?
config.EmailNoReply = readString(reader, "Enter no-reply email address", "")
}
@@ -189,68 +368,26 @@ func collectUserInput(reader *bufio.Reader) Config {
fmt.Println("Error: Domain name is required")
os.Exit(1)
}
if config.DashboardDomain == "" {
fmt.Println("Error: Dashboard Domain name is required")
os.Exit(1)
}
if config.LetsEncryptEmail == "" {
fmt.Println("Error: Let's Encrypt email is required")
os.Exit(1)
}
if config.AdminUserEmail == "" || config.AdminUserPassword == "" {
fmt.Println("Error: Admin user email and password are required")
// Advanced configuration
fmt.Println("\n=== Advanced Configuration ===")
config.EnableIPv6 = readBool(reader, "Is your server IPv6 capable?", true)
config.EnableGeoblocking = readBool(reader, "Do you want to download the MaxMind GeoLite2 database for geoblocking functionality?", true)
if config.DashboardDomain == "" {
fmt.Println("Error: Dashboard Domain name is required")
os.Exit(1)
}
return config
}
func validatePassword(password string) (bool, string) {
if len(password) == 0 {
return false, "Password cannot be empty"
}
var (
hasUpper bool
hasLower bool
hasDigit bool
hasSpecial bool
)
for _, char := range password {
switch {
case unicode.IsUpper(char):
hasUpper = true
case unicode.IsLower(char):
hasLower = true
case unicode.IsDigit(char):
hasDigit = true
case unicode.IsPunct(char) || unicode.IsSymbol(char):
hasSpecial = true
}
}
var missing []string
if !hasUpper {
missing = append(missing, "an uppercase letter")
}
if !hasLower {
missing = append(missing, "a lowercase letter")
}
if !hasDigit {
missing = append(missing, "a digit")
}
if !hasSpecial {
missing = append(missing, "a special character")
}
if len(missing) > 0 {
return false, fmt.Sprintf("Password must contain %s", strings.Join(missing, ", "))
}
return true, ""
}
func createConfigFiles(config Config) error {
os.MkdirAll("config", 0755)
os.MkdirAll("config/letsencrypt", 0755)
@@ -258,26 +395,33 @@ func createConfigFiles(config Config) error {
os.MkdirAll("config/logs", 0755)
// Walk through all embedded files
err := fs.WalkDir(configFiles, "fs", func(path string, d fs.DirEntry, err error) error {
err := fs.WalkDir(configFiles, "config", func(path string, d fs.DirEntry, err error) error {
if err != nil {
return err
}
// Skip the root fs directory itself
if path == "fs" {
if path == "config" {
return nil
}
// Get the relative path by removing the "fs/" prefix
relPath := strings.TrimPrefix(path, "fs/")
if !config.DoCrowdsecInstall && strings.Contains(path, "crowdsec") {
return nil
}
// Create the full output path under "config/"
outPath := filepath.Join("config", relPath)
if config.DoCrowdsecInstall && !strings.Contains(path, "crowdsec") {
return nil
}
// skip .DS_Store
if strings.Contains(path, ".DS_Store") {
return nil
}
if d.IsDir() {
// Create directory
if err := os.MkdirAll(outPath, 0755); err != nil {
return fmt.Errorf("failed to create directory %s: %v", outPath, err)
if err := os.MkdirAll(path, 0755); err != nil {
return fmt.Errorf("failed to create directory %s: %v", path, err)
}
return nil
}
@@ -295,14 +439,14 @@ func createConfigFiles(config Config) error {
}
// Ensure parent directory exists
if err := os.MkdirAll(filepath.Dir(outPath), 0755); err != nil {
return fmt.Errorf("failed to create parent directory for %s: %v", outPath, err)
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
return fmt.Errorf("failed to create parent directory for %s: %v", path, err)
}
// Create output file
outFile, err := os.Create(outPath)
outFile, err := os.Create(path)
if err != nil {
return fmt.Errorf("failed to create %s: %v", outPath, err)
return fmt.Errorf("failed to create %s: %v", path, err)
}
defer outFile.Close()
@@ -313,148 +457,215 @@ func createConfigFiles(config Config) error {
return nil
})
if err != nil {
return fmt.Errorf("error walking config files: %v", err)
}
// get the current directory
dir, err := os.Getwd()
if err != nil {
return fmt.Errorf("failed to get current directory: %v", err)
}
sourcePath := filepath.Join(dir, "config/docker-compose.yml")
destPath := filepath.Join(dir, "docker-compose.yml")
// Check if source file exists
if _, err := os.Stat(sourcePath); err != nil {
return fmt.Errorf("source docker-compose.yml not found: %v", err)
}
// Try to move the file
err = os.Rename(sourcePath, destPath)
if err != nil {
return fmt.Errorf("failed to move docker-compose.yml from %s to %s: %v",
sourcePath, destPath, err)
}
return nil
}
func installDocker() error {
// Detect Linux distribution
cmd := exec.Command("cat", "/etc/os-release")
output, err := cmd.Output()
func copyFile(src, dst string) error {
source, err := os.Open(src)
if err != nil {
return fmt.Errorf("failed to detect Linux distribution: %v", err)
return err
}
osRelease := string(output)
defer source.Close()
// Detect system architecture
archCmd := exec.Command("uname", "-m")
archOutput, err := archCmd.Output()
destination, err := os.Create(dst)
if err != nil {
return fmt.Errorf("failed to detect system architecture: %v", err)
}
arch := strings.TrimSpace(string(archOutput))
// Map architecture to Docker's architecture naming
var dockerArch string
switch arch {
case "x86_64":
dockerArch = "amd64"
case "aarch64":
dockerArch = "arm64"
default:
return fmt.Errorf("unsupported architecture: %s", arch)
}
var installCmd *exec.Cmd
switch {
case strings.Contains(osRelease, "ID=ubuntu"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
apt-get update &&
apt-get install -y apt-transport-https ca-certificates curl software-properties-common &&
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&
echo "deb [arch=%s signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list &&
apt-get update &&
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`, dockerArch))
case strings.Contains(osRelease, "ID=debian"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
apt-get update &&
apt-get install -y apt-transport-https ca-certificates curl software-properties-common &&
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&
echo "deb [arch=%s signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list &&
apt-get update &&
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`, dockerArch))
case strings.Contains(osRelease, "ID=fedora"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
dnf -y install dnf-plugins-core &&
dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo &&
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
`))
case strings.Contains(osRelease, "ID=opensuse") || strings.Contains(osRelease, "ID=\"opensuse-"):
installCmd = exec.Command("bash", "-c", `
zypper install -y docker docker-compose &&
systemctl enable docker
`)
case strings.Contains(osRelease, "ID=rhel") || strings.Contains(osRelease, "ID=\"rhel"):
installCmd = exec.Command("bash", "-c", fmt.Sprintf(`
dnf remove -y runc &&
dnf -y install yum-utils &&
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo &&
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin &&
systemctl enable docker
`))
case strings.Contains(osRelease, "ID=amzn"):
installCmd = exec.Command("bash", "-c", `
yum update -y &&
yum install -y docker &&
systemctl enable docker &&
usermod -a -G docker ec2-user
`)
default:
return fmt.Errorf("unsupported Linux distribution")
}
installCmd.Stdout = os.Stdout
installCmd.Stderr = os.Stderr
return installCmd.Run()
}
func isDockerInstalled() bool {
cmd := exec.Command("docker", "--version")
if err := cmd.Run(); err != nil {
return false
}
return true
}
func pullAndStartContainers() error {
fmt.Println("Starting containers...")
// First try docker compose (new style)
cmd := exec.Command("docker", "compose", "-f", "docker-compose.yml", "pull")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
fmt.Println("Failed to start containers using docker compose, falling back to docker-compose command")
os.Exit(1)
}
cmd = exec.Command("docker", "compose", "-f", "docker-compose.yml", "up", "-d")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err = cmd.Run()
if err != nil {
fmt.Println("Failed to start containers using docker-compose command")
os.Exit(1)
return err
}
defer destination.Close()
_, err = io.Copy(destination, source)
return err
}
func moveFile(src, dst string) error {
if err := copyFile(src, dst); err != nil {
return err
}
return os.Remove(src)
}
func printSetupToken(containerType SupportedContainer, dashboardDomain string) {
fmt.Println("Waiting for Pangolin to generate setup token...")
// Wait for Pangolin to be healthy
if err := waitForContainer("pangolin", containerType); err != nil {
fmt.Println("Warning: Pangolin container did not become healthy in time.")
return
}
// Give a moment for the setup token to be generated
time.Sleep(2 * time.Second)
// Fetch logs
var cmd *exec.Cmd
if containerType == Docker {
cmd = exec.Command("docker", "logs", "pangolin")
} else {
cmd = exec.Command("podman", "logs", "pangolin")
}
output, err := cmd.Output()
if err != nil {
fmt.Println("Warning: Could not fetch Pangolin logs to find setup token.")
return
}
// Parse for setup token
lines := strings.Split(string(output), "\n")
for i, line := range lines {
if strings.Contains(line, "=== SETUP TOKEN GENERATED ===") || strings.Contains(line, "=== SETUP TOKEN EXISTS ===") {
// Look for "Token: ..." in the next few lines
for j := i + 1; j < i+5 && j < len(lines); j++ {
trimmedLine := strings.TrimSpace(lines[j])
if strings.Contains(trimmedLine, "Token:") {
// Extract token after "Token:"
tokenStart := strings.Index(trimmedLine, "Token:")
if tokenStart != -1 {
token := strings.TrimSpace(trimmedLine[tokenStart+6:])
fmt.Printf("Setup token: %s\n", token)
fmt.Println("")
fmt.Println("This token is required to register the first admin account in the web UI at:")
fmt.Printf("https://%s/auth/initial-setup\n", dashboardDomain)
fmt.Println("")
fmt.Println("Save this token securely. It will be invalid after the first admin is created.")
return
}
}
}
}
}
fmt.Println("Warning: Could not find a setup token in Pangolin logs.")
}
func showSetupTokenInstructions(containerType SupportedContainer, dashboardDomain string) {
fmt.Println("\n=== Setup Token Instructions ===")
fmt.Println("To get your setup token, you need to:")
fmt.Println("")
fmt.Println("1. Start the containers")
if containerType == Docker {
fmt.Println(" docker compose up -d")
} else if containerType == Podman {
fmt.Println(" podman-compose up -d")
} else {
}
fmt.Println("")
fmt.Println("2. Wait for the Pangolin container to start and generate the token")
fmt.Println("")
fmt.Println("3. Check the container logs for the setup token")
if containerType == Docker {
fmt.Println(" docker logs pangolin | grep -A 2 -B 2 'SETUP TOKEN'")
} else if containerType == Podman {
fmt.Println(" podman logs pangolin | grep -A 2 -B 2 'SETUP TOKEN'")
} else {
}
fmt.Println("")
fmt.Println("4. Look for output like")
fmt.Println(" === SETUP TOKEN GENERATED ===")
fmt.Println(" Token: [your-token-here]")
fmt.Println(" Use this token on the initial setup page")
fmt.Println("")
fmt.Println("5. Use the token to complete initial setup at")
fmt.Printf(" https://%s/auth/initial-setup\n", dashboardDomain)
fmt.Println("")
fmt.Println("The setup token is required to register the first admin account.")
fmt.Println("Save it securely - it will be invalid after the first admin is created.")
fmt.Println("================================")
}
func generateRandomSecretKey() string {
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
const length = 32
var seededRand *rand.Rand = rand.New(
rand.NewSource(time.Now().UnixNano()))
b := make([]byte, length)
for i := range b {
b[i] = charset[seededRand.Intn(len(charset))]
}
return string(b)
}
func getPublicIP() string {
client := &http.Client{
Timeout: 10 * time.Second,
}
resp, err := client.Get("https://ifconfig.io/ip")
if err != nil {
return ""
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
return ""
}
ip := strings.TrimSpace(string(body))
// Validate that it's a valid IP address
if net.ParseIP(ip) != nil {
return ip
}
return ""
}
// Run external commands with stdio/stderr attached.
func run(name string, args ...string) error {
cmd := exec.Command(name, args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}
func checkPortsAvailable(port int) error {
addr := fmt.Sprintf(":%d", port)
ln, err := net.Listen("tcp", addr)
if err != nil {
return fmt.Errorf(
"ERROR: port %d is occupied or cannot be bound: %w\n\n",
port, err,
)
}
if closeErr := ln.Close(); closeErr != nil {
fmt.Fprintf(os.Stderr,
"WARNING: failed to close test listener on port %d: %v\n",
port, closeErr,
)
}
return nil
}
func downloadMaxMindDatabase() error {
fmt.Println("Downloading MaxMind GeoLite2 Country database...")
// Download the GeoLite2 Country database
if err := run("curl", "-L", "-o", "GeoLite2-Country.tar.gz",
"https://github.com/GitSquared/node-geolite2-redist/raw/refs/heads/master/redist/GeoLite2-Country.tar.gz"); err != nil {
return fmt.Errorf("failed to download GeoLite2 database: %v", err)
}
// Extract the database
if err := run("tar", "-xzf", "GeoLite2-Country.tar.gz"); err != nil {
return fmt.Errorf("failed to extract GeoLite2 database: %v", err)
}
// Find the .mmdb file and move it to the config directory
if err := run("bash", "-c", "mv GeoLite2-Country_*/GeoLite2-Country.mmdb config/"); err != nil {
return fmt.Errorf("failed to move GeoLite2 database to config directory: %v", err)
}
// Clean up the downloaded files
if err := run("rm", "-rf", "GeoLite2-Country.tar.gz", "GeoLite2-Country_*"); err != nil {
fmt.Printf("Warning: failed to clean up temporary files: %v\n", err)
}
fmt.Println("MaxMind GeoLite2 Country database downloaded successfully!")
return nil
}

2099
messages/bg-BG.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/cs-CZ.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/de-DE.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/en-US.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/es-ES.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/fr-FR.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/it-IT.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/ko-KR.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/nb-NO.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/nl-NL.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/pl-PL.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/pt-PT.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/ru-RU.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/tr-TR.json Normal file

File diff suppressed because it is too large Load Diff

2099
messages/zh-CN.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,14 @@
/** @type {import('next').NextConfig} */
import createNextIntlPlugin from "next-intl/plugin";
const withNextIntl = createNextIntlPlugin();
/** @type {import("next").NextConfig} */
const nextConfig = {
eslint: {
ignoreDuringBuilds: true,
}
ignoreDuringBuilds: true
},
output: "standalone",
};
export default nextConfig;
export default withNextIntl(nextConfig);

22648
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More