Commit Graph
46 Commits
Author SHA1 Message Date
RandyTheSilly 85fddc0382 When server and client clocks are out of sync, warn the user that they should update mod times even if the pending upload operations appear correct 2024-07-18 16:16:50 -04:00
RandyTheSilly fb0626c5a0 Do not upload/download any entries if the client and server time are more than 30 seconds out of sync; appropriately warn the user 2024-07-18 15:55:50 -04:00
RandyTheSilly 2ae4fe19e8 Allow parsing different section headers in libmutton.ini 2024-07-17 14:44:18 -04:00
RandyTheSilly 70eba7cec3 Replace use of ASCII control characters with unicode characters allowed in Windows filenames (fixes shearing with a Windows server) 2024-07-10 15:23:13 -04:00
RandyTheSilly abb2b65c69 Fix "shear" throwing errors if no device ID is present (instead of running in offline mode) 2024-07-10 02:07:59 -04:00
RandyTheSilly 897301343e Split sync.Rename into separate functions for client and server to avoid compiling SSH into the server binary 2024-07-10 00:01:59 -04:00
RandyTheSilly 98308782a9 Do not always save executable name in memory in sync package 2024-07-09 16:04:03 -04:00
RandyTheSilly b3f4b2b000 Fix printing full executable path in error messages on Windows 2024-07-09 15:20:36 -04:00
RandyTheSilly 356d1eab4e Replace most occurrences of os.Exit(0) in the backend and sync packages with a custom backend.Exit function that can allow "soft exit" in GUI/TUI environments to avoid killing the entire process; currently all major errors still result in killing the entire process 2024-07-05 22:18:17 -04:00
RandyTheSilly a9cf524cfa Remove mention of "mutn" in sync package error messages to account for third-party CLI clients 2024-07-05 21:55:56 -04:00
RandyTheSilly 4f9c57d6da Write and append to config file using ini package 2024-06-05 14:56:17 -04:00
RandyTheSilly 97a9c0a921 Enforce more consistent meanings for the various field separator characters 2024-06-04 21:51:58 -04:00
RandyTheSilly 4b7bfdc013 Server stdin migration: shear 2024-06-04 15:57:00 -04:00
RandyTheSilly d6ee612c68 Server stdin migration: fetch 2024-06-04 15:38:46 -04:00
RandyTheSilly 18a8668acf Server stdin migration: addfolder 2024-06-04 15:33:50 -04:00
RandyTheSilly 1127e96863 Add initial support for reading stdin from the server binary 2024-06-04 15:09:57 -04:00
RandyTheSilly 50f514ece4 Fix Windows sync (WalkEntryDir now returns only UNIX-style separators); fix setting remote mod time on remote files when downloading; fix server binary compilation; fix init failing silently during SSH configuration 2024-05-31 01:23:50 -04:00
RandyTheSilly b4f0a4e896 Fix init deleting device ID immediately after generating it; fix sync failure for non-manual syncs 2024-05-30 23:25:08 -04:00
RandyTheSilly b03d751618 Save server EntryRoot and OS type during init, use to progress toward Windows server support 2024-05-30 22:57:05 -04:00
RandyTheSilly 3fcd20b1ca No longer unnecessarily send client OS type to server 2024-05-30 22:15:51 -04:00
RandyTheSilly 1f44d0b5f3 Lay groundwork for NT/UNIX-like sync interoperability 2024-05-30 22:12:29 -04:00
RandyTheSilly 637e718199 When syncing deletions, specify that a target is only sheared if it exists 2024-05-19 21:20:22 -04:00
RandyTheSilly 71f3a8d71f Format deletions messages to match new upload/download messages 2024-05-19 21:14:23 -04:00
RandyTheSilly 70e9ce34fc Set modification times during syncs - sync support is now usably functional 2024-05-19 21:04:07 -04:00
RandyTheSilly c7fee92ca4 Do not call sftpSync if no entries need to be uploaded/downloaded 2024-05-19 20:24:42 -04:00
RandyTheSilly dc4ecaecd8 Only call sftpSync once, as it now iterates over provided lists without the need to create a new sftp client for each entry 2024-05-19 20:20:02 -04:00
RandyTheSilly 912520ff1e Reduce size of server binary by not compiling SSH 2024-05-19 19:34:28 -04:00
RandyTheSilly 17d0e8bfcd Switch from SCP to SFTP for sync 2024-05-19 17:30:39 -04:00
RandyTheSilly 524b30cf1f Promote native sync to replace sshyp-based sync on all platforms 2024-05-17 19:49:49 -04:00
RandyTheSilly 9242b6caa0 Make server respond to "fetch" with output formatted for the client's OS family 2024-05-17 19:36:23 -04:00
RandyTheSilly 513ed74833 Implement initial SCP functionality (not yet usable due to mod times not being preserved) 2024-05-17 15:44:15 -04:00
RandyTheSilly a0ac99ff3c Ensure a device ID exists when sending a "fetch" command to libmuttonserver 2024-05-17 12:32:05 -04:00
RandyTheSilly d55ad76098 Fix import cycle (over SSH keyfile passphrase input) 2024-05-17 12:25:10 -04:00
RandyTheSilly 2a175d0c69 Handle instances where the server does not respond to "fetch" as expected 2024-05-17 11:48:06 -04:00
RandyTheSilly c7635a1ef0 Implement initial support for passphrase-protected SSH keyfiles 2024-05-17 11:42:44 -04:00
RandyTheSilly 578aa60b76 Move device ID generation to sync.DeviceIDGen 2024-05-16 21:26:42 -04:00
RandyTheSilly 1ca55b8ac6 Enable real sync deletions on client 2024-05-16 18:14:57 -04:00
RandyTheSilly 77726e9af3 Sync remote folders to client 2024-05-16 18:02:19 -04:00
RandyTheSilly 309ef84803 Parse deletions per-deviceID 2024-05-16 17:46:03 -04:00
RandyTheSilly 0faf2dc732 Implement device ID server registration and server-side init 2024-05-16 17:14:42 -04:00
RandyTheSilly 56e8dc613a Implement initial server-side shearing logic 2024-05-16 16:35:05 -04:00
RandyTheSilly 278c2c1fe4 Map entries to mod times from the beginning 2024-05-16 14:39:33 -04:00
RandyTheSilly 6b120930d0 Implement initial sorting/syncing logic - not yet complete or utilized 2024-05-15 18:36:37 -04:00
RandyTheSilly 8a7d41df04 Check against ~/.ssh/known_hosts 2024-05-15 17:12:09 -04:00
RandyTheSilly 6587bda17b Better fetch remote data in a way that does not add blank items to slices 2024-05-15 16:57:46 -04:00
RandyTheSilly 3a03fae9ee Implement initial server-side code 2024-05-15 16:25:42 -04:00