Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. New post: Can we have a more “social” media?

New post: Can we have a more “social” media?

Scheduled Pinned Locked Moved Uncategorized
fediverseactivitypubsocialmedia
17 Posts 3 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

    New post: Can we have a more “social” media?

    Can we have a more "social" media?

    On advertising, the Fediverse, and what a more human social web could look like.

    favicon

    Profpatsch’s Lair (profpatsch.de)

    On advertising, the Fediverse, and what a more human social web could look like.

    Special mentions: @smallcircles, @phnt, @happy-programming

    #fediverse #activitypub #socialmedia

    liaizon@social.wake.stL This user is from outside of this forum
    liaizon@social.wake.stL This user is from outside of this forum
    liaizon@social.wake.st
    wrote last edited by
    #2

    @Profpatsch oh cool what did you build @happy-programming with?

    profpatsch@mastodon.xyzP 1 Reply Last reply
    0
    • liaizon@social.wake.stL liaizon@social.wake.st

      @Profpatsch oh cool what did you build @happy-programming with?

      profpatsch@mastodon.xyzP This user is from outside of this forum
      profpatsch@mastodon.xyzP This user is from outside of this forum
      profpatsch@mastodon.xyz
      wrote last edited by
      #3

      @liaizon Right now it’s two golang files that do a half-assed job at implementing activitypub

      liaizon@social.wake.stL 1 Reply Last reply
      0
      • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

        @liaizon Right now it’s two golang files that do a half-assed job at implementing activitypub

        liaizon@social.wake.stL This user is from outside of this forum
        liaizon@social.wake.stL This user is from outside of this forum
        liaizon@social.wake.st
        wrote last edited by
        #4

        @Profpatsch ah very cool its custom! have you published the code? I would add it to a list of implementations I help manage at https://delightful.club

        profpatsch@mastodon.xyzP 1 Reply Last reply
        1
        0
        • liaizon@social.wake.stL liaizon@social.wake.st

          @Profpatsch ah very cool its custom! have you published the code? I would add it to a list of implementations I help manage at https://delightful.club

          profpatsch@mastodon.xyzP This user is from outside of this forum
          profpatsch@mastodon.xyzP This user is from outside of this forum
          profpatsch@mastodon.xyz
          wrote last edited by
          #5

          @liaizon yeah, it’s published, but currently I’d not feel comfortable being listed anywhere, the code is really rough and I haven’t really made sure it’s free of security issues

          liaizon@social.wake.stL 1 Reply Last reply
          0
          • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

            @liaizon yeah, it’s published, but currently I’d not feel comfortable being listed anywhere, the code is really rough and I haven’t really made sure it’s free of security issues

            liaizon@social.wake.stL This user is from outside of this forum
            liaizon@social.wake.stL This user is from outside of this forum
            liaizon@social.wake.st
            wrote last edited by
            #6

            @Profpatsch honestly seeing it running live and followable I would say you are better off then half the things listed on these lists

            profpatsch@mastodon.xyzP 1 Reply Last reply
            0
            • liaizon@social.wake.stL liaizon@social.wake.st

              @Profpatsch honestly seeing it running live and followable I would say you are better off then half the things listed on these lists

              profpatsch@mastodon.xyzP This user is from outside of this forum
              profpatsch@mastodon.xyzP This user is from outside of this forum
              profpatsch@mastodon.xyz
              wrote last edited by
              #7

              @liaizon Haha, that might be true. I did link it in the post, right now it lives at https://codeberg.org/Profpatsch/Profpatsch/src/branch/canon/users/Profpatsch/booster-bot and https://codeberg.org/Profpatsch/Profpatsch/src/branch/canon/users/Profpatsch/activitypub-go

              profpatsch@mastodon.xyzP 1 Reply Last reply
              0
              • R relay@relay.infosec.exchange shared this topic
              • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                @liaizon Haha, that might be true. I did link it in the post, right now it lives at https://codeberg.org/Profpatsch/Profpatsch/src/branch/canon/users/Profpatsch/booster-bot and https://codeberg.org/Profpatsch/Profpatsch/src/branch/canon/users/Profpatsch/activitypub-go

                profpatsch@mastodon.xyzP This user is from outside of this forum
                profpatsch@mastodon.xyzP This user is from outside of this forum
                profpatsch@mastodon.xyz
                wrote last edited by
                #8

                @liaizon fwiw I made & deployed some security improvements, the current security mechanisms are documented in https://codeberg.org/Profpatsch/Profpatsch/src/commit/249aa389a2023814b328af8fc795750fd28d995d/users/Profpatsch/activitypub-go/security.md

                maybe @silverpill wants to take a look at whether this all sounds sensible?

                profpatsch@mastodon.xyzP 1 Reply Last reply
                1
                0
                • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                  @liaizon fwiw I made & deployed some security improvements, the current security mechanisms are documented in https://codeberg.org/Profpatsch/Profpatsch/src/commit/249aa389a2023814b328af8fc795750fd28d995d/users/Profpatsch/activitypub-go/security.md

                  maybe @silverpill wants to take a look at whether this all sounds sensible?

                  profpatsch@mastodon.xyzP This user is from outside of this forum
                  profpatsch@mastodon.xyzP This user is from outside of this forum
                  profpatsch@mastodon.xyz
                  wrote last edited by
                  #9

                  @liaizon @silverpill I want to write a blog post on this at one point, but I don’t know if I missed anything or misunderstand things.

                  ? 1 Reply Last reply
                  1
                  0
                  • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                    @liaizon @silverpill I want to write a blog post on this at one point, but I don’t know if I missed anything or misunderstand things.

                    ? Offline
                    ? Offline
                    Guest
                    wrote last edited by
                    #10

                    @Profpatsch

                    2. Activity-Level Origin Checks
                    Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

                    For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

                    In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

                    This is not strictly necessary, but would help if the origin server does poor job at validating user input.

                    3. Embedded Object Origin Checks
                    Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

                    In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

                    Response body size limits

                    You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

                    By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

                    @liaizon

                    profpatsch@mastodon.xyzP 3 Replies Last reply
                    0
                    • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                      New post: Can we have a more “social” media?

                      Can we have a more "social" media?

                      On advertising, the Fediverse, and what a more human social web could look like.

                      favicon

                      Profpatsch’s Lair (profpatsch.de)

                      On advertising, the Fediverse, and what a more human social web could look like.

                      Special mentions: @smallcircles, @phnt, @happy-programming

                      #fediverse #activitypub #socialmedia

                      ? Offline
                      ? Offline
                      Guest
                      wrote last edited by
                      #11

                      @Profpatsch @smallcircles @phnt

                      What hasn’t been considered is the ability of multiple people to speak with “one voice” yet.

                      Imageboards?

                      There was one that federated using ActivityPub: https://github.com/FChannel0/FChannel-Server

                      profpatsch@mastodon.xyzP 1 Reply Last reply
                      0
                      • ? Guest

                        @Profpatsch @smallcircles @phnt

                        What hasn’t been considered is the ability of multiple people to speak with “one voice” yet.

                        Imageboards?

                        There was one that federated using ActivityPub: https://github.com/FChannel0/FChannel-Server

                        profpatsch@mastodon.xyzP This user is from outside of this forum
                        profpatsch@mastodon.xyzP This user is from outside of this forum
                        profpatsch@mastodon.xyz
                        wrote last edited by
                        #12

                        @silverpill @smallcircles @phnt uh, I want to stay away from image boards as far as possible, they are the opposite of healthy communities. I have no clue how my post made you think “probably image boards” lol, did I not use the word “human” enough

                        1 Reply Last reply
                        1
                        0
                        • ? Guest

                          @Profpatsch

                          2. Activity-Level Origin Checks
                          Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

                          For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

                          In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

                          This is not strictly necessary, but would help if the origin server does poor job at validating user input.

                          3. Embedded Object Origin Checks
                          Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

                          In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

                          Response body size limits

                          You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

                          By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

                          @liaizon

                          profpatsch@mastodon.xyzP This user is from outside of this forum
                          profpatsch@mastodon.xyzP This user is from outside of this forum
                          profpatsch@mastodon.xyz
                          wrote last edited by
                          #13

                          @silverpill @liaizon I’d say we should rewrite these standards to have a “here’s how an ideal world would look like” and then “here’s what you might want to do for compatibility with existing implementations” approach, instead of that horrible MUST/MAY/SHOULD trainwreck.

                          e.g. ideal world: “host and scheme should be lower case”, compat work: “you can lowercase them before comparison, but do it like this: <instructions>”

                          profpatsch@mastodon.xyzP 1 Reply Last reply
                          1
                          0
                          • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                            @silverpill @liaizon I’d say we should rewrite these standards to have a “here’s how an ideal world would look like” and then “here’s what you might want to do for compatibility with existing implementations” approach, instead of that horrible MUST/MAY/SHOULD trainwreck.

                            e.g. ideal world: “host and scheme should be lower case”, compat work: “you can lowercase them before comparison, but do it like this: <instructions>”

                            profpatsch@mastodon.xyzP This user is from outside of this forum
                            profpatsch@mastodon.xyzP This user is from outside of this forum
                            profpatsch@mastodon.xyz
                            wrote last edited by
                            #14

                            @silverpill @liaizon not dunking on your work ofc, but I think the “best practices” around writing standards are just not very good unfortunately

                            1 Reply Last reply
                            1
                            0
                            • ? Guest

                              @Profpatsch

                              2. Activity-Level Origin Checks
                              Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

                              For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

                              In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

                              This is not strictly necessary, but would help if the origin server does poor job at validating user input.

                              3. Embedded Object Origin Checks
                              Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

                              In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

                              Response body size limits

                              You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

                              By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

                              @liaizon

                              profpatsch@mastodon.xyzP This user is from outside of this forum
                              profpatsch@mastodon.xyzP This user is from outside of this forum
                              profpatsch@mastodon.xyz
                              wrote last edited by
                              #15

                              @silverpill @liaizon What does this mean? “Follow redirects, but set a limit. Request must be re-signed after every redirect.”

                              do you mean I have to check the new http signature on every 30x response? I don’t believe that can work??

                              1 Reply Last reply
                              1
                              0
                              • ? Guest

                                @Profpatsch

                                2. Activity-Level Origin Checks
                                Same-origin is checked rather than exact equality so that servers with multiple actors can sign on behalf of any of their actors — a common legitimate pattern.

                                For incoming activities, consider checking exact equality. See FEP-fe34, section "Signatures":

                                In order to minimize damage in the event of a key compromise or insufficient validation, consumers MUST verify that the signing key has the same owner as the signed object. Consumers MUST also confirm the ownership of the key by verifying a reciprocal claim.

                                This is not strictly necessary, but would help if the origin server does poor job at validating user input.

                                3. Embedded Object Origin Checks
                                Owner origin: the object's owner (actor for Activity subtypes, attributedTo for Notes/Objects) must be same-origin as the signing actor. Anonymous objects (no owner field) are accepted.

                                In this case I also recommend checking owner ID equality, as a rule of thumb. Because origin servers implementing C2S API may fail to validate all embedded objects (which can be deeply nested).

                                Response body size limits

                                You may also need to limit the number of redirects and set a timeout. Some HTTP libraries have bad defaults.

                                By the way, I collect such recommendations in this guide: https://codeberg.org/ap-next/ap-next/src/branch/main/guide.md#network. Contributions are welcome!

                                @liaizon

                                profpatsch@mastodon.xyzP This user is from outside of this forum
                                profpatsch@mastodon.xyzP This user is from outside of this forum
                                profpatsch@mastodon.xyz
                                wrote last edited by
                                #16

                                @silverpill @liaizon Another issue I noticed: “set a max request/response size” means that we are essentially forced to implement paging of outboxes both on client and server

                                profpatsch@mastodon.xyzP 1 Reply Last reply
                                1
                                0
                                • profpatsch@mastodon.xyzP profpatsch@mastodon.xyz

                                  @silverpill @liaizon Another issue I noticed: “set a max request/response size” means that we are essentially forced to implement paging of outboxes both on client and server

                                  profpatsch@mastodon.xyzP This user is from outside of this forum
                                  profpatsch@mastodon.xyzP This user is from outside of this forum
                                  profpatsch@mastodon.xyz
                                  wrote last edited by
                                  #17

                                  @silverpill @liaizon we should also definitely provide some actual values here, otherwise it’s pretty useless tbh …

                                  1 Reply Last reply
                                  1
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups