Skip to content

Latest commit

 

History

97 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hsync

this is a real-time file-syncing program for collaborative programming in instances that require more granular syncing.
written with hackathons and other short-term commitments in mind, it will propagate changes as you save files.
it also respects .gitignore style files to prevent sending garbage over the network.

how to use

server

hsync-server --db [path to database]

client (folder host)

hsync-client --addr [server addr] --folder [folder to share] --password [password for folder] (--insecure)

if you actually want to try this out i recommend using --insecure because the QUIC library used requires certificates signed by an authority (which are somewhat annoying to procure).

on establishing a new connection, you will be provided with a code to send to other users.

Note

on debug builds, the code will always be "code" for testing but this will break on multi-tenant setups

client (joining a folder)

hsync-client --addr [server addr] --code [code] --password [password for folder]

how?

similar technique to google's cdc-file-transfer, uses fastcdc to do content-defined chunking and myers diffing to be able to pass blocks of data over the network when need be without having to shift around blocks.

future

  • holepunching and direct connections
  • UI

About

internal tool for syncing between laptops

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages