Skip to content

KC-2001MS/atpctrl

Repository files navigation

atpctrl

Command line tool that allows manipulation of SNS accounts compliant with AT protocol

Bluesky: 
@iroiro-work.bsky.social

Features

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.

ToDo

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

Credential Storage

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.

Installation

Currently under development, installation is done using Makefile.

cd path/to/repository
make install

Uninstallation

Currently under development, uninstallation is done using Makefile.

cd path/to/repository
make uninstall

Contributions

See CONTRIBUTING.md if you want to make a contribution.

Resources

Currently under development and in preparation.

License

This library is released under MIT license. See LICENSE for details.

Supporting

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.

Author

Keisuke Chinone

About

Command line tool that allows manipulation of SNS accounts compliant with AT protocol

Topics

Resources

License

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors