invite codes
freqhole uses invite codes so people can get access to browse and listen to your music library.
code types
Section titled “code types”invite code
Section titled “invite code”creates a new user account.
- user picks their username
- user sets up optional WebAuthn credential (passkey)
- assigned role specified when code was created (you can change users’ role later)
creating (desktop app / web app, admin only):
settings → users → create invite code
creating (CLI):
freqhole auth create-invitefreqhole auth create-invite --role memberaccount-link code
Section titled “account-link code”links a new device to an existing account. only an admin can generate one.
- no username needed (attaches to an existing account)
- registers a new WebAuthn credential for that device
- useful when a user gets a new phone or computer
creating (desktop / web app, admin only):
settings → users → select user → generate device link code
creating (CLI, admin only):
freqhole auth create-account-link --user-id <id>code properties
Section titled “code properties”what permissions the new user gets:
viewer(default): read-only, can streammember: can edit libraryadmin: full control
expiration
Section titled “expiration”codes can optionally expire:
- by date: code invalid after specified date
- single-use: most codes are one-time use
managing codes
Section titled “managing codes”listing codes
Section titled “listing codes”freqhole auth list-invite-codesshows all codes with status, assignee, expiration.
revoking codes
Section titled “revoking codes”unused codes can be deleted:
freqhole auth delete-invite-code <code>P2P knock requests
Section titled “P2P knock requests”an alternative to invite codes for P2P. requires knocking_enabled = true in the [federation] config.
- someone requests access with a username + a short message
- a knock request notification appears in freqhole desktop app
- an admin can approve (grants user access) or deny