gotosocial/vendor
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
..
code.superseriousbusiness.org [chore] Move deps to code.superseriousbusiness.org (#4054) 2025-04-25 15:15:36 +02:00
codeberg.org/gruf [feature] update proof-of-work to allow setting required rounds (#4186) 2025-05-26 11:57:50 +02:00
github.com [chore] update dependencies (#4188) 2025-05-22 16:27:55 +02:00
go.mongodb.org/mongo-driver [chore]: Bump github.com/gin-contrib/sessions from 1.0.2 to 1.0.3 (#4033) 2025-04-22 12:35:14 +02:00
go.opentelemetry.io [chore] update dependencies (#4188) 2025-05-22 16:27:55 +02:00
go.uber.org [chore]: Bump go.uber.org/automaxprocs from 1.5.3 to 1.6.0 (#3376) 2024-09-30 12:58:44 +02:00
golang.org/x [chore] update dependencies (#4188) 2025-05-22 16:27:55 +02:00
google.golang.org [chore]: Bump github.com/gin-contrib/gzip from 1.2.2 to 1.2.3 (#4000) 2025-04-14 09:43:56 +02:00
gopkg.in [chore] bumps our spf13/viper version (#3943) 2025-03-26 11:44:24 +00:00
modernc.org [chore] update dependencies (#4188) 2025-05-22 16:27:55 +02:00
mvdan.cc/xurls/v2 [chore]: Bump mvdan.cc/xurls/v2 from 2.5.0 to 2.6.0 (#3643) 2025-01-14 13:11:20 +00:00
modules.txt [feature] update proof-of-work to allow setting required rounds (#4186) 2025-05-26 11:57:50 +02:00