All Projects → pydio → cells-sync

pydio / cells-sync

Licence: GPL-3.0 license
Sync Client for Pydio Cells

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to cells-sync

retrygroup
Package retrygroup provides synchronization, Context cancelation for groups of retry goroutines working on subtasks of a common task.
Stars: ✭ 18 (-14.29%)
Mutual labels:  synchronization
syncdir
Automatically discover peers and synchronize a folder
Stars: ✭ 30 (+42.86%)
Mutual labels:  synchronization
sync-mht
Synchronize directory hierarchies using Hash-Tree's
Stars: ✭ 21 (+0%)
Mutual labels:  synchronization
AudioAlign
Audio Synchronization and Analysis Tool
Stars: ✭ 80 (+280.95%)
Mutual labels:  synchronization
SilentNotes
SilentNotes is a simple note taking app which respects your privacy.
Stars: ✭ 98 (+366.67%)
Mutual labels:  synchronization
nextcloud-grauphel
Tomboy note synchronization REST server nextcloud app
Stars: ✭ 53 (+152.38%)
Mutual labels:  synchronization
ParseCareKit
Securely synchronize any CareKit 2.1+ based app to a Parse Server Cloud. Compatible with parse-hipaa.
Stars: ✭ 28 (+33.33%)
Mutual labels:  synchronization
midgard
⛰️ Universal clipboard sharing service (supports macOS/Linux/Windows/iOS)
Stars: ✭ 81 (+285.71%)
Mutual labels:  synchronization
libfmp
libfmp - Python package for teaching and learning Fundamentals of Music Processing (FMP)
Stars: ✭ 71 (+238.1%)
Mutual labels:  synchronization
syncwatch
Browser extension to watch videos together
Stars: ✭ 48 (+128.57%)
Mutual labels:  synchronization
in2publish core
in2publish Community Version
Stars: ✭ 38 (+80.95%)
Mutual labels:  synchronization
ESPNtpClient
High accuracy NTP library for ESP32 and ESP8266
Stars: ✭ 81 (+285.71%)
Mutual labels:  synchronization
old-audiosync
First implementation of the audio synchronization feature for Vidify, now obsolete
Stars: ✭ 16 (-23.81%)
Mutual labels:  synchronization
triple-buffer
Implementation of triple buffering in Rust
Stars: ✭ 66 (+214.29%)
Mutual labels:  synchronization
sync-client
SyncProxy javascript client with support for all major embedded databases (IndexedDB, SQLite, WebSQL, LokiJS...)
Stars: ✭ 30 (+42.86%)
Mutual labels:  synchronization
mine
Share application state across computers using Dropbox.
Stars: ✭ 14 (-33.33%)
Mutual labels:  synchronization
JFileSync3
File Syncing with encryption and compression (partly) compatible with encfs / boxcryptor (classic) volumes for local folders and WebDAV backends. Based on JFileSync - hence the name.
Stars: ✭ 20 (-4.76%)
Mutual labels:  synchronization
node-v
🔒 Secure ❄️ Synchronized ⚡️ Realtime ☁️ Cloud 🌈 Native JavaScript Variables & Events
Stars: ✭ 27 (+28.57%)
Mutual labels:  synchronization
btrfs-sync
Smart and easy sync of BTRFS snapshots, locally or through SSH
Stars: ✭ 64 (+204.76%)
Mutual labels:  synchronization
TAOMP
《多处理器编程的艺术》一书中的示例代码实现,带有注释与单元测试
Stars: ✭ 39 (+85.71%)
Mutual labels:  synchronization

Cells Sync

Homepage | Dev Guide | GitHub-Repository | Issue-Tracker

License Badge GoDoc Build Status Go Report Card

Cells Sync is a desktop synchronization client for Pydio Cells server.

Features

  • 100% GO
  • Windows, MacOSX, Linux
  • Realtime propagation of changes (when your local machine can connect to your server)
  • Configurable sync direction (bi-directional / unidirectional)
  • Selective Folders synchronization
  • Supports various types of end points for syncing (any source/target can be combined):
    • Cells Server (over HTTP/HTTPS)
    • Local Folder
    • Local Cells server (accessed directly if deployed inside the microservices mesh)
    • S3-compatible storage service (tested with AWS S3)
    • BoltDB storage (used for storing tree snapshots)
    • Cells gRPC indexation services (implementing NodeProvider/NodeReceiver gRPC endpoints).

Getting Started

If you are using a Mac or Windows personal computer, you might directly download a pre-packaged installer for your OS from our Download Server. Furthermore, you should read this page of our documentation to get a functionnal overview of the tool.

We also provide pre-compiled binaries for Linux, MacOS and Windows: simply download the tool and launch it.
See the instructions below for further details.

Note that synchronization must be configured and enabled on the server side: if you are running in a non-vanilla environment (e.g. behind a reverse proxy), we have gathered some tips in our knowledge base that should help you fix usual networking issues.

Compiling from sources

The below instructions will get you a copy of the project up and running on your local machine for development and testing purposes. To simply deploy a running binary, see the previous section.

Pre-requisites

In order to compile and run the Cells-Sync client, you must fulfill the following requirements:

  • GOLANG developement toolchain properly installed (tested with 1.12 and higher)
  • NodeJS/NPM environment in order to compile the frontend, you need an up-to-date version of NPM (tested with node version 12.X)

Compilation instructions

  • Get the code: go get github.com/pydio/cells-sync/...
  • Change directory to app/ux/
  • To load frontend dependencies run npm install
  • To compile the frontend, run npm run build
  • To pack the frontend inside the binary (not mandatory if you are running on the same machine where $GOPATH is available), install github.com/gobuffalo/packr/packr tool and run make clean pack at the root of the repository.

[ Update 04/16/2020 ]
Due to a dependency issue, until we switch to modules or until this dependency master is stable again, you have to apply the following before calling the make command:

cd github.com/zserge/webview
git checkout 9c1b0a888aa40039d501c1ea9f60b22a076a25ea

[ to be continued ]

  • Compile binary by running make cli

The resulting cells-sync binary should be good to go.

Running cells-sync

Once you have downloaded or compiled cells-sync for your platform, simply run:

./cells-sync start

This both starts the system tray icon and the synchronization agent in background. To run the agent without any UX, use cells-sync start --headless.

Other available commands

Use help to display the available commands:

$ ./cells-sync --help
Usage:
  ./cells-sync [flags]
  ./cells-sync [command]

Available Commands:
  add         Add a new task via command line
  autotest    Basic unidirectional sync between two local folders (under your temporary directory)
  bgstart     Start sync tasks from within service
  capture     Capture snapshots inside JSON file - do not perform any actual tasks
  delete      Delete existing sync via command line
  edit        Exit existing sync via command line
  help        Help about any command
  service     Manage service: install,uninstall,stop,start,restart
  start       Start sync tasks
  systray     Launch Systray
  version     Display version
  webview     Launch WebView

Flags:
  -h, --help   help for ./cells-sync

Use "./cells-sync [command] --help" for more information about a command.

Troubleshooting

If you are running Cells Sync in a docker container make sure to also use the interactive shell flag -i with the run command see docker documentation.

Contributing

Please read CONTRIBUTING.md in the Pydio Cells project for details on our code of conduct, and the process for submitting pull requests to us. You can find a comprehensive Developer Guide on our web site. Our online docs are open source as well, feel free to improve them by contributing!

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the GPLv3 License - see the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].