Commit Graph
3462 Commits
Author SHA1 Message Date
Blacks-Army 8e2f9ea5ef Add HTTP method matching to resource rules
Resolves #1408.

A rule with match "METHOD" carries a comma-separated list of HTTP
methods in its value, e.g. "POST,PUT", and applies when the request
method is in that list. This makes it possible to leave GET public
while sending POST and PUT to auth, which rules could not express
before because both share the same path.

No new columns: the methods live in the existing rule value, so this
needs no migration and every existing rule keeps working unchanged.

The UI offers the ten registered methods. Blueprints and the API
accept any method token, so extension methods such as the WebDAV verbs
can be targeted too, and the UI preserves them when a rule set that
way is edited later.
2026-09-19 20:00:01 +02:00
Fred KISSIE 97c91fbdc9 ♻️ rename destinationDomain to destinationHost to include the Scheme 2026-09-18 23:55:51 +02:00
Fred KISSIE 57b80bf74e ♻️ Add ssl field to redirects and add traefik config to public file 2026-09-18 23:38:46 +02:00
Fred KISSIE d06a261cd6 ♻️ refactor 2026-09-18 21:04:56 +02:00
Fred KISSIE 67f45023db Merge branch 'dev' into feat/redirect-tables 2026-09-18 20:59:18 +02:00
Fred KISSIE 2cb5cea48f ✨ handle redirect request in badger's verifySession 2026-09-18 20:29:52 +02:00
Tyagiquamar b74ded3a9c fix(sqlite): tag per-migration database backups with version and prevent collisions 2026-09-18 21:31:00 +05:30
Fred KISSIE 85adae063b ♻️ handle priority field 2026-09-17 21:44:56 +02:00
Fred KISSIE ec36317057 ✨ finish redirect traefik config 2026-09-17 21:32:55 +02:00
Tyagiquamar 803fbb2ea2 fix(sqlite): take a single database backup per upgrade instead of one per migration 2026-09-17 22:45:42 +05:30
Owen 1f453dc04f Send out of address space errors to sites and clients 2026-09-17 09:24:15 -04:00
Fred KISSIE c51bcbb578 🚧 wip: traefik config for redirect 2026-09-16 19:30:10 +02:00
Owen 65ccd5a89d Enhance error handling for subscription lifecycle events in billing hooks 2026-09-16 12:11:25 -04:00
Owen 76a4f50ccf Update how billing is presented for license keys 2026-09-16 11:42:19 -04:00
Owen 735787b183 Fix #3778 2026-09-16 10:11:20 -04:00
Owen 4716a2a647 Make migration idempotent
Ref #3759
2026-09-16 09:08:20 -04:00
Hayyan Hajwani 9298ec7cdb fix(setup): correct month index and zero-pad database backup file names
Backup names were built inline from Date#getMonth, which is zero-indexed, so a
backup taken on 12 September 2026 was written as db_2026-8-12_20-35-56.sqlite.
No field was zero-padded either, giving names like db_2026-8-12_20-36-2.sqlite.

Extract formatBackupTimestamp into server/lib and use it from both places that
built the string: the backupDb helper in migrationsSqlite.ts and the inline copy
in the 1.0.0-beta9 setup script. Padding every field also makes the names sort
lexicographically in the order the backups were taken.

Adds tests covering both reported names, single-digit padding and sort order.
Reverting the helper to the old formula fails them with the exact name from the
report.
2026-09-16 13:46:57 +05:30
miloschwartz 3cb41211ee fix premature migration execution 2026-09-15 20:44:17 -04:00
Owen 324f3e50ff Add license tiers 2026-09-15 16:25:53 -04:00
miloschwartz 64bb6d9f9c supress healthcheck log message 2026-09-15 15:02:37 -04:00
Owen c6c12f1dcb Support _FILE env vars
Closes https://github.com/fosrl/docs-v2/issues/141
2026-09-15 10:56:39 -04:00
Owen c6c443f0e0 Remove optional before prefault for zod v4 2026-09-15 10:25:21 -04:00
Owen 24a06dd8ca Rename package import 2026-09-15 10:25:06 -04:00
Owen c11bbe670f Remove optional() where unneeded for zod 4 2026-09-15 10:23:37 -04:00
Owen 9e25650f22 Fix service missing traefik issues 2026-09-15 10:04:00 -04:00
Owen 143b4cf757 Atomically write files to avoid races with traefik 2026-09-15 10:04:00 -04:00
Owen 56e758a656 Resolve oss build issue 2026-09-14 18:05:30 -04:00
Fred KISSIE a0c77a4c85 ♻️ lil refactor 2026-09-14 23:52:27 +02:00
Fred KISSIE b58cf31856 💄 create and prefetch certificates for redirects 2026-09-14 23:49:22 +02:00
Fred KISSIE fd7780528f 🚧 Create certificate for Redirect (in case of domain) 2026-09-14 23:42:20 +02:00
miloschwartz 68821514a0 replace node cache in dns server 2026-09-14 17:41:41 -04:00
miloschwartz 8f1344a665 bump version and add 1.23 migrations 2026-09-14 17:18:31 -04:00
Owen b3e5de4a4d Fix cache separation for versions 2026-09-14 16:48:12 -04:00
Owen f9f38fb3f0 Handle the agent and agent version 2026-09-14 16:48:12 -04:00
Owen b6c048c805 Store the cli version for display and handle auto update 2026-09-14 16:48:11 -04:00
Owen e4a8e9ac8c Add region from config file 2026-09-14 16:48:10 -04:00
Owen a874a0b745 Add explicit process exit to prevent hanging in migrations script 2026-09-14 16:48:10 -04:00
Owen 9ba2cfdef2 Make the email optional 2026-09-14 16:48:10 -04:00
Owen bba8d4e7a2 Add license checks to JobScheduler and AuthoritativeDNSServer 2026-09-14 16:48:10 -04:00
Owen 350f8c012a Pull in static domains to the traefik config again 2026-09-14 16:48:10 -04:00
Owen 8a97ed5200 Move domain information to all in private 2026-09-14 16:48:10 -04:00
Owen e66f7fe71b Implement exit node check-in tracking and adjust logging for connection errors 2026-09-14 16:48:10 -04:00
Owen a37a59f39a Add default dns port and allow sites to be empty 2026-09-14 16:48:10 -04:00
Owen d0bf553f6f Quiet up logs 2026-09-14 16:48:10 -04:00
Owen 87e005d32f Seperate dns from certificates 2026-09-14 16:48:10 -04:00
Owen ad343a7453 Wire up to start 2026-09-14 16:48:10 -04:00
Owen 7e4d38548f Add certificate generation 2026-09-14 16:48:09 -04:00
Owen 3421441635 Add cert_mode to know when to gen or pull certs 2026-09-14 16:48:09 -04:00
Owen 073bfb32e9 Adjust lic headers 2026-09-14 16:48:09 -04:00
Owen 2c5b1e5f0f Add dns server 2026-09-14 16:48:09 -04:00