Simple Forgejo proxy for static pages https://pages.0011.lt/
  • Go 98%
  • Makefile 2%
Find a file
2026-04-25 01:28:08 +03:00
.editorconfig Refactor the project into modules 2026-04-25 00:17:37 +03:00
.gitignore Refactor the project into modules 2026-04-25 00:17:37 +03:00
config.go Add permissions policy in CLI 2026-04-25 00:46:36 +03:00
forgejo-pages-proxy.service Refactor the project into modules 2026-04-25 00:17:37 +03:00
go.mod Refactor the project into modules 2026-04-25 00:17:37 +03:00
LICENSE first commit 2026-04-21 17:07:37 +03:00
main.go Add permissions policy in CLI 2026-04-25 00:46:36 +03:00
Makefile Remove GO[arch] from explicit Makefile config 2026-04-25 01:28:08 +03:00
proxy.go Add permissions policy in CLI 2026-04-25 00:46:36 +03:00
README.md Remove GO[arch] from explicit Makefile config 2026-04-25 01:28:08 +03:00
router.go Update readme, add copyleft notices 2026-04-25 00:36:07 +03:00

Forgejo pages proxy

Simple Forgejo proxy for static pages

Compatibility

Works with both Gitea and Forgejo.

Running

make clean && make
./forgejo-pages-proxy -h  # Prints the help page

For using this software as a service, you can find a pre-written example SystemD service file at forgejo-pages-proxy.service for your convenience.

For best performance you may want to try the GO[arch] environment variable :D

Usage

Reverse proxy the pages proxy, then simply go to:

  • https://pages.example.com/user -> renders user's "profile" web page at https://git.example.com/user/.webpage (special repository)
  • https://pages.example.com/user/repo -> renders user's repo's web page at https://git.example.com/user/repo
  • Repository root is treated as the root endpoint for the page, meaning all HTML files must be at the root of the project, not in subdirectories or different branches.
  • Served repositories MUST be public.
  • If your Forgejo is behind another proxy (e.g., Anubis or go-away), it is recommended that you either set up allow pages to pass through, or you add an exemption rule.

License

This Software forgejo-pages-proxy is licensed under the GNU Affero General Public License, version 3 ONLY (AGPL-3.0-only) by VšĮ „0011.LT". This means:

  • Users interacting with the proxy over a network MUST be given access to the full source code of the version currently running.
  • The software is strictly governed by Version 3 terms and CANNOT be automatically upgraded to future AGPL versions.
  • Any modified versions or software containing this code MUST also be licensed under the AGPL-3.0-only.
  • "Source code" MUST include everything needed to build the project (Makefile, all Go files, and alike).
  • All copyright notices for VšĮ „0011.LT" must remain intact in all files.
  • Contributors provide an implicit patent license to all users.
  • The software is provided "as is," and VšĮ „0011.LT" carries no liability for its use or failure.

Licencija

Šiai programinei įrangai forgejo-pages-proxy VšĮ „0011.LT" suteikia TIK „GNU Affero General Public License" 3-iosios versijos licenciją (AGPL-3.0-only). Tai reiškia:

  • Naudotojams, sąveikaujantiems su šiuo tarpiniu serveriu (proxy) per tinklą, PRIVALO būti suteikta prieiga prie visos šiuo metu veikiančios versijos šaltinio kodo (source code).
  • Programinei įrangai griežtai taikomos 3-iosios versijos sąlygos ir ji NEGALI būti automatiškai atnaujinta į būsimas AGPL versijas.
  • Bet kurios modifikuotos versijos arba programinė įranga, kurioje yra šio kodo, taip pat PRIVALO būti licencijuojama pagal AGPL-3.0-only.
  • „Pradinis kodas" PRIVALO apimti viską, ko reikia projektui (Makefile, visi Go failai, ir pan.).
  • Visi VšĮ „0011.LT" autorių teisių pranešimai visuose failuose privalo išlikti nepakeisti.
  • Kodo autoriai ir pagalbininkai/savanoriai visiems naudotojams suteikia numanomą patento licenciją.
  • Programinė įranga pateikiama tokia, kokia yra („as is"), ir VšĮ „0011.LT" neprisiima jokios atsakomybės už jos naudojimą ar veikimo sutrikimus.