Skip to content
/ tsync Public

Cross platform terminal UI (tui) and network based synchronization of clipboard and files (in go)

License

Notifications You must be signed in to change notification settings

fortio/tsync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoDoc Go Report Card CI Checks codecov

tsync

WIP (just started)

Cross platform terminal UI (tui) and network based synchronization of clipboard and files

Includes reusable library for network discovery and file/dir sync.

What does it do / How does it work?

The program starts by figuring out which interface and local address to use (because on Windows the default picks the WSL virtual interface and thus fails to see real peers) by looking up a configurable target (defaults to UDP 8.8.8.8:53, i.e., one of Google's public DNS servers).

It then listens on a multicast address (default 239.255.116.115:29556), periodically sends its own information to that address, and reads information from discovered peers.

Currently, example of peer detection with tsync running on a mac, a linux and a windows box:

Example Screenshot

Install

You can get the binary from releases

Or just run

CGO_ENABLED=0 go install fortio.org/tsync@latest  # to install (in ~/go/bin typically) or just
CGO_ENABLED=0 go run fortio.org/tsync@latest  # to run without install

or

brew install fortio/tap/tsync

or even - but multicast that we need doesn't seem to work at least on docker for mac.

docker run --network host -v ~/.tsync:/home/user/.tsync -ti fortio/tsync

Usage

tsync help

About

Cross platform terminal UI (tui) and network based synchronization of clipboard and files (in go)

Topics

Resources

License

Stars

Watchers

Forks