
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
github-files-sync
Advanced tools
Simple file synchronization tool using GitHub as storage.
npm install -g github-files-sync
gfs init <github-repo-url>
gfs add ~/.zshrc
gfs add ~/scripts/deploy.sh
gfs push
gfs pull
gfs status
Watch files and automatically push changes to GitHub:
# Start watching
gfs watch start
# Check watch status
gfs watch status
# Stop watching
gfs watch stop
If you need a different path for a file on a specific machine:
gfs override home__zshrc ~/my-custom-zshrc
gfs pull # Sync file to new location
Note: Path overrides are stored locally and NOT synced to other machines.
Configuration is stored in ~/.sync-config/config.json
{
"repository": "git@github.com:user/sync-storage.git",
"baseDir": "~",
"localMappings": {
"home__zshrc": ".zshrc",
"home_scripts_deploy_sh": "work/scripts/deploy.sh"
}
}
Key Features:
baseDir (default: home directory)localMappings can override paths on a per-machine basisExample: On Machine A, scripts_deploy_sh → ~/scripts/deploy.sh, but on Machine B it could be → ~/work/scripts/deploy.sh
sync-storage/
├── .sync-manifest.json
└── files/
├── home__zshrc
└── home_scripts_deploy_sh
Manifest format (.sync-manifest.json):
{
"files": [
{
"id": "home__zshrc",
"relativePath": ".zshrc",
"lastModified": "2025-11-10T10:00:00Z",
"hash": "abc123..."
}
]
}
Enable auto-start with a single command:
# Enable auto-start
gfs watch autostart enable
# Check status
gfs watch autostart status
# Disable auto-start
gfs watch autostart disable
This works on both macOS and Linux, and automatically handles all platform-specific setup.
# If installed via npm
cp /usr/local/lib/node_modules/github-files-sync/autostart/com.github-files-sync.watch.plist ~/Library/LaunchAgents/
# Or use this to find the installed location
cp "$(npm root -g)/github-files-sync/autostart/com.github-files-sync.watch.plist" ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.github-files-sync.watch.plist
launchctl start com.github-files-sync.watch
To stop auto-start:
launchctl unload ~/Library/LaunchAgents/com.github-files-sync.watch.plist
mkdir -p ~/.config/systemd/user
# If installed via npm
cp /usr/local/lib/node_modules/github-files-sync/autostart/github-files-sync-watch.service ~/.config/systemd/user/
# Or use this to find the installed location
cp "$(npm root -g)/github-files-sync/autostart/github-files-sync-watch.service" ~/.config/systemd/user/
systemctl --user enable github-files-sync-watch.service
systemctl --user start github-files-sync-watch.service
systemctl --user status github-files-sync-watch.service
To stop auto-start:
systemctl --user stop github-files-sync-watch.service
systemctl --user disable github-files-sync-watch.service
MIT
FAQs
Simple file synchronization tool using GitHub as storage
We found that github-files-sync demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.