ashedow / sync_files

Learn elixir by building apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Naive sync files client written in elixir

Learn Elixir by writen simplified SyncThing

Usage

Install Dependency

mix deps.get

Comile dependency

mix compile && mix escript.build

Run tests:

mix test

Run app, for exampel, like

./app --src <src@host:port:/dir> --dest <dest@host:port:/dir>

or

export SRC=<src@host:port:/dir> DEST=<dest@host:port:/dir>
./app

use dest@host::/dir for default 22 port

Or

iex -S mix

or

mix run --no-halt

TODO:

  • Custom path to ssh_keys
  • Decentralized (P2P)
  • Neighborhood discovery (local network)
  • Sync even behind different NATs
  • Several host, several destination

About

Learn elixir by building apps


Languages

Language:Elixir 97.3%Language:Dockerfile 2.7%