A powerful, command-line tool written in Rust for cross-posting to multiple social media platforms. Currently supports Twitter, Mastodon and Bluesky with an extensible architecture for adding more platforms.
git clone https://github.com/yourusername/posterino.git
cd posterino
cargo build --release
The binary will be available at target/release/posterino
cargo install -Z build-std --target x86_64-pc-windows-msvc --path .
posterino [OPTIONS] <MESSAGE>
posterino "Hello, World!"
posterino "Hello, World!" --platform mastodon
posterino "Hello, World!" --platform bluesky
posterino "First line\nSecond line"
posterino "Hello, everyone!" --all
Before using Posterino, you need to set up your configuration file. The first run will create a template configuration file at:
~/.config/posterino/config.toml
%APPDATA%\posterino\config.toml
The configuration file is in TOML format. Here's an example configuration:
[twitter]
consumer_key = "your_twitter_consumer_key"
consumer_secret = "your_twitter_consumer_secret"
access_token = "your_twitter_access_token"
access_token_secret = "your_twitter_access_token_secret"
[mastodon]
access_token = "your_mastodon_access_token"
instance_url = "https://mastodon.social"
[bluesky]
identifier = "your.handle@bsky.social"
password = "your_app_password"
instance_url = "https://bsky.social"
Posterino is built with extensibility in mind, using Rust's trait system for platform implementations:
SocialClient
trait defines the interface for all platform implementationssrc/social/
for your platformSocialClient
trait for your platformconfig.rs
main.rs
cargo test
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)This project is licensed under the MIT License - see the LICENSE file for details.