mirror of
https://github.com/jeremyd/ergo.git
synced 2026-08-13 00:53:05 -07:00
eb43ff69c4
Rebuilt the nostr registration feature cleanly on top of current ergo mainline (origin/master), dropping the stale ergo reversions that were entangled in the original squashed branch. - New irc/nostr package: NIP-04/NIP-17 DMs, NIP-05 resolution, relay connect/auth, and identifier helpers. - Registration/verification via nostr: parseCallback auto-detects nostr identifiers (NIP-05, npub, hex pubkey) and dispatches a verification DM. - Nostr-based cloaked hostnames for accounts (opt-in via ip-cloaking.nostr-hostnames), applied at the account-cloak sites. - Config: accounts.registration.nostr-verification and the nostr-hostnames cloak option, with matching default.yaml and help text. - Adds github.com/nbd-wtf/go-nostr and vendored dependencies.
Fast URL
FastURL is a Go URL parser using a Ragel state-machine instead of regex, or the built in standard library url.Parse.
Why?
S P E E D
Examples
See our tests
Benchmarks
ns/op
B/op
Raw:
goos: linux
goarch: amd64
pkg: github.com/ImVexed/fasturl
BenchmarkRegex-32 464509 2557 ns/op 530 B/op 3 allocs/op
BenchmarkRagel-32 5350304 225 ns/op 96 B/op 1 allocs/op
BenchmarkStd-32 2225313 537 ns/op 128 B/op 1 allocs/op
PASS
ok github.com/ImVexed/fasturl 4.405s
How does this work?
Lots of goto's and determinism, feel free to zoom
Credits
maximecaron - Creating the initial ragael parser