meowmeow
Find a file
Gusted e3c6eb4055
[PRIVACY] Add a DNS method to fetch new updates
- Use TXT records in order to determine the latest available version.
- This addresses a valid privacy issue, as with HTTP requests the server
can keep track(estimated) of how many instances are using Forgejo, with
DNS that's basically not possible as the server will never receive any
data, as the only ones receiving data are DNS resolvers.

(cherry picked from commit 0baefb546ab96bc3c06d90feffdb14873c2c2a3a)
(cherry picked from commit e8ee41880b775532e6a68bd2052ed96d369dee78)
(cherry picked from commit 7eca4f3bf1faa3f063c9668d1bb354b842361007)
(cherry picked from commit 6dde3992dc504f105f2285c34fa6445fa24da0b1)
(cherry picked from commit fb3a37fbfc73d35e3ba8d793b6051aeddcbb0634)
(cherry picked from commit 8304af1e9d94b89ee700b0d454d74d0dc5cfac64)
(cherry picked from commit 0543a7d12a4bac012db8b9e683e879e6f265a9dc)
(cherry picked from commit c3a22933b7ca8201c96267d360281848fb2a1c7e)
(cherry picked from commit e24370769413aebe96ba6cfb230da3c2c33e39f4)
(cherry picked from commit 7eb6d1bcf7a0bdae0cbbf06136854d0b29c54899)
(cherry picked from commit 1d7b9535cd73bffda5defd143c25e514cc55dee8)
(cherry picked from commit 05920dce67808ae346c4e9cd9a41c9942e857bc6)
(cherry picked from commit f173f27d7c3bf36c54b7e715a61b2308d1b0d277)
(cherry picked from commit 90e1c9340e72f08e67293647cf5f19b3e3571909)
(cherry picked from commit de68610ea70b81146f6412e42d72b97aad0428ae)
(cherry picked from commit 8d5757ea0459cffeb885462b7a9d1e1c630e1f16)
(cherry picked from commit c7a7fff316c1a88ba9b0984114a25cecfac56bce)
(cherry picked from commit 39ac8b8fc164090eacd5870bf78ea863d2add5fa)
(cherry picked from commit 98892033012ccc4f4bef30e10932fa22bf12ebcd)

[PRIVACY]: Adjust update checker description

- Resolves #323
- Adjust the description of the update check function on the
installation page to describe the privacy method instead of the HTTP
method by checking gitea.io

(cherry picked from commit 61eae5b105e374169fe23fbb150ce080f8f340ec)
(cherry picked from commit 091def20a1180af718209f2bd520cb249b1943ae)
(cherry picked from commit d5d11bf45a77cad6be2194620c4d865231cfbe67)
(cherry picked from commit 71863d470739c743335931f1563e5b63cf3194eb)
(cherry picked from commit 11ece4aab1ba7a154e985a6732c6839d8a688315)
(cherry picked from commit afdd7e714f9e735811dc909a854cfac964e474e7)
(cherry picked from commit 39170e2f1d64d79bb05940b72d7db602bcff1bce)
(cherry picked from commit 4b3a52aab82e8b9f59f247983a4aa7de65c6c747)
(cherry picked from commit 9d763c5fc8cd0ff7898855e1ef088edb264388d5)
(cherry picked from commit 638db15482f6907fa21e27aaccf6795226ae60c0)
(cherry picked from commit a52bfdd8e76466aa293855a35c6ac9e18a228e90)
(cherry picked from commit dc93d00e85dfdd9c090294f5504b8d885a602c60)
(cherry picked from commit 0bc4b3508c8d2e49b57d47b4c5b36a9365580a1b)
(cherry picked from commit 59e524d58644720258bcabe9037cfc072e8f1250)
(cherry picked from commit 329ab6e9348c069e804fa3d474ed3a905758716b)
(cherry picked from commit 44996655e9468707e3ac40a0fa3f8c92b0ffefb8)
(cherry picked from commit 2e0e12bb1938b3609d835e74587fcf9c62df36de)
(cherry picked from commit d0e780d6d7c189eead0a3a006e8c708f9ff29092)
(cherry picked from commit de394c7c50eb2efe611f6e619eeeb1f387be7721)
(cherry picked from commit 3c26d0fd87b27e20cac45ea044de1d813be271b0)
(cherry picked from commit 560424a23a)
2023-11-13 13:57:31 +01:00
.devcontainer devpod use go1.21 (#26637) 2023-08-21 16:20:50 +00:00
.forgejo [UPGRADE] add sanity check for v1.20.5-0 2023-11-13 12:33:49 +01:00
.gitea [WORKFLOW] yaml issue templates 2023-11-13 12:33:49 +01:00
.github delete Gitea specific files that need rewriting for Forgejo 2023-11-13 12:33:47 +01:00
assets bump go-deps (#27489) (#27493) 2023-10-08 00:07:09 +00:00
build Use Set[Type] instead of map[Type]bool/struct{}. (#26804) 2023-08-30 06:55:25 +00:00
cmd [CLI] implement forgejo-cli 2023-11-13 11:52:15 +01:00
contrib Update environment-to-ini flag parsing (#27914) (#27940) 2023-11-06 21:10:10 +00:00
custom/conf [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
docker Dockerfile small refactor (#27757) (#27826) 2023-10-29 13:20:54 +01:00
docs Document REACTION_MAX_USER_NUM setting option (#27954) (#27959) 2023-11-08 08:54:48 +08:00
models [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
modules [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
options [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
public [FEAT] add Forgero Git Service 2023-11-13 12:33:49 +01:00
releases/images [DOCS] RELEASE-NOTES.md 2023-11-13 12:33:48 +01:00
routers [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
services [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
snap set version in snapcraft yaml 2023-09-13 23:20:46 -04:00
templates [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
tests [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
web_src [FEAT] add Forgero Git Service 2023-11-13 12:33:49 +01:00
.air.toml Reduce verbosity of dev commands (#24917) 2023-05-24 20:11:04 +00:00
.changelog.yml Adapt .changelog.yml to new labeling system (#27701) (#27702) 2023-10-20 00:29:50 +02:00
.dockerignore Move public asset files to the proper directory (#25907) 2023-07-18 18:06:43 +02:00
.editorconfig Add markdownlint (#20512) 2022-07-28 09:22:47 +08:00
.eslintrc.yaml Update JS and PY dependencies (#27501) (#27518) 2023-10-08 19:31:33 +02:00
.gitattributes [META] Use correct language for .tmpl 2023-11-13 12:33:48 +01:00
.gitignore [CI] gitignore: emacs backups 2023-11-13 11:52:15 +01:00
.gitpod.yml Add Github related extensions in devcontainer (#25800) 2023-07-14 15:58:02 +08:00
.golangci.yml Use Go 1.21 for golangci-lint (#26786) 2023-08-29 16:25:24 +02:00
.ignore Add /public/assets to .ignore (#26232) 2023-07-30 12:34:20 +02:00
.markdownlint.yaml Enable markdownlint no-duplicate-header (#27500) (#27506) 2023-10-07 21:41:41 +08:00
.npmrc Upgrade to npm lockfile v3 and explicitely set it (#23561) 2023-03-18 19:38:10 +01:00
.spectral.yaml Add spectral linter for Swagger (#20321) 2022-07-11 18:07:16 -05:00
.stylelintrc.yaml Update JS dependencies (#26025) 2023-07-21 11:34:10 +08:00
.yamllint.yaml fully replace drone with actions (#27556) (#27575) 2023-10-11 12:03:06 +00:00
BSDmakefile Fix build errors on BSD (in BSDMakefile) (#27594) (#27608) 2023-10-14 07:29:55 +00:00
build.go User/Org Feed render description as per web (#23887) 2023-04-04 04:39:47 +01:00
CHANGELOG.md Add 1.20.5 changelog (#27404) (#27412) 2023-10-03 22:21:19 +08:00
CODEOWNERS [META] Add CODEOWNERS files 2023-11-13 12:33:49 +01:00
CONTRIBUTING.md [DOCS] CONTRIBUTING 2023-11-13 12:33:47 +01:00
DCO Remove address from DCO (#22595) 2023-01-24 18:52:38 +00:00
Dockerfile [CI] Forgejo Actions based release process (squash) size optimization 2023-11-13 11:52:15 +01:00
Dockerfile.rootless [CI] Forgejo Actions based release process (squash) size optimization 2023-11-13 11:52:15 +01:00
go.mod Upgrade xorm to 1.3.4 (#27807) (#27813) 2023-10-27 14:17:27 +02:00
go.sum Upgrade xorm to 1.3.4 (#27807) (#27813) 2023-10-27 14:17:27 +02:00
LICENSE [DOCS] LICENSE: add Forgejo Authors 2023-11-13 12:33:48 +01:00
main.go [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2023-11-13 12:33:48 +01:00
MAINTAINERS Apply lng2020 to maintainers (#27068) 2023-09-14 12:10:12 +08:00
Makefile [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2023-11-13 12:33:48 +01:00
package-lock.json Update JS and PY dependencies (#27501) (#27518) 2023-10-08 19:31:33 +02:00
package.json Update JS and PY dependencies (#27501) (#27518) 2023-10-08 19:31:33 +02:00
playwright.config.js Update JS dependencies and eslint config (#21388) 2022-10-10 20:02:20 +08:00
poetry.lock Update JS and PY dependencies (#27501) (#27518) 2023-10-08 19:31:33 +02:00
poetry.toml Clean up pyproject.toml and package.json, fix poetry options (#25327) 2023-06-18 18:13:08 +00:00
pyproject.toml Update JS and Poetry dependencies and eslint (#27200) (#27201) 2023-09-22 21:26:42 +00:00
README.md [DOCS] README 2023-11-13 12:33:47 +01:00
RELEASE-NOTES.md [DOCS] RELEASE-NOTES.md 2023-11-13 12:33:48 +01:00
vitest.config.js Use vitest globals (#27102) (#27311) 2023-09-27 16:10:08 +02:00
webpack.config.js [API] Forgejo API /api/forgejo/v1 2023-11-13 12:33:48 +01:00

Welcome to Forgejo

Hi there! Tired of big platforms playing monopoly? Providing Git hosting for your project, friends, company or community? Forgejo (/for'd͡ʒe.jo/ inspired by forĝejo the Esperanto word for forge) has you covered with its intuitive interface, light and easy hosting and a lot of builtin functionality.

Forgejo was created in 2022 because we think that the project should be owned by an independent community. If you second that, then Forgejo is for you! Our promise: Independent Free/Libre Software forever!

What does Forgejo offer?

If you like any of the following, Forgejo is literally meant for you:

  • Lightweight: Forgejo can easily be hosted on nearly every machine. Running on a Raspberry? Small cloud instance? No problem!
  • Project management: Besides Git hosting, Forgejo offers issues, pull requests, wikis, kanban boards and much more to coordinate with your team.
  • Publishing: Have something to share? Use releases to host your software for download, or use the package registry to publish it for docker, npm and many other package managers.
  • Customizable: Want to change your look? Change some settings? There are many config switches to make Forgejo work exactly like you want.
  • Powerful: Organizations & team permissions, CI integration, Code Search, LDAP, OAuth and much more. If you have advanced needs, Forgejo has you covered.
  • Privacy: From update checker to default settings: Forgejo is built to be privacy first for you and your crew.
  • Federation: (WIP) We are actively working to connect software forges with each other through ActivityPub, and create a collaborative network of personal instances.

Learn more

Dive into the documentation, subscribe to releases and blog post on our website, find us on the Fediverse or hop into our Matrix room if you have any questions or want to get involved.

Get involved

If you are interested in making Forgejo better, either by reporting a bug or by changing the governance, please take a look at the contribution guide.