A lightweight, cross-platform CLI/TUI application for synchronizing configuration files between multiple computers using your own cloud storage.
- CLI & TUI Interface: Fast command-line interface + beautiful interactive terminal UI
- Cloud Agnostic: Works with any cloud storage (Dropbox, OneDrive, Google Drive, etc.)
- Git Mode (needs testing): Use a git repository instead of cloud folders for version control
- Smart Sync (needs testing): Intelligent bidirectional sync using SHA256 hashes and timestamps
- Multi-Platform (needs testing): Native support for Windows, Linux, and macOS
- Computer-Specific Paths (needs testing): Different paths for each of your computers
- Safety Features (needs testing): Dry-run mode, conflict detection, hash-based verification
# Install specific version (recommended for latest features)
go install github.com/AntoineArt/syncstation@v1.0.3
# Install latest (may be delayed due to Go proxy caching)
go install github.com/AntoineArt/syncstation@latestWhy specify the exact version?
- Go's module proxy can cache older versions for several minutes
@latestmight not immediately reflect the newest release- Specifying
@v1.0.2ensures you get the exact version you want
# Check if Go bin is in PATH
echo $PATH | grep -q "$(go env GOPATH)/bin" && echo "✅ Go bin in PATH" || echo "❌ Go bin NOT in PATH"
# If not in PATH, add this to your shell profile (~/.bashrc, ~/.zshrc, etc.)
export PATH=$PATH:$(go env GOPATH)/bin
# Reload your shell or run:
source ~/.bashrc # or ~/.zshrcVerify installation:
syncstation --version
# Should show: syncstation version 1.0.3See Installation Guide for all installation methods.
Binary download:
# Download latest release and install
curl -L https://github.com/AntoineArt/syncstation/releases/latest/download/syncstation-linux-amd64 -o syncstation
chmod +x syncstation
sudo mv syncstation /usr/local/bin/# Initialize in your cloud folder (with interactive computer name prompt)
cd ~/Dropbox # or your cloud sync folder
syncstation init
💻 Computer name (default: hostname-laptop): work-laptop
# Add your first sync item (auto-detects file vs folder)
syncstation add "Neovim Config" ~/.config/nvim
# Check status
syncstation status
# Start syncing
syncstation syncCore Commands:
syncstation init [cloud-dir] # Initialize configuration
syncstation add NAME PATH # Add sync item
syncstation sync [item-name] # Smart sync (default)
syncstation push/pull [item-name] # One-way sync
syncstation status # Show sync status
syncstation list # List all sync items
syncstation tui # Launch interactive TUIAdding Sync Items:
# Add a config file (auto-detects as file)
syncstation add "Vim Config" ~/.vimrc
# Add a config directory (auto-detects as folder)
syncstation add "SSH Config" ~/.ssh
# Add with exclude patterns for folders
syncstation add "Project Config" ~/myproject --exclude "*.log,build/*,node_modules"
# Multi-computer workflow example:
# Computer A:
syncstation add "Zsh Config" ~/.zshrc
# Computer B (different path):
syncstation add "Zsh Config" /Users/me/.zshrc # Same name, different pathLaunch the beautiful terminal interface:
syncstation tuiNavigate with arrow keys, select with Space, and perform bulk operations. See Usage Examples for detailed workflows.
Syncstation keeps your configuration files synchronized across multiple computers using your existing cloud storage:
- Smart Sync Algorithm: Uses SHA256 hashes and timestamps to detect changes and resolve conflicts intelligently
- Cross-Platform Paths: Configure different paths for each computer (Linux, macOS, Windows)
- Cloud Storage: Uses your existing Dropbox/OneDrive/Google Drive - no additional accounts needed
- Git Mode: Optional version control with git repositories instead of cloud folders
For detailed architecture and configuration options, see Configuration Guide.
- Installation Guide - All installation methods including package managers and prebuilt binaries
- Building from Source - Complete guide for building and development setup
- Configuration Guide - Multi-computer setup, configuration files, and advanced options
- Usage Examples - Detailed workflows and real-world examples
- Linux: Debian/Ubuntu, Arch, Fedora/RHEL (amd64, arm64)
- macOS (needs testing): Intel and Apple Silicon (universal binaries)
- Windows (needs testing): 64-bit (amd64, arm64)
See CONTRIBUTING.md for development guidelines.
- Fork the repository
- Create a feature branch
- Run tests:
go test ./... - Submit a pull request
GPL v3 License - See LICENSE file for details.
Created by Artan200 (AntoineArt)