A new social media server, focused on providing detailed controls to both users, moderators and admins
Find a file
2025-03-31 16:42:32 +02:00
.forgejo/workflows Add test action 2024-12-25 22:19:32 +01:00
.gitea/issue_template bob 2025-03-28 13:42:33 +01:00
ap Merge branch 'main' of gitlab.com:mstarongitlab/linstrom 2024-09-13 20:41:47 +02:00
auth Smol optimisation for existing auth system 2025-03-28 16:16:30 +01:00
auth-new Auth stuff 2025-03-31 15:32:50 +02:00
cmd Idk why, but testcontainers is borked on Discovery 2025-03-31 08:07:24 +02:00
config Update module name to new path 2024-12-18 15:24:56 +01:00
devserver Move files around, formatter helper 2024-11-22 15:55:41 +01:00
frontend-noscript progress 2024-09-27 16:53:22 +02:00
frontend-reactive Fix note rendering, new function header 2024-12-13 15:34:19 +01:00
mailer sync for backup 2024-08-22 19:57:53 +02:00
pk-auth Lots of frontend stuff 2024-10-15 16:18:21 +02:00
plugins Uhh, things? 2025-02-22 12:17:40 +01:00
queues Adding queues and storage is now postgres only 2024-09-15 12:24:36 +02:00
server Push to new goutils version 2025-03-26 16:50:44 +01:00
shared Add cmd for generating code from the new models 2025-03-27 13:35:24 +01:00
storage Delete useless file from storage 2025-03-20 19:22:15 +01:00
storage-new chore(storage-new): Regenerate bindings 2025-03-31 15:23:48 +02:00
util Uhh, things? 2025-02-22 12:17:40 +01:00
.gitignore Properly ignore the tmp folder 2024-11-07 16:31:28 +01:00
authentication-flow.md Serverside stuff. Mostly shuffling things around 2024-10-26 11:42:51 +02:00
bootup-sequence.txt Bootup sequence idea added. Also bun lockfile 2024-10-05 21:42:30 +02:00
Code-Style.md Update code style policy for Go code 2025-03-31 16:42:32 +02:00
CODE_OF_CONDUCT.md More meta stuff, CoC and Contributing 2025-03-28 14:06:01 +01:00
Containerfile Update module name to new path 2024-12-18 15:24:56 +01:00
CONTRIBUTING.md More meta stuff, CoC and Contributing 2025-03-28 14:06:01 +01:00
duck.webp Fix, placeholder image, api 2024-11-06 16:58:57 +01:00
example_config.toml Start work on media storage 2024-11-21 14:45:25 +01:00
featureTargets.md sync for backup 2024-08-22 19:57:53 +02:00
future-useful-libs.md More stuff, add stuff, add todos 2024-09-13 15:02:32 +02:00
go.mod Because testcontainers are borked 2025-03-31 15:24:25 +02:00
go.sum Because testcontainers are borked 2025-03-31 15:24:25 +02:00
goals.md add another goal 2024-09-10 07:24:30 +02:00
LICENSE Init 2023-11-27 21:52:02 +01:00
main.go Friendly note for future task 2025-03-31 15:24:37 +02:00
masto-api-endpoints.txt Added list of all Masto endpoints 2024-10-16 12:59:46 +02:00
mod-tools.md Update mod tools list since roles are fucking powerful 2024-11-04 16:25:21 +01:00
README.md More work on auth system I guess, still no motivation though 2025-02-28 15:01:12 +01:00

Linstrom

Linstrom is a new social media server with the focus on providing users, moderators and admins alike simple, yet powerful features to moderate the experience.

Federation

It is planned that Linstrom will federate at least with other Linstrom servers, but also possibly via ActivityPub and ATProto.

It was never intended to be completely standalone, only existing for itself, but rather to join at least one of the growing networks and interoperate with those networks.

Why Linstrom when <insert ActivityPub server here> already exists?

Because of moderation tooling. I have a bunch of friends that happen to be the moderators or owners of various servers with differing software (Sharkey, Mastodon, Akkoma as example). And they all have different woes with their software.

I want to try and make a server that combines the strengths of various project's tooling while also hopefully solving some of the weaknesses.

Permission system

All permissions operate on a role based system, similar to what Discord offers. Accounts in power (admins and moderators) are only able to manipulate other accounts via this role system. This prevents moderators from directly manipulating accounts, such as changing their username, info fields or otherwise, while still providing ample control over the activities these accounts can perform.

These same roles, while most powerful for local accounts, also apply to remote accounts as much as realisticly possible. Preventing a login on a remote server for example might not be possible, but blocking all inbound traffic from that account is.

However, roles are not only for moderators and admins to use. Normal accounts can also make use of them, all be it in a more limited way.