paivana

HTTP paywall reverse proxy
Log | Files | Refs | Submodules | README | LICENSE

DateCommit messageAuthorFiles+-
2026-05-05 11:34add whitelisting, global cookie setting, but generally restrict payment per pathChristian Grothoff6+118-6
2026-05-04 14:09use IP, not struct sockaddrChristian Grothoff2+15-7
2026-05-04 14:03more loggingChristian Grothoff1+1-1
2026-05-04 14:02more loggingChristian Grothoff1+12-3
2026-05-04 13:55more loggingChristian Grothoff2+20-1
2026-05-04 13:47more loggingChristian Grothoff1+5-0
2026-05-03 22:55402 resp change based on cookieSebastian1+2-1
2026-05-03 22:54dont follow redirect when checking paymentSebastian1+4-3
2026-05-03 22:45use the right website from the location.hashSebastian1+22-17
2026-05-03 22:12styled paywallSebastian1+410-28
2026-05-03 17:56fix #11356Christian Grothoff1+21-0
2026-05-03 08:04even cache 302, but Vary on CookieChristian Grothoff1+8-0
2026-05-02 21:36-fix up configChristian Grothoff1+4-4
2026-05-02 21:18update implementation to match latest specChristian Grothoff3+97-7
2026-05-02 17:44properly initialize max_pickup_duration from template, default to FOREVER as per specChristian Grothoff1+5-1
2026-05-02 17:30must allow some minimum caching, otherwise this is really bad for high-performance sitesChristian Grothoff1+4-1
2026-05-01 12:20debian: clean up rulesChristian Grothoff5+4-7
2026-05-01 11:33debian: build-depends on meson now, remove autotoolsChristian Grothoff1+2-4
2026-04-30 23:44fix #11356: cache is bad here sinceSebastian1+0-4
2026-04-30 23:42fix typo: missing colonSebastian1+1-1
2026-04-30 22:51support for destination unix pathSebastian3+25-0
2026-04-29 21:33make error messages slightly nicerChristian Grothoff1+4-4
2026-04-29 17:55fix #11356 couple of fixes - use proper buffer before hashing to 256 - query paivana on origin instead of website - request the merchant directly (instead of /.well-known/paivana/session/) - qrjs inplace (instead of internet request to sauron)Sebastian1+174-122
2026-04-29 17:49fix #11356: default max pickup time to one hourSebastian1+1-0
2026-04-29 17:22ignore makefilesSebastian1+1-0
2026-04-29 17:21fix #11356 bad cookie formatSebastian1+1-1
2026-04-29 13:13missgin resource releaseSebastian1+1-0
2026-04-29 13:00fix valgrind: Use of uninitialised value of size 8Sebastian1+1-1
2026-04-29 12:53fix #11356 corrected commit 0dc274dSebastian1+2-2
2026-04-28 21:55-bugfixChristian Grothoff1+1-1
2026-04-28 17:00fix #11356 when .well-known is present it won't be at the start of the URLSebastian1+1-1
2026-04-27 19:42fix minor warningChristian Grothoff1+12-7
2026-04-27 15:18fix #11356 adding paivana header reponse for non-webSebastian1+62-0
2026-04-26 22:15remove FIXMEChristian Grothoff1+8-7
2026-04-26 22:12remove -F option, also use PH_ctx instead of another curl multi loop for the reverse proxy curl interactionChristian Grothoff3+87-415
2026-04-26 21:15add -F flag to continue upload even if response is already being receivedChristian Grothoff3+32-6
2026-04-26 20:48do not 502 on early responseChristian Grothoff1+52-48
2026-04-26 20:09use bool for curl_pausedChristian Grothoff1+4-4
2026-04-26 20:08implement new -f option to extract client address from X-forwarded-for headerChristian Grothoff1+43-6
2026-04-26 20:04add new -f command-line optionChristian Grothoff2+17-0
2026-04-26 20:01set VARY and CACHE_CONTROL headers in paywall responsesChristian Grothoff1+12-2
2026-04-26 19:07fix 100 continue handlingChristian Grothoff3+14-16
2026-04-26 19:04clean up reverse proxy state machine logic and error handlingChristian Grothoff1+683-459
2026-04-23 21:07fix Via and Connection header handlingChristian Grothoff2+210-23
2026-04-23 20:54fail 100 continue early properlyChristian Grothoff1+0-3
2026-04-23 20:54fail 100 continue early properlyChristian Grothoff3+112-3
2026-04-23 20:43make max upload size an optionChristian Grothoff2+14-10
2026-04-23 20:39add reverse proxy testsChristian Grothoff11+2157-1
2026-04-23 20:20add FIXMEChristian Grothoff1+2-1
2026-04-23 19:05more comprehensive reverse proxy logicChristian Grothoff1+327-45
2026-04-23 17:30only initialize templates if we are actually in paywall modeChristian Grothoff1+46-24
2026-04-23 17:22use prebuilt branchChristian Grothoff1+1-0
2026-04-23 14:31build: update depdencies for nix buildMartin Schanzenbach2+6-7
2026-04-23 13:53add Debian package definitionChristian Grothoff20+1620-0
2026-04-23 06:36build: Migrate to mesonMartin Schanzenbach17+1577-427
2026-04-22 20:59debug paivanaChristian Grothoff9+368-142
2026-04-21 22:30sketch HTML paywall pageChristian Grothoff1+4-5
2026-04-21 22:29sketch HTML paywall pageChristian Grothoff2+150-63
2026-04-21 21:38add man pagesChristian Grothoff1+4-0
2026-04-21 21:35add docs submoduleChristian Grothoff3+5-0
2026-04-20 20:03use FIXME, not TODOChristian Grothoff1+1-1
2026-04-20 18:08complete template loading logicChristian Grothoff5+51-44
2026-04-20 16:50start to implement template logicChristian Grothoff6+283-43
2026-04-20 13:34more basics on PaivanaChristian Grothoff6+478-382
2026-04-20 13:21WiPChristian Grothoff6+377-65
2026-04-20 13:09address various FIXMEsChristian Grothoff4+98-68
2026-04-19 22:34can be staticChristian Grothoff1+2-2
2026-04-19 22:34expand consistency check logicChristian Grothoff2+86-9
2026-04-19 22:15compute paivana hash without complex KDF as per specChristian Grothoff1+14-13
2026-04-19 22:11compute paivana_id for session checkChristian Grothoff3+70-1
2026-04-19 21:59align cookie computation with specChristian Grothoff4+25-15
2026-04-19 21:13more work on Paivana: add pay handlerChristian Grothoff8+784-225
2026-04-16 09:06refacotor httpd logicChristian Grothoff6+1366-1144
2026-04-16 07:33use libtalermhd to remove code duplicationChristian Grothoff3+92-389
2026-04-16 07:02use timestampChristian Grothoff2+49-10
2026-04-07 14:23adapt to latest GNUnet APIChristian Grothoff1+9-10
2025-11-26 23:32Paivana paywall servingChristian Grothoff1+5-0
2025-11-26 23:29get paywall pageChristian Grothoff1+14-10
2025-11-26 23:27expand build system to install resource fileChristian Grothoff2+2-1
2025-11-26 23:24basic paywall logicChristian Grothoff2+298-2
2025-11-26 23:12paywall.htmlFlorian Dold1+71-0
2025-11-26 22:40complete trivial reverse proxyChristian Grothoff6+314-41
2025-11-26 22:28get code to compileChristian Grothoff4+77-37
2025-11-26 13:22more basicsChristian Grothoff5+110-0
2025-11-26 13:14minimal build systemChristian Grothoff3+2-0
2025-11-26 13:12initial import, based on twisterChristian Grothoff8+2787-0