polaris64

@[email protected]

This profile is from a federated server and may be incomplete. Browse more on the original instance.

polaris64,

I think the most spiritually correct solution would be to use PeerTube considering that it’s also a federated system and therefore can interact nicely with Lemmy.

polaris64,

Every user, post, community, etc. on each of these services is represented as an ActivityPub object. Let’s take the example of following your Lemmy user from Mastodon. I can search for @Gohos in Mastodon and in the background my Mastodon instance will issue the following WebFinger request to lemmy.ml: lemmy.ml/.well-known/webfinger?resource=acct:Goho…. This will return the following JSON: -

<pre style="background-color:#ffffff;">
<span style="color:#323232;">{
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"subject"</span><span style="color:#323232;">: "acct:[email protected]",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"links"</span><span style="color:#323232;">: [
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"rel"</span><span style="color:#323232;">: "http://webfinger.net/rel/profile-page",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"type"</span><span style="color:#323232;">: "text/html",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"href"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos"
</span><span style="color:#323232;">    },
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"rel"</span><span style="color:#323232;">: "self",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"type"</span><span style="color:#323232;">: "application/activity+json",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"href"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"properties"</span><span style="color:#323232;">: {
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#183691;">"https://www.w3.org/ns/activitystreams#type"</span><span style="color:#323232;">: "Person"
</span><span style="color:#323232;">      }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">  ]
</span><span style="color:#323232;">}
</span>

From here I can request the application/activity+json URL at lemmy.ml/u/Gohos and if I request JSON I get: -

<pre style="background-color:#ffffff;">
<span style="color:#323232;">{
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"@context"</span><span style="color:#323232;">: [
</span><span style="color:#323232;">    "https://www.w3.org/ns/activitystreams",
</span><span style="color:#323232;">    "https://w3id.org/security/v1",
</span><span style="color:#323232;">    {
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"lemmy"</span><span style="color:#323232;">: "https://join-lemmy.org/ns#",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"litepub"</span><span style="color:#323232;">: "http://litepub.social/ns#",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"pt"</span><span style="color:#323232;">: "https://joinpeertube.org/ns#",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"sc"</span><span style="color:#323232;">: "http://schema.org/",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"ChatMessage"</span><span style="color:#323232;">: "litepub:ChatMessage",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"commentsEnabled"</span><span style="color:#323232;">: "pt:commentsEnabled",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"sensitive"</span><span style="color:#323232;">: "as:sensitive",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"matrixUserId"</span><span style="color:#323232;">: "lemmy:matrixUserId",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"postingRestrictedToMods"</span><span style="color:#323232;">: "lemmy:postingRestrictedToMods",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"removeData"</span><span style="color:#323232;">: "lemmy:removeData",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"stickied"</span><span style="color:#323232;">: "lemmy:stickied",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"moderators"</span><span style="color:#323232;">: {
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#183691;">"@type"</span><span style="color:#323232;">: "@id",
</span><span style="color:#323232;">        </span><span style="font-weight:bold;color:#183691;">"@id"</span><span style="color:#323232;">: "lemmy:moderators"
</span><span style="color:#323232;">      },
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"expires"</span><span style="color:#323232;">: "as:endTime",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"distinguished"</span><span style="color:#323232;">: "lemmy:distinguished",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"language"</span><span style="color:#323232;">: "sc:inLanguage",
</span><span style="color:#323232;">      </span><span style="font-weight:bold;color:#183691;">"identifier"</span><span style="color:#323232;">: "sc:identifier"
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">  ],
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"type"</span><span style="color:#323232;">: "Person",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"id"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"preferredUsername"</span><span style="color:#323232;">: "Gohos",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"inbox"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos/inbox",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"outbox"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos/outbox",
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"publicKey"</span><span style="color:#323232;">: {
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#183691;">"id"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos#main-key",
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#183691;">"owner"</span><span style="color:#323232;">: "https://lemmy.ml/u/Gohos",
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#183691;">"publicKeyPem"</span><span style="color:#323232;">: "-----BEGIN PUBLIC KEY-----</span><span style="color:#0086b3;">n</span><span style="color:#323232;">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwDc9TbmcvR/eRx0zuXl5</span><span style="color:#0086b3;">n</span><span style="color:#323232;">qUu8vwcU3K1/70BqLdae/HtbjqXoHbVUI3exSVOTLVmPQ4oHjf6Lq5axyRRwihTh</span><span style="color:#0086b3;">n</span><span style="color:#323232;">bDgWYSBCqZ07L6VrgXVg2APCkFpX32XlbFbbMQDXf+kodj6YrzwelXEJ03eTDKaa</span><span style="color:#0086b3;">n</span><span style="color:#323232;">uFkFt0Uelu1k0AZVydGYT3U2iZ0jNGvpUMWQycTJ/k0r8n61JLuEMkvkVlH4ZDGb</span><span style="color:#0086b3;">n</span><span style="color:#323232;">GTjwjLRds/zawe8FAK/Grn+AW/UTmW/1kBLcqhkeRYzWhyrVy+/f9jf03s0rW92w</span><span style="color:#0086b3;">n</span><span style="color:#323232;">8PWM02AAE9edIpnK2XgElfkVWJenQzw7WDp045XPHMlUh5iizAJGcPAzdeEVNLq8</span><span style="color:#0086b3;">n</span><span style="color:#323232;">GQIDAQAB</span><span style="color:#0086b3;">n</span><span style="color:#323232;">-----END PUBLIC KEY-----</span><span style="color:#0086b3;">n</span><span style="color:#323232;">"
</span><span style="color:#323232;">  },
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"endpoints"</span><span style="color:#323232;">: {
</span><span style="color:#323232;">    </span><span style="font-weight:bold;color:#183691;">"sharedInbox"</span><span style="color:#323232;">: "https://lemmy.ml/inbox"
</span><span style="color:#323232;">  },
</span><span style="color:#323232;">  </span><span style="font-weight:bold;color:#183691;">"published"</span><span style="color:#323232;">: "2023-06-03T17:30:16.990908+00:00"
</span><span style="color:#323232;">}
</span>

This includes two important properties: inbox and outbox. Using ActivityPub I now know I can send you a message by POSTing a request to your inbox and I can fetch posts, comments, etc. you’ve made via your outbox.

Your public key is also included. This is how, if you sent me a message, I can verify that the message actually came from you.

That’s a very brief overview but I hope that helps!

polaris64,

If you implement IP over smoke signals then perhaps :)

polaris64,

Ukrainians rush Russians while Russians rush in to Russia to rush other Russians.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • Ask_kbincafe
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines