A p2p file syncing tool. Set your push pulls and let the system sync it all between nodes.
cargo run
After you run the first time, a config will be created under $HOME/.config/fsy/config.toml.
node_id is the identifier of the environment you are running and it is unique per config. When you run, the node_id will be presented and you can use it on the configs of other environments as per the documentation
# trustees is the list of nodes you want to interact with
[[nodes]]
# friendly name id on the current node environment to be used
# on the target groups target node_name
# node name needs to be unique
name = "desktop"
id = "<env node_id>"
[[target_groups]]
# friendly name for the sync to be done, needs to be common to the
# node configurations to identify the push/pull
# target group name needs to be unique
name = "amazing_file"
path = "/Users/joe/amazing_file.txt" # file to sync
# targets is where and how this sync should be done
[[target_groups.targets]]
# there are 3 modes push / pull / pushpull
# - push: only pushes the changes to envs
# - pull: only pulls changes from envs
# - pushpull: bilateral communication of changes
mode = "push"
node_name = "desktop" # trustee friendly name id
[local]
# set of keys to build up your local node id
public_key = "..."
secret_key = []
push_debounce_millisecs = 500 # run a push check every x ms
loop_debounce_millisecs = 250 # runs queue and events checks every x ms