I published a repo that implements a usable first stab at the personal relay you described in your "Gossip Model" page on your website.
It's docker based and lets anyone who can spin up a vanilla linux VPS have a strfry-based personal nostr relay up and running in about 10 minutes.
The repo is here: https://github.com/pjv/strfry_personal_docker
#[0]
I'm building a WordPress plugin that is a small nostr client that allows sending WordPress content to Nostr from within the WP post editor. First public release on Github: https://github.com/pjv/wp-nostr.
#[0]
#[1]
Also rocketchat which I deployed instead of zulip when I evaluated them both, but if I had it to do over again now without the friction of user lock-in, I'd probably go with Matrix.
Word.
#[0] I have not tried this on a linux box (I use a mac), but I think you might be able to easily build for macos using cargo-bundle: https://github.com/burtonageo/cargo-bundle
I'm compiling gossip from the repo, but early on out of curiosity I installed cargo-bundle, created a simple Cargo.toml and then was able to generate a stand-alone app bundle for macos that worked fine.
cargo-bundle says it cross-compiles with a simple --target flag so my guess is that you would be able to pretty simply build at least for intel macs. On a quick glance through the repo I'm not sure if it can cross-compile for apple silicon yet. There's an open issue about implementing fat binaries that would run on both intel and apple silicon macs.
If you want to try it, I'll test for you. I have both an intel mac and an apple silicon mac.
Actually in this case seems more like the evil of banality.
Thanks for this!
Here's a personal relay strfry write policy in python: https://github.com/pjv/strfry-python-write-policy
Never mind; I found your post that explained what happened and re-set my follows and see their posts again.
#[0]
#[0] If I'm no longer seeing posts from my fediverse follows through the relay.mostr.pub bridge (were working initially, then stopped without changing any of my configuration in my clients), how can I try to debug this?
It's not the diets, it's the humans. Every crypto currency is a religion. Every political leaning is a religion. Every technology for communicating with other humans is a religion. Every sports team. Every music group. Every media star. Every billionaire...
No, strfry and the plugin(s) simply communicate via stdio. The plugin is an executable in any language that can deal with input on stdin and write output to stdout. I wrote mine in python.
Here's the brief documentation: https://github.com/hoytech/strfry/blob/beta/docs/plugins.md
I don't think that strfry currently exposes enough through its plugin framework to implement the anti-spam ideas here (which I agree will be essential). Or if it does, it's currently undocumented.
What it does is let you build a simple (non-stateful) "write policy" plugin that gives you the incoming event (with some metadata like IP address, etc) and lets your plugin decide whether that event should be accepted or not.
The plugin I am currently testing on my instance:
1. lets you define a whitelist of pubkeys that are allowed to post anything.
2. lets anyone post a kind 10002 event
3. lets anyone post any event with a 'p' tag that includes any of the pubkeys in the whitelist
4. rejects writing everything else
strfry seems not to have any "read policy" plugin implementation (yet?). So I am unable to put limits on what people can read.
test
Or maybe even scraping is too expensive. I can totally live without twitter.
I agree with your assessment. Until and unless twitter provides a reasonable API you shouldn't try to display the cards.
What about scraping the content of the tweet and rendering it sort of like a quoted post? (Maybe that's what you already do - I don't remember and couldn't find any examples of tweet quoting posts in my current timeline).
#[0] great document.
I'm working on a write-policy plugin for strfry that will implement most of what you specified in the section on personal relays. Can you expand some of the details of what constitutes "events tagging me"?
Does that include scanning the content of notes for npubs and / or hex pubkeys? Or just looking at 'p' tags?
Any subset of event kinds you have in mind for "events tagging me"?
