18 KiB
18 KiB
Nulla
An agnostic social network following the KISS and UNIX philosophy, the main principles of which are minimalism and rationalism. It implements the ActivityPub protocol and promises maximum compatibility with all existing implementations.
TODO
API
accounts
- POST /api/v1/accounts
- GET /api/v1/accounts/verify_credentials
- PATCH /api/v1/accounts/update_credentials
- GET /api/v1/accounts/:id
- GET /api/v1/accounts
- GET /api/v1/accounts/:id/notes
- GET /api/v1/accounts/:id/followers
- GET /api/v1/accounts/:id/following
- GET /api/v1/accounts/:id/featured_tags
- GET /api/v1/accounts/:id/lists
- POST /api/v1/accounts/:id/follow
- POST /api/v1/accounts/:id/unfollow
- POST /api/v1/accounts/:id/remove_from_followers
- POST /api/v1/accounts/:id/block
- POST /api/v1/accounts/:id/unblock
- POST /api/v1/accounts/:id/mute
- POST /api/v1/accounts/:id/unmute
- GET /api/v1/accounts/:id/endorsements
- POST /api/v1/accounts/:id/endorse
- POST /api/v1/accounts/:id/unendorse
- POST /api/v1/accounts/:id/note
- GET /api/v1/accounts/relationships
- GET /api/v1/accounts/familiar_followers
- GET /api/v1/accounts/search
- GET /api/v1/accounts/lookup
announcements
- GET /api/v1/announcements
- POST /api/v1/announcements/:id/dismiss
- PUT /api/v1/announcements/:id/reactions/:name
- DELETE /api/v1/announcements/:id/reactions/:name
blocks
- GET /api/v1/blocks
bookmarks
conversations
custom_emojis
directory
domain_blocks
- GET /api/v1/domain_blocks
- POST /api/v1/domain_blocks
- POST /api/v1/domain_blocks
emails
endorsements
favourites
featured_tags
- GET /api/v1/featured_tags
- POST /api/v1/featured_tags
- GET /api/v1/featured_tags/:id
- GET /api/v1/featured_tags/suggestions
filters
- GET /api/v2/filters
- GET /api/v2/filters/:id
- POST /api/v2/filters
- PUT /api/v2/filters/:id
- DELETE /api/v2/filters/:id
- GET /api/v2/filters/:filter_id/keywords
- POST /api/v2/filters/:filter_id/keywords
- GET /api/v2/filters/keywords/:id
- PUT /api/v2/filters/keywords/:id
- DELETE /api/v2/filters/keywords/:id
- GET /api/v2/filters/:filter_id/notes
- POST /api/v2/filters/:filter_id/notes
- GET /api/v2/filters/notes/:id
- DELETE /api/v2/filters/notes/:id
follow_requests
- GET /api/v1/follow_requests
- POST /api/v1/follow_requests/:account_id/authorize
- POST /api/v1/follow_requests/:account_id/reject
followed_tags
grouped_notifications
- GET /api/v2/notifications
- GET /api/v2/notifications/:group_key
- POST /api/v2/notifications/:group_key/dismiss
- GET /api/v2/notifications/:group_key/accounts
- GET /api/v2/notifications/unread_count
instance
- GET /api/v2/instance
- GET /api/v2/instance/peers
- GET /api/v2/instance/activity
- GET /api/v2/instance/rules
- GET /api/v2/instance/domain_blocks
- GET /api/v2/instance/extended_description
- GET /api/v2/instance/privacy_policy
- GET /api/v2/instance/terms_of_service
- GET /api/v2/instance/terms_of_service/:date
- GET /api/v2/instance/translation_languages
lists
- GET /api/v1/lists
- GET /api/v1/lists/:id
- POST /api/v1/lists
- PUT /api/v1/lists/:id
- DELETE /api/v1/lists/:id
- GET /api/v1/lists/:id/accounts
- POST /api/v1/lists/:id/accounts
- DELETE /api/v1/lists/:id/accounts
markers
- GET /api/v1/markers
- POST /api/v1/markers
media
- POST /api/v2/media
- GET /api/v1/media/:id
- DELETE /api/v1/media/:id
- PUT /api/v1/media/:id
mutes
- GET /api/v1/mutes
notifications
- GET /api/v1/notifications
- GET /api/v1/notifications/:id
- POST /api/v1/notifications/clear
- POST /api/v1/notifications/:id/dismiss
- GET /api/v1/notifications/unread_count
- GET /api/v2/notifications/policy
- PATCH /api/v2/notifications/policy
- GET /api/v1/notifications/requests
- GET /api/v1/notifications/requests/:id
- POST /api/v1/notifications/requests/:id/accept
- POST /api/v1/notifications/requests/:id/dismiss
- POST /api/v1/notifications/requests/accept
- POST /api/v1/notifications/requests/dismiss
- GET /api/v1/notifications/requests/merged
oauth
- GET /oauth/authorize
- POST /oauth/token
- POST /oauth/revoke
- GET /oauth/userinfo
- GET /.well-known/oauth-authorization-server
oembed
- GET /api/oembed
polls
- GET /api/v1/polls/:id
- POST /api/v1/polls/:id/votes
preferences
profile
- DELETE /api/v1/profile/avatar
- DELETE /api/v1/profile/header
push
- POST /api/v1/push/subscription
- GET /api/v1/push/subscription
- PUT /api/v1/push/subscription
- DELETE /api/v1/push/subscription
reports
- POST /api/v1/reports
search
- GET /api/v2/search
notes
- POST /api/v1/notes
- GET /api/v1/notes/:id
- GET /api/v1/notes
- DELETE /api/v1/notes/:id
- GET /api/v1/notes/:id/context
- POST /api/v1/notes/:id/translate
- GET /api/v1/notes/:id/reblogged_by
- GET /api/v1/notes/:id/favourited_by
- POST /api/v1/notes/:id/favourite
- POST /api/v1/notes/:id/unfavourite
- POST /api/v1/notes/:id/reblog
- POST /api/v1/notes/:id/unreblog
- POST /api/v1/notes/:id/bookmark
- POST /api/v1/notes/:id/unbookmark
- POST /api/v1/notes/:id/mute
- POST /api/v1/notes/:id/unmute
- POST /api/v1/notes/:id/pin
- POST /api/v1/notes/:id/unpin
- PUT /api/v1/notes/:id
- GET /api/v1/notes/:id/history
- GET /api/v1/notes/:id/source
streaming
- GET /api/v1/streaming/health
- GET /api/v1/streaming/user
- GET /api/v1/streaming/user/notification
- GET /api/v1/streaming/public
- GET /api/v1/streaming/public/local
- GET /api/v1/streaming/public/remote
- GET /api/v1/streaming/hashtag
- GET /api/v1/streaming/hashtag/local
- GET /api/v1/streaming/list
- GET /api/v1/streaming/direct
- WSS /api/v1/streaming
suggestions
tags
- GET /api/v1/tags/:name
- POST /api/v1/tags/:name/follow
- POST /api/v1/tags/:name/unfollow
- POST /api/v1/tags/:id/feature
- POST /api/v1/tags/:id/unfeature
timelines
- GET /api/v1/timelines/public
- GET /api/v1/timelines/tag/:hashtag
- GET /api/v1/timelines/home
- GET /api/v1/timelines/link?url=:url
- GET /api/v1/timelines/list/:list_id
trends
Features
- Lightweight web interface
- API compatible with other ActivityPub instances
- JWT
- Groups
- Formatting: big/medium/small title, bold, italic, strikethrough, link, code, code block
- Links preview
- Timelines: Home / Local / Global / Custom
- Global search
- Bookmarks
- Profile links verification
- Links preview
- Import/Export posts
- Sync user settings on the server
- Restricted direct messages
- Direct messages tab
Contributing
Patches via Email
You can create a patch with this command git format-patch -M origin/main
and send it to this email address. Check out this guide.
Your repository
You fork this repository and make your changes in the feature branch, then I pull it.