Skip to main content

An application to mirror Nostr posts on twitter, and vice-versa

Project description

mirrorstr

Tool for mirroring Nostr posts on Twitter, and Twitter posts on Nostr

Mirrorstr is a tool for mirroring Nostr and Twitter posts. The application will monitor a user's account on the two platforms and reflect posts from one into the other. Mirrorstr will help users save time and make sure all audiences get access to a their posts.

Under early development.

Pronunciation: MIR-ror-str (first syllable is accented)

Disclaimer: With the recent post-Elon restrictions imposed on the free Twitter API, the app needed a Twitter scraper to be plugged in to monitor Twitter posts, instead of relying on the API. A way to authenticate and post to the Twitter handle without relying on the Twitter API will be implemented as well as well. The Twitter API is mostly unsupported as of now in the free tier, and relying on what will be of the API in the future is a sure source of frustration.

The app is intended to be run locally from the command line.

Libraries: https://github.com/jeffthibault/python-nostr (and its dependencies) https://github.com/JustAnotherArchivist/snscrape (and its dependencies)

Dev version of snscrape

This project depends on the dev version of snscrape, an excellent twitter scraping library. The dev version is available on PyPI, and an additional command is needed to install it.

Install Mirrorstr

pip install mirrorstr && pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git
  • Not compatible with arm macs

TODO & Timeline

The first functionality to develop will be Twitter => Nostr. It will take less time to develop and I think has higher demand at the moment.

On the other hand, I believe that the Nostr => Twitter functionality is the end-goal for the application. The goal is for users to be on Nostr primarily and to use the application as a time-saver so their Nostr posts get mirrored on Twitter while the migration happens.

1 - Twitter => Nostr functionality

[x] Twitter scraper - using the excellent tool by JustAnotherArchivist, snscrape (https://github.com/JustAnotherArchivist/snscrape)
[x] Parse twitter content after scraping
[x] Nostr posting [ ] Detect and import full threads

2 - Mirrorstr config file for Twitter => Nostr

[ ] Select relays to post to
[ ] Add private key directly to config file, or always ask during initialization
[ ] Select monitored Twitter handle

3 - Nostr => Twitter

[x] Monitoring Nostr notes from a specific npub
  [ ] More granular Nostr note filtration to avoid replies, download images/videos, and more
[ ] Twitter authentication (free API seems to be restricting this functionality as well)
[ ] Post to Twitter

4 - Mirrorstr config file for Nostr => Twitter

[ ] Add npub(s) to monitor
[ ] Select monitored relays
[ ] Authenticate Twitter account

npub1ljraxpufmzjnfdvsw0tq9kwnypctwxus8n9w388uhkd8h73pzzlqgmdzfy / @pleblira

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Mirrorstr-0.0.81.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

Mirrorstr-0.0.81-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file Mirrorstr-0.0.81.tar.gz.

File metadata

  • Download URL: Mirrorstr-0.0.81.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for Mirrorstr-0.0.81.tar.gz
Algorithm Hash digest
SHA256 0644809749cee0cde4556d3cab35d97433122d4b347148635714a53219f9b83e
MD5 ed6c178b3c8b321f64d4b15c9960c6fe
BLAKE2b-256 5d7d4f8cd3593977301c8854565f6bb3fcc4e6e03f6b40c60eb59eaa4c9b7387

See more details on using hashes here.

File details

Details for the file Mirrorstr-0.0.81-py3-none-any.whl.

File metadata

  • Download URL: Mirrorstr-0.0.81-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for Mirrorstr-0.0.81-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd53633975d696d6753f19b83afc69e349fb866f35f91e1ac5ed06bd1f6339f
MD5 78fc3c13882daaded57299b5272c7d39
BLAKE2b-256 52947ed3ce37d0d8e77eaa2805dd5534ed45495644be6a405cc319ff946d3721

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page