A Rust-based CLI and TUI client for the Org-social decentralized social network.
Current version is targeting 1.2 release.
org-social-rs provides both command-line and terminal user interface tools for interacting with Org-social networks. This allows the user to use the network without the heavy overhead of emacs, though with some limitations (at least for now).
- CLI Interface: View feeds, filter posts, get some stats
- TUI Interface: Interactive terminal-based interface for browsing and navigating social feeds, powered by ratatui
- Feed & Threaded view: See posts chronologically or in a threaded view
- Notification view: See where you were mentioned/replied to
- Post & Reply System: Create and save new posts and replies to conversations
- Poll system: Display, counting votes (limited to thread view), replies (powered by reply system)
Somewhat paired to the lib's features - as it's todo gets fullfilled, the same features should land here where applicable.
In no particular order:
- Search & filter in the tui
- Formatting improvements
- Automatic remote feeds sync - powered by pre- and post- hooks, most likely bash commands from config. Or built-in support for a particular tool users prefer.
- UX improvements - controls are very random and all over the place.
- CLI feature parity - CLI should also have access to posting and replying.
- Bug fixes, edge case handling - the tool is not very tested.
# Install from crates.io
cargo install org-social-rs# Clone the repository
git clone https://github.com/AdsanTheGreat/org-social-rs.git
cd org-social-rs
# Run the program, without installing
cargo run --release
# Build the project
cargo build --release
# Manually copy the binary to your bin directoryOR
# Build the release version of the program, put it in the Cargo bin directory
cargo install --path .The configuration file is in the default config directory -> org-social-rs folder, in a straightforward .toml format Currently, setting default file/feed count is supported.
The config options can be overriden by their respective cli flags, for example:
# This always uses the file you provide here, ignoring the one in the config
org-social-rs --file path/to/social.org tuiMeant mostly for integrating as, for example, part of a bash script. Can force colored (on not) output with the --color flag.
CLI does not yet have all TUI features for displaying posts and feeds, or creating new posts & replies.
# View feed with latest posts
org-social-rs feed
# Limit number of posts
org-social-rs --count 10
# Filter posts from recent days
org-social-rs feed --days 7Meant to serve as an actual client, exposing most features.
# Launch interactive terminal interface
org-social-rs tuiThis project uses the org-social-lib-rs library for core functionality. If you want to integrate org-social into something, build a specific client (maybe a real gui?), feel free to check it out.
Report issues (there are probably a lot of them), submit pull requests, help is welcome.
This project is licensed under the GNU General Public License v3.0.
- org-social.el - Original Emacs client
- org-social - Protocol specification and documentation