silverpill

@silverpill@mitra.social · Joined ⁨Nov⁩ ⁨2021⁩

Developer of ActivityPub-based micro-blogging and content subscription platform Mitra. I help maintain the FEP repository and write my own FEPs too. Currently working on ActivityPub Next.

Matrix
@silverpill:unredacted.org
$XMR
48YM8jwJqDkeUvD38vepSXFeMZH1zsjbvGwTTuaNSSq6Q5GyeWaeiheAZUsSmNn72YdyLpw8geb4FL3opZfGbguJLUj8Mi9
PGP
0541 49E3 0F91 C6D7 8FFA C49C 955F 5A6E 2123 25F0
OMEMO fingerprint
689a2fb0ec87a9481fb45cb7d8870da6aeb4d8247bd69a39017701133b901f04
Matrix (backup)
@silverpill:poa.st

Replying to @⁨fox@social.hostnetwork.xyz⁩

@fox I was told that your image doesn't work, something related to the configuration path. So we made another one: https://codeberg.org/silverpill/-/packages/container/mitra/5.7.1

But your image is still listed in the readme - it's good to have a backup.

Codeberg.orgmitraCodeberg is a non-profit community-led organization that aims to help free and open source projects prosper by giving them a safe and friendly home.

silverpill boosted

[Decentralized, federated platform for dog owners]

I haven’t been able to get this idea out of my head for a while now. 😩😁

Why are there centralized platforms for dog owners—but no open, decentralized alternative? 🤔

What if clubs, animal shelters, dog training schools, or local communities could run their own instances while still being interconnected, based on ActivityPub, similar to the Fediverse? 😃

Possible features could include:
🐶 Dog profiles
🚶 Walks & meetups
📍 Dog parks & local spots
⚠️ Poisoned bait and hazard alerts
🔎 Missing & found dogs

The focus would be on data sovereignty, local communities, and open standards instead of a centralized platform. 😉

Attached is a preliminary concept diagram to make the idea more tangible.

I’d be interested to know:
Would you use something like this, or even help build it? ⁉️ 🙄

#Fediverse #ActivityPub #OpenSource #SelfHosting #Dogs #DogLovers #AnimalWelfare #Community #Idea

Infographic in DIN A4 format titled “Dog Network – Decentralized. Local. For Dogs and Their Owners.” The infographic visualizes the concept of a decentralized dog platform based on ActivityPub. At the center, a network diagram connects several independent communities (e.g., animal shelters, dog training schools, local communities, or breed groups) that communicate with one another via a federated infrastructure.

On the right, a smartphone app with a map view is shown as an example. Surrounding it are potential features: dog profiles, walks and meetups, warnings about hazards and poisoned bait, dog parks and local spots, missing or found dogs, as well as groups and discussion forums.

Other sections explain data protection, data sovereignty, self-hosting, open-source technologies, and an optional, privacy-friendly meeting mode that uses intentionally imprecise location data. The design primarily uses shades of green and natural tones, featuring illustrations of dog owners, dogs, maps, and network symbols. The graphic serves as an initial concept sketch and does not represent a finished product or final design.
ALT

silverpill boosted

Replying to @⁨silverpill@mitra.social⁩

@silverpill No stance - i.e. All good.

Crypto is a technology in the first place and nothing that should be banned or moderated on the code level. Many people use it in a very positive way.

Abuse and bad acting is always possible and might surely happen in this sector more frequently than elsewhere - but that is actor-related and nothing of our business hosting source code.

If someone would use crypto projects on our CI to act questionable or perform harmful actions - this would be another case then.

Replying to @⁨greyarea@mitra.vpclmulqdq.moe⁩

@greyarea I assume this is "Authentication Using an Asymmetric Key" (https://www.rfc-editor.org/rfc/rfc9180.html#name-authentication-using-an-asy)?

Because in "Encryption to a Public Key" mode, sender's key is not used.

If I understand the idea correctly, the ephemeral key would need to be added to fep0806:cipherData. That is, instead of encap_key | ciphertext it will be ephemeral_key_pub | encap_key | ciphertext.

www.rfc-editor.orgRFC 9180: Hybrid Public Key Encryption This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2. This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.

Proposal: Replace gateways query parameter in 'ap' URIs with @gateway, which can be used multiple times

https://codeberg.org/fediverse/fep/pulls/890

Before:

?gateways=https%3A%2F%2Fserver1.example,https%3A%2F%2Fserver2.example

After:

?@gateway=https%3A%2F%2Fserver1.example&@gateway=https%3A%2F%2Fserver2.example

Query parameters are often used to specify collection filters. The @ prefix will make it clear that gateway parameter is special.

#fep_ef61

Summary card of an issue titled "WIP: FEP-ef61: Define `@gateway` query parameter" in repository fediverse/fepCodeberg.orgWIP: FEP-ef61: Define `@gateway` query parameterReplacing `gateways` query parameter in 'ap' URIs with `@gateway`, which can be used multiple times. https://socialhub.activitypub.rocks/t/fep-ef61-portable-objects/3738/92

Replying to @⁨lutindiscret@mastodon.libre-entreprise.com⁩

@lutindiscret @happyborg I don't feel that mitra is unwelcome there, my interactions with Codeberg team have been mostly pleasant. But I also don't want to count on favorable interpretations.

I didn't ask, but somebody else mentioned mitra in a discussion 7 months ago, and was ignored: https://codeberg.org/Codeberg/Community/issues/2184#issuecomment-8629041

Summary card of an issue titled "Codeberg must take a stricter stance against cryptocurrency projects" in repository Codeberg/CommunityCodeberg.orgCodeberg must take a stricter stance against cryptocurrency projects### Comment There are a number of cryptocurrency projects that exist on Codeberg such as https://codeberg.org/darkrenaissance/darkfi and https://codeberg.org/Flowee/thehub. Projects like these are already banned on Codeberg alternatives such as SourceHut. Allowing these projects is not a neutral...

Codeberg is banning "cryptocurrency projects":

https://codeberg.org/Codeberg/org/pulls/1254#issuecomment-19820413

I don't know if Mitra qualifies as such, but I guess it is time to move to a self-hosted forge.

Summary card of an issue titled "Proposal for Assembly 2026: Disallow cryptocurrency projects" in repository Codeberg/orgCodeberg.orgProposal for Assembly 2026: Disallow cryptocurrency projectsContext: - https://forum.codeberg.org/d/82-taking-a-stance-against-cryptocurrency - https://codeberg.org/Codeberg/Community/issues/794 - https://codeberg.org/Codeberg/Community/issues/2184

Replying to @⁨greyarea@mitra.vpclmulqdq.moe⁩

@greyarea

>If the proof covers all of that then it's not strictly needed, but it's cheap paranoia.

Do you mean id/actor/to of a plaintext activity, or of an envelope (EncryptedActivity)?

My understanding is that the properties of an envelope have no effect on security. It can even have a different actor.

I added an example of a plaintext activity: https://codeberg.org/silverpill/feps/src/branch/main/0806/fep-0806.md#plaintext-activity

Also added HPKE mode to the parameter list - mode_base.

Summary card of repository silverpill/feps, described as: My FEPsCodeberg.orgfeps/0806/fep-0806.md at mainfeps - My FEPs

Replying to @⁨greyarea@mitra.vpclmulqdq.moe⁩

@greyarea I added HPKE algorithm parameters to the FEP:

https://codeberg.org/silverpill/feps/src/branch/main/0806/fep-0806.md#algorithms

KEM: DHKEM(X25519, HKDF-SHA256)
AEAD: ChaCha20Poly1305
KDF: HKDF-SHA256
"info" string: fep-0806-info
"aad" string: fep-0806-aad

Does it look right?

KEM/AEAD/KDF choices are not my preferences, I just copied them from another HPKE+ed25519 implementation.

Summary card of repository silverpill/feps, described as: My FEPsCodeberg.orgfeps/0806/fep-0806.md at mainfeps - My FEPs

Replying to @⁨greyarea@mitra.vpclmulqdq.moe⁩

@greyarea Hi, I tried to implement the mechanism described in the FEP and decided to use HPKE (RFC-9180). What do you think of it?

HPKE seems to address the issue you pointed out back then: https://www.rfc-editor.org/rfc/rfc9180.html#name-forward-secrecy.

At least if used properly. The library I am using hard-codes "info" and "aad" strings: https://github.com/rustonbsd/ed25519-dalek-hpke/blob/27b010a9ae25ba4ce051510eadfd103a179dd715/src/lib.rs#L98-L104

Anyway, here's an updated FEP: https://codeberg.org/silverpill/feps/src/branch/main/0806/fep-0806.md

@raucao @lain @sozialwelten @koteisaev

www.rfc-editor.orgRFC 9180: Hybrid Public Key Encryption This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2. This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.