Command line tool that allows manipulation of SNS accounts compliant with AT protocol
The following operations are supported in SNSs compliant with the AT protocol
Posts & feeds
- Post text, with an interactive multi-line editor or
--text - Attach embeds to a post (images via
--image, link cards via--link) - Reply to / quote a post (
post --reply-to <uri>/--quote <uri>) - View your home timeline (
timeline/tl) - View a user's posts (
posts) - Search posts, users, or feeds (
search,--type posts|users|feeds, default posts) - View a post and its replies (
thread) - Act on a post —
post-action <like|unlike|repost|unrepost|delete> <uri> - Act on an account —
account-action <follow|unfollow|block|unblock|mute|unmute> <handle>
People
- Display profile (
user) - Suggestions (
suggest,--type users|feeds|starterpacks; users also take--category) - Follow / unfollow, block / unblock, mute / unmute (via
account-action) - Display followers / following (
followers,follows) - Display muted / blocked accounts (
mutes-users,blocked-users)
Your own
- Display your own feeds (
feeds) and user lists (lists) - View notifications (
notifications) - Log in / log out (
login,logout)
More features will be added as ATProtoKit is developed.
In this project, we are planning to slowly implement the following However, please note that this project is dependent on the development status of this API as it uses ATProtoKit, which is currently under development. Also, since we plan to use many experimental features, development will take time.
- Swift 6 Support
- Swift Concurrency Support
- Easy debugging capabilities with Swift Testing
- Supports AT Protocol-enabled and command line-optimized features
- Secure storage of login information
Login information is stored in the operating system's secure credential store rather than in a plain-text file. The backend is selected per platform:
- macOS (and other Apple platforms): the system Keychain (Security framework).
- Linux: the freedesktop Secret Service (GNOME Keyring, KWallet, KeePassXC, ...) via KeyringAccess.
The Linux dependency is only pulled in when building on Linux, so Apple-platform builds stay lightweight. Building on Linux requires the Swift 6.1 toolchain (a KeyringAccess requirement) and a running Secret Service; Apple-platform builds have no such requirement.
Currently under development, installation is done using Makefile.
cd path/to/repository
make installCurrently under development, uninstallation is done using Makefile.
cd path/to/repository
make uninstallSee CONTRIBUTING.md if you want to make a contribution.
Currently under development and in preparation.
This library is released under MIT license. See LICENSE for details.
If you would like to support the development of this project, your contribution is greatly appreciated. It is used to improve my programming skills and maintain the application. Sponsorship options are available from the Sponsor button on this repository.