gfas (GitHub Following Auto Synchronization) manipulates your GitHub following list to match your followers, enabling you to follow back and unfollow back automatically. It runs on CLI and can be scheduled with GitHub Actions.
- Copy-paste the Sync workflow to any of your repositories. You can just fork this repository for convenience.
- Create a
personal access token
with the
user:follow
permission. - Create an
secret
named
TOKEN
in the repository containing the token value. - Customize your workflow, e.g. modify the scheduled time (defaults to every 6 hours).
- Maybe you want to trigger it manually to see the effect.
Archives of precompiled binaries for gfas are available for Windows, macOS and Linux. Linux and Windows binaries are static executables. Users of platforms not explicitly mentioned below are advised to download one of these archives.
If you're a Rust programmer, gfas can be installed with cargo
.
Note that the minimum supported version of Rust for gfas is 1.77.0,
although gfas may work with older versions.
$ cargo install gfas
Alternatively, one can use cargo binstall
to install a gfas
binary directly from GitHub:
$ cargo binstall gfas
After installation, run gfas --help
for all commands and options.
The gfas-api crate exports some GitHub API bindings which can be used to build your application.
$ cargo add gfas-api
use gfas_api::GitHub;
let github = GitHub::new(String::from("<TOKEN>"))?;
github.explore("<USER-TO-EXPLORE>", true).await?;
gfas is written in Rust, so you'll need to grab a Rust installation in order to compile it. gfas compiles with Rust 1.77.0 (stable) or newer. In general, gfas tracks the latest stable release of the Rust compiler.
To build gfas:
$ git clone https://github.com/Resonaa/gfas
$ cd gfas
$ cargo build --release
$ ./target/release/gfas --help
gfas is relatively well-tested, including both unit tests and integration tests. To run the full test suite, use:
$ cargo test
from the repository root.
See CONTRIBUTING.md.
This project is licensed under the Unlicense.