Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

`keyId` is a problem.

General Discussion
6 3 0

Gli ultimi otto messaggi ricevuti dalla Federazione
  • @jdt the way I interpret it for JSON-LD documents is that the fragment is the actual name of the property inside the document that the IRI refers to. So in the case of a public key would be https://example.com/jdoe#publicKey (instead of jdoe#main)

    I haven't seen anything in the documentation to give a more explicit, or different, mechanism.

    read more

  • @mariusor@metalhead.club That's great context; thanks!

    read more

  • @silverpill@mitra.social That makes sense. I guess I was getting a little bit spun around by the idea that the keyId is not the Actor id and thinking too hard about it.

    read more

  • @jdt the fragment in a JSON-LD document IRI has a semantic meaning that goes back to RDF: https://www.w3.org/TR/rdf11-concepts/#section-fragID

    > a secondary resource that is usually a part of, view of, defined in, or described in the primary resource, and the precise semantics depend on the set of representations that might result from a retrieval action on the primary resource.

    read more

  • @jdt You're supposed to fetch the keyId first, then fetch its owner (or controller).
    But in practice its either /main-key (GoToSocial) or fragment ID, so it is indeed possible to save a HTTP request.

    read more

  • keyId is a problem.

    Generally speaking, most Actors have a `keyId' that looks something like:

    https://enigmatick.social/user/jdt#main-key

    When an inbox POST arrives from an unknown user, we can chop off the bit including #main-key and we can pull the remaining URL as the Actor's ID.

    But some implementations decided they should use /main-key instead. That indicates that the keyId format is unreliable and not well-specified. So I switched to deferring this header check for unknown Actors deeper into my ingestion pipeline so that I could retrieve the actor string from the object being sent. That works pretty well.

    But GET requests. Like followers_synchronization. Dammit. There's no object to refer to. So we're back to parsing the keyId and hoping for meaning.

    Out of 124,007 Actors in my database, 587 do not comply with the #main-key convention.

    enigmatick=> select count(*) from actors where as_public_key->>'id' NOT LIKE '%#main-key'; count ------- 587 (1 row)

    For full coverage, I need to accommodate /main-key and #key as well

    #ActivityPub

    read more

  • @reiver I'd consider interoperating social networks to be "federated", but I know it's not a precise term. There are similar ambiguities with other commonly used terms: decentralization, server, node, instance, and so on. We have our personal definitions but find that others have a different mental model than ours. It might be interesting to have a collaborative social web glossary that captures the variations of how these terms are used.

    read more

  • @rimu@mastodon.nzoss.nz Definitely. Offloading the static assets to nginx is a big win. Varnish adds a layer of serving from memory that takes it up a notch. Like having your own Fastly pop.

    It does require some configuration nuance to be sure you aren't serving cached assets to the wrong connections (e.g., authenticated GET requests that shouldn't be shared beyond a specific session).

    read more
Post suggeriti
  • 0 Votes
    1 Posts
    2 Views
    Frequently /me [from DE] thinks about #Datensparsamkeit The officially best [en] explainer is https://martinfowler.com/bliki/Datensparsamkeit.html@mfowler I became a Carteret Islands person once.Looking at my shell neclace.My wish for christmas is that you read it and carefully think about all the things you publish in terms of accessibility but also formats and size.An example:For @clemensg I did the yearly #ActivityPub #Atlas - it comes with millions and millions of geohashed places for OSM, wikidata, official sources and, well openaddresses [.io] They publish primarily in texts with lines of geojson.The whole planet is about 46 GB … … …An exmple:DE in this "format" is about 3.2 GBDE in CSV would be maybe 1.5 GB If we normalize and publish it compressed, it is [incl geohashes] about 800MB. If we now compress the geohashes, expanding it clientside the 3.2 GB becomes 250 MB …Maybe we can't save tons of powerplants like banning bitcoin would.But together we can save lots of energy.#geojson 💣
  • 0 Votes
    1 Posts
    6 Views
    How to Install #Pixelfed on #Ubuntu VPS (8 Step Quick-Start Guide) This article provides a guide for how to install Pixelfed on Ubuntu VPS.What is Pixelfed?PixelFed is a decentralized, open-source photo-sharing platform similar to Instagram but built on the #Fediverse (federated social networks using the #ActivityPub protocol). It allows users to host their own instances and interact with users across ...Continued 👉 https://blog.radwebhosting.com/how-to-install-pixelfed-on-ubuntu-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.social #selfhosted #installguide #selfhosting #vpsguide
  • 0 Votes
    1 Posts
    9 Views
    How to Host Your Own #Mastodon Server on a #VPS (5 Minute Quick-Start Guide) This article provides a guide for how to host your own Mastodon server on a VPS.Running your own Mastodon server on a VPS is an excellent way to enjoy an efficient and secure Mastodon experience.What is Mastodon?Mastodon is a #decentralized social media platform that enables users to post ...Continued 👉 https://blog.radwebhosting.com/how-to-host-your-own-mastodon-server-on-a-vps/?utm_source=mastodon&utm_medium=social&utm_campaign=mastodon.raddemo.host #rubygems #activitypub #installguide #selfhosting #selfhosted #rubyonrails
  • 0 Votes
    1 Posts
    15 Views
    @mizudako Works your #ActivityPub software?