Skip to content

owsync: add file synchronization daemon#29136

Draft
pgaufillet wants to merge 1 commit intoopenwrt:masterfrom
pgaufillet:add-owsync
Draft

owsync: add file synchronization daemon#29136
pgaufillet wants to merge 1 commit intoopenwrt:masterfrom
pgaufillet:add-owsync

Conversation

@pgaufillet
Copy link
Copy Markdown

@pgaufillet pgaufillet commented Apr 12, 2026

📦 Package Details

Maintainer: @pgaufillet

Description:
Add owsync, a lightweight bidirectional file synchronization daemon designed for multi-router OpenWrt deployments.

Features:

  • Multi-master bidirectional sync over TCP
  • AES-256-GCM encryption (optional, menuconfig toggle)
  • SHA-256 content-based change detection
  • Tombstone-based deletion tracking across reboots
  • Atomic file operations (write-to-tmp + rename)
  • Clock skew protection (aborts if >60s drift)
  • Glob patterns for include/exclude filtering

Primary use case: synchronizing /etc/config between redundant routers. Also useful for multi-AP deployments, fleet management, or any scenario where config files must stay in sync.

No dependency on other HA packages — can be merged independently.

Part of the OpenWrt HA cluster proposal:

Source: https://github.com/pgaufillet/owsync (v1.2.0)


🧪 Run Testing Details

  • OpenWrt Version: 24.10 and 25.12
  • OpenWrt Target/Subtarget: x86/64, mediatek/filogic
  • OpenWrt Device: Generic x86_64 VM, ASUS TUF Gaming AX4200

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

Add owsync, a lightweight bidirectional file synchronization
daemon designed for multi-router OpenWrt deployments.

Features:
- Multi-master bidirectional sync over TCP
- AES-256-GCM encryption (optional, menuconfig toggle)
- SHA-256 content-based change detection
- Tombstone-based deletion tracking across reboots
- Atomic file operations (write-to-tmp + rename)
- Clock skew protection (aborts if >60s drift)
- Glob patterns for include/exclude filtering

Primary use case: synchronizing /etc/config between redundant
routers. Also useful for multi-AP deployments, fleet management,
or any scenario where config files must stay in sync.

No dependency on other HA packages — can be merged independently.

Dependencies: libjson-c (required), libopenssl (optional)
Binary size: ~150KB stripped, ~2MB RAM

Source: https://github.com/pgaufillet/owsync (v1.2.0)
Tested on: OpenWrt 24.10 and 25.12 (x86_64 + filogic), production.

Signed-off-by: Pierre Gaufillet <pierre.gaufillet@bergamote.eu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant