Negatively Proportional Model

    microfed

    0.0.5 • Public • Published
    Micro Services Meets the Fediverse

    Documentation


    GitHub license npm npm Github Stars

    ⚡️ Introduction

    Tthis project is still at concept stage and aims to brain storm the intersection of micro servcies and the fediverse.

    The idea is that each component of a fediverse server can be composed from smaller services.

    These include:

    ✍️ Profile

    Your profile page is the starting point for microfed services. It will generally be an HTTP page, but the data should be agnostic to HTTP or any other protocol so that it can live in a database, or run over a P2P network.

    The profile will be in HTML, with the data in in JSON(-LD). It will contain:

      ✓ The profile page
      ✓ The User / Actor / Agent
      ✓ Attributes about the User
      ✓ Ability to store a public key
      ✓ A list of connections (friends, knows, followers etc.)
      ✓ Endpoint for inbox
      ✓ Endpoint for outbox
      ✓ Authentictation endpoints
      ✓ Arbitrary fields specified by the user

    The Profile can be self hosted, or part of a multi user service. It should be able to run on a mobile device, or in the browser.

    Inbox

    The Inbox should be a place where people can send messages in JSON. The micro service can filter out messages based on user preferences. The message format should be as far as possible compatible with Activity Pub JSON. Signatures can be used to verify the authenticity of a message

    Outbox

    The outbox is a service that allows messages to be sent to other inboxes. It should also have to ability to store a private key on behalf of a user, in order to sign outgoing messages. It should be able to route messages to the right endpoints.

    Authentication

    Initially, strong authentication via PKI will be supported. Delegated authenticaiton, such as OAuth and OIDC may be considered desirable. A loosely coupled authentication suite will allow the user to add different authentication modules. This could also work with enterprise authentication.

    ⚖️ License

    • MIT

    Dependents (0)

    Install

    npm i microfed

    DownloadsWeekly Downloads

    1

    Version

    0.0.5

    License

    MIT

    Unpacked Size

    13.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • melvincarvalho