gotosocial/docs/advanced
kim 326e04283a [feature] update proof-of-work to allow setting required rounds (#4186)
# Description

This updates our proof-of-work middleware, NoLLaMas, to work on a more easily configurable algorithm (thank you f0x for bringing this to my attention!). Instead of requiring that a solution with pre-determined number of '0' chars be found, it now pre-computes a result with a pre-determined nonce value that it expects the client to iterate up-to. (though with some level of jitter applied, to prevent it being too-easily gamed). This allows the user to configure roughly how many hash-encode rounds they want their clients to have to complete.

## Checklist

- [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md).
- [x] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat.
- [x] I/we have not leveraged AI to create the proposed changes.
- [x] I/we have performed a self-review of added code.
- [x] I/we have written code that is legible and maintainable by others.
- [x] I/we have commented the added code, particularly in hard-to-understand areas.
- [x] I/we have made any necessary changes to documentation.
- [ ] I/we have added tests that cover new code.
- [x] I/we have run tests and they pass locally with the changes.
- [x] I/we have run `go fmt ./...` and `golangci-lint run`.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4186
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
2025-05-26 11:57:50 +02:00
..
builds [docs] add a command to know if the system is compatible with the standard builds (#3980) 2025-04-11 12:42:18 +02:00
caching [docs] Enable some new features (#2623) 2024-02-12 11:05:35 +00:00
security [chore] Rewrite all remaining Github links 2025-04-27 13:40:22 +02:00
certificates.md [docs] Add certificates and firewalling to advanced (#1888) 2023-06-13 16:30:09 +02:00
healthchecks.md [feature] Add healthcheck endpoints /livez and /readyz (#2783) 2024-03-25 17:05:14 +00:00
host-account-domain.md [docs] fix: traefik redirect regex (#3032) 2024-06-24 10:53:38 +02:00
index.md [docs] Document experimental, unsupported nowasm tag (#3436) 2024-10-14 14:06:19 +02:00
metrics.md [docs] Explain how to secure metrics endpoints (#2382) 2023-11-26 15:53:53 +01:00
outgoing-proxy.md [docs] Made Advanced its own section (#1883) 2023-06-12 15:38:53 +02:00
replicating-sqlite.md [docs] Add optional instructions for replicating SQLite for disaster recovery (#2981) 2024-06-13 15:09:51 +02:00
scraper_deterrence.md [feature] update proof-of-work to allow setting required rounds (#4186) 2025-05-26 11:57:50 +02:00
sqlite-networked-storage.md [chore] Rewrite all remaining Github links 2025-04-27 13:40:22 +02:00
tracing.md [chore] Rewrite all remaining Github links 2025-04-27 13:40:22 +02:00