2026-09-13 - 2026-10-13

Overview

55 Active Pull Requests
66 Active Issues
Excluding merges, 1 author has pushed 1 commit to main and 54 commits to all branches. On main, 3 files have changed and there have been 1112 additions and 0 deletions.

54 Pull requests merged by 1 user

Merged #122 Core Rule Set reads request bodies up to SWWAF_WAF_BODY_LIMIT 2026-10-08 12:59:14 +02:00

Merged #121 The Core Rule Set, run by Coraza, on each request's method, URL and headers 2026-10-08 09:37:14 +02:00

Merged #120 Tests that wait for a lookup answer give it an hour 2026-10-08 08:14:46 +02:00

Merged #118 Trap paths, and the error burst banning a client refused too often 2026-10-08 06:44:56 +02:00

Merged #117 CrowdSec decision list fetched, kept, and its clients banned until the decision ends 2026-10-08 05:15:07 +02:00

Merged #114 Ban notes name the reputation sources that listed the client 2026-10-08 03:08:01 +02:00

Merged #113 SWWAF_IPV6_GROUP_PREFIX, SWWAF_MAX_TRACKED_CLIENTS and SWWAF_LOG_LEVEL 2026-10-08 02:14:13 +02:00

Merged #111 AbuseIPDB scores for clients that committed an offence, within a daily budget 2026-10-07 22:47:07 +02:00

Merged #110 DNS blocklists asked in the background, verdicts kept 2026-10-07 21:09:52 +02:00

Merged #108 Blocklists and an AS percentage file fetched by URL 2026-10-07 19:09:41 +02:00

Merged #107 Anomaly thresholds: alerts for unusual traffic, nothing refused 2026-10-07 16:12:21 +02:00

Merged #103 Lower limits for listed AS numbers and countries 2026-10-07 14:22:02 +02:00

Merged #102 Byte limits per client over a minute, an hour and a day 2026-10-07 13:13:07 +02:00

Merged #100 make tidy, and make check failing on an untidy go.mod or go.sum 2026-10-07 10:30:47 +02:00

Merged #98 Look clients up in the IPinfo Lite file with SWWAF_LOOKUP_SOURCE=file 2026-10-07 10:04:11 +02:00

Merged #97 AS number and country looked up for every client 2026-10-07 08:46:02 +02:00

Merged #96 Instance name on process log lines and every metric 2026-10-07 06:48:09 +02:00

Merged #94 Alerts to Slack and ntfy, each destination with its own queue 2026-10-07 05:54:35 +02:00

Merged #93 Alerts to a JSON webhook, with a cooldown and an hourly summary 2026-10-07 04:21:24 +02:00

Merged #92 Admin endpoints for bans and clients on the single listener 2026-10-07 01:13:17 +02:00

Merged #89 Settings given as files: the _FILE form of every setting 2026-10-07 00:01:20 +02:00

Merged #88 Bans an admin makes or lifts: the admin cause, a reason, lifted bans kept 2026-10-06 23:09:53 +02:00

Merged #84 Send every log line to a syslog server as well 2026-10-06 22:02:36 +02:00

Merged #83 Rule files, and bans for a clear sign of attack 2026-10-06 20:38:36 +02:00

Merged #80 Leave SWWAF_RATE_LIMIT_EXEMPT_PATHS out of the request rate limits 2026-10-06 18:47:14 +02:00

Merged #82 Log the rest of the request log's fields 2026-10-06 17:26:24 +02:00

Merged #75 Take in an admin's edits of the state files while running 2026-10-06 14:18:14 +02:00

Merged #81 Observe mode: log what would be refused, refuse nothing 2026-10-06 13:04:44 +02:00

Merged #76 Serve Prometheus metrics behind SWWAF_METRICS_TOKEN 2026-10-06 11:40:28 +02:00

Merged #74 Run the GeoJS lookup tests on a clock the test controls 2026-10-06 09:12:50 +02:00

Merged #72 Keep the bans, the clients and GeoJS's answers in state files 2026-10-06 08:31:53 +02:00

Merged #69 Ban the netblock of a client that breaks a rate limit, in memory 2026-10-06 05:29:04 +02:00

Merged #71 The header size and the idle time as settings 2026-10-06 05:05:32 +02:00

Merged #67 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 04:13:36 +02:00

Merged #66 Network lists: always allowed, exempt from rate limits, always refused 2026-10-06 02:36:28 +02:00

Merged #62 Derive the proxy tests' short timeout setting from the timeout 2026-10-04 11:50:09 +02:00

Merged #60 Quiet the useradd and Perl warnings in the image build 2026-10-04 11:38:15 +02:00

Merged #59 Spend less of make test writing the image and waiting 2026-10-04 11:13:33 +02:00

Merged #57 The image apps build FROM, with its health check 2026-10-04 10:05:31 +02:00

Merged #54 Country allow and deny lists, looked up through GeoJS 2026-10-04 08:29:42 +02:00

Merged #55 Proxy timing tests outlast a hold-up of the test process 2026-10-04 07:53:19 +02:00

Merged #52 Point the unreachable-app test at port 1 2026-10-04 06:39:09 +02:00

Merged #50 TestRequestTimeouts expects 504 when none of the body reached the app 2026-10-04 06:09:23 +02:00

Merged #48 Per-client request rate limits over a minute, an hour and a day 2026-10-04 04:24:35 +02:00

Merged #47 Add the MIT licence 2026-10-04 03:07:52 +02:00

Merged #46 Settle the spec's open points after milestones 1 and 2 2026-10-04 02:57:25 +02:00

Merged #42 Settle the open points of the Ubuntu and nixpkgs image 2026-10-04 02:42:58 +02:00

Merged #41 Deploy model: listen port, token files, state directory owner 2026-10-04 01:42:45 +02:00

Merged #39 Pass-through proxy with timeouts, size limits and a request log 2026-10-03 17:24:34 +02:00

Merged #31 Spec: SPEC.md and README.md to sneak's rulings, deploy model, milestones and Ubuntu base 2026-09-29 02:57:58 +02:00

Merged #37 Build the smallwebwaf image on Ubuntu 26.04 LTS with nixpkgs 2026-09-29 02:43:56 +02:00

Merged #35 SPEC follows milestones 1 and 2: build order, two size limits, GeoJS answers in memory 2026-09-29 02:10:35 +02:00

Merged #32 Deploy model: apps build FROM the smallwebwaf image, settings prefixed SWWAF_ 2026-09-29 01:48:48 +02:00

Merged #9 SPEC and README: owner rulings, issues 2 to 5, internet-ready defaults 2026-09-29 00:53:02 +02:00

1 Pull request proposed by 1 user

19 Issues closed from 2 users

Closed #78 Observe mode: log what would be refused, refuse nothing 2026-10-06 13:04:44 +02:00

Closed #73 A GeoJS lookup test measures real time and can fail under load 2026-10-06 09:12:51 +02:00

Closed #63 Pin actions/checkout at a newer release: the runner's copy of the pinned one is broken 2026-10-06 00:55:39 +02:00

Closed #61 Proxy tests: the short timeout's setting is written apart from the timeout 2026-10-04 11:50:09 +02:00

Closed #14 Milestone 2: per-IP rate limits and country allow and deny lists, ready for production 2026-10-04 10:05:38 +02:00

Closed #51 TestAnswers502WhenTheAppCannotBeReached can reach another test's server 2026-10-04 06:39:09 +02:00

Closed #34 Spec: the smallwebwaf image is built on the latest Ubuntu LTS with nixpkgs installed 2026-09-29 02:43:56 +02:00

Closed #16 SPEC.md follows milestones 1 and 2: build order, one size limit per direction, GeoJS answers in memory 2026-09-29 02:10:35 +02:00

Closed #12 Deploy model: apps build FROM the smallwebwaf image, with smallwebwaf on :8080 in front of the app on 127.0.0.1:8081 2026-09-29 01:48:48 +02:00

Closed #6 SPEC update: fold the seven resolutions, issues 2 to 5 and the internet-ready directive (issue 7) into SPEC.md 2026-09-29 00:53:54 +02:00

Closed #11 how about we use geojs (free json geoip api) instead of a local database file? maybe a config flag for it? 2026-09-29 00:53:27 +02:00

Closed #8 requirement: very simple way to entirely block a list of countries, or to allow only certain countries 2026-09-29 00:53:27 +02:00

Closed #7 SPEC: internet-ready out of the box, with 2026 real-world defaults and minimal required configuration 2026-09-29 00:53:27 +02:00

Closed #4 Ban info 2026-09-29 00:53:27 +02:00

Closed #5 Limits and timeouts 2026-09-29 00:53:02 +02:00

Closed #3 Nonsense 2026-09-29 00:53:02 +02:00

Closed #2 spec updates 2026-09-29 00:53:02 +02:00

Closed #10 Easier administration: five proposals to pick from 2026-09-28 11:27:10 +02:00

Closed #1 Land the initial README and SPEC per the owner's design rulings 2026-09-21 09:42:48 +02:00

66 Issues created by 1 user

Opened #1 Land the initial README and SPEC per the owner's design rulings 2026-09-21 09:40:32 +02:00

Opened #2 spec updates 2026-09-21 22:36:12 +02:00

Opened #3 Nonsense 2026-09-21 22:37:49 +02:00

Opened #4 Ban info 2026-09-21 22:39:30 +02:00

Opened #5 Limits and timeouts 2026-09-21 22:40:59 +02:00

Opened #6 SPEC update: fold the seven resolutions, issues 2 to 5 and the internet-ready directive (issue 7) into SPEC.md 2026-09-22 15:31:52 +02:00

Opened #7 SPEC: internet-ready out of the box, with 2026 real-world defaults and minimal required configuration 2026-09-23 13:44:29 +02:00

Opened #8 requirement: very simple way to entirely block a list of countries, or to allow only certain countries 2026-09-23 14:45:49 +02:00

Opened #10 Easier administration: five proposals to pick from 2026-09-23 14:52:55 +02:00

Opened #11 how about we use geojs (free json geoip api) instead of a local database file? maybe a config flag for it? 2026-09-23 14:56:01 +02:00

Opened #12 Deploy model: apps build FROM the smallwebwaf image, with smallwebwaf on :8080 in front of the app on 127.0.0.1:8081 2026-09-24 12:09:15 +02:00

Opened #13 Milestone 1: pass-through proxy with read and write timeouts, size limits and a request log 2026-09-25 10:34:34 +02:00

Opened #14 Milestone 2: per-IP rate limits and country allow and deny lists, ready for production 2026-09-25 10:34:38 +02:00

Opened #15 LICENSE: sneak picks the licence 2026-09-25 10:39:43 +02:00

Opened #16 SPEC.md follows milestones 1 and 2: build order, one size limit per direction, GeoJS answers in memory 2026-09-25 11:01:47 +02:00

Opened #17 Keep state across restarts: GeoJS answers and rate counters on disk 2026-09-25 11:01:47 +02:00

Opened #19 Network lists: always allowed, exempt from limits, always refused 2026-09-25 11:01:48 +02:00

Opened #28 Remote log sending 2026-09-25 11:01:48 +02:00

Opened #27 Admin listener 2026-09-25 11:01:48 +02:00

Opened #26 Alerts: the queue and the JSON webhook 2026-09-25 11:01:48 +02:00

Opened #25 The Core Rule Set, run by Coraza 2026-09-25 11:01:48 +02:00

Opened #24 Rule files 2026-09-25 11:01:48 +02:00

Opened #23 Metrics endpoint 2026-09-25 11:01:48 +02:00

Opened #22 The IPinfo Lite file as a second lookup source 2026-09-25 11:01:48 +02:00

Opened #21 Lower limits for listed AS numbers and countries 2026-09-25 11:01:48 +02:00

Opened #20 Byte limits per client 2026-09-25 11:01:48 +02:00

Opened #18 Bans: the ban model of issue 2, with the notes of issue 4 2026-09-25 11:01:48 +02:00

Opened #29 Reputation: downloaded blocklists 2026-09-25 11:01:49 +02:00

Opened #30 Gitea requests the Core Rule Set may refuse at the defaults, to be checked against a running gitea when milestone 1 is built 2026-09-29 00:41:05 +02:00

Opened #33 Deploy model: points the spec leaves open, from the review of issue 12 2026-09-29 01:49:01 +02:00

Opened #34 Spec: the smallwebwaf image is built on the latest Ubuntu LTS with nixpkgs installed 2026-09-29 01:54:49 +02:00

Opened #36 Spec after the milestones: points left open, from the review of issue 16 2026-09-29 02:10:49 +02:00

Opened #38 Ubuntu and nixpkgs image: points left open, from the review of issue 34 2026-09-29 02:44:07 +02:00

Opened #43 Milestone 2, part 1: per-IP rate limits 2026-10-04 02:44:50 +02:00

Opened #45 Milestone 2, part 3: the image apps build FROM, with its health check 2026-10-04 02:44:50 +02:00

Opened #44 Milestone 2, part 2: country allow and deny lists, with GeoJS lookup 2026-10-04 02:44:50 +02:00

Opened #49 TestRequestTimeouts can answer 504 instead of 408 when the client stops sending 2026-10-04 03:36:30 +02:00

Opened #51 TestAnswers502WhenTheAppCannotBeReached can reach another test's server 2026-10-04 05:06:25 +02:00

Opened #53 Proxy timing tests can fail when the test process is held up for 300 ms 2026-10-04 06:43:53 +02:00

Opened #56 make test runs past the 20-second target 2026-10-04 07:53:37 +02:00

Opened #58 Image build warnings: useradd uid range, a Perl warning while installing, runsvinit at stop 2026-10-04 10:06:09 +02:00

Opened #61 Proxy tests: the short timeout's setting is written apart from the timeout 2026-10-04 11:13:49 +02:00

Opened #63 Pin actions/checkout at a newer release: the runner's copy of the pinned one is broken 2026-10-06 00:50:46 +02:00

Opened #65 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 01:30:45 +02:00

Opened #68 State files: take in an admin's edits while running 2026-10-06 02:47:45 +02:00

Opened #70 The header size and the idle time as settings 2026-10-06 03:53:13 +02:00

Opened #73 A GeoJS lookup test measures real time and can fail under load 2026-10-06 08:32:05 +02:00

Opened #77 Paths the request rate limits do not count (SWWAF_RATE_LIMIT_EXEMPT_PATHS) 2026-10-06 11:41:05 +02:00

Opened #78 Observe mode: log what would be refused, refuse nothing 2026-10-06 11:41:05 +02:00

Opened #79 The rest of the request log's fields 2026-10-06 11:41:19 +02:00

Opened #85 Default rule file: a probe sent percent-encoded gets past its path rules 2026-10-06 18:16:27 +02:00

Opened #86 Bans an admin makes or lifts: the admin cause, a reason, lifted bans kept 2026-10-06 20:40:39 +02:00

Opened #87 Settings given as files: the _FILE form of every setting 2026-10-06 20:40:53 +02:00

Opened #90 Alerts to Slack and ntfy 2026-10-07 00:02:11 +02:00

Opened #91 SWWAF_INSTANCE_NAME on process log lines and metrics 2026-10-07 00:02:29 +02:00

Opened #95 AS number and country looked up for every client 2026-10-07 05:55:25 +02:00

Opened #99 make tidy, and make check failing on an untidy go.mod or go.sum 2026-10-07 09:39:54 +02:00

Opened #101 Anomaly thresholds: alerts for unusual traffic, nothing refused 2026-10-07 11:01:23 +02:00

Opened #104 Reputation: DNS blocklists 2026-10-07 14:23:10 +02:00

Opened #105 Reputation: AbuseIPDB 2026-10-07 14:23:11 +02:00

Opened #106 Reputation: the CrowdSec decision feed 2026-10-07 14:23:11 +02:00

Opened #109 Ban notes name the reputation sources that listed the client 2026-10-07 17:13:33 +02:00

Opened #112 SWWAF_IPV6_GROUP_PREFIX, SWWAF_MAX_TRACKED_CLIENTS and SWWAF_LOG_LEVEL 2026-10-07 22:47:30 +02:00

Opened #115 Trap paths and the error burst 2026-10-08 03:08:34 +02:00

Opened #116 Body inspection by the Core Rule Set (SWWAF_WAF_BODY_LIMIT) 2026-10-08 03:38:47 +02:00

Opened #119 TestBanNotes can fail when the test process is held up past the lookup timeout 2026-10-08 06:51:54 +02:00