Commit Graph
77 Commits
Author SHA1 Message Date
RandyTheSilly fa35469ca9 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 6366800c84 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 7a48544932 Fix ANSI escapes (on Windows) not being interpreted after using GPG pinentry 2024-07-17 18:54:29 -04:00
RandyTheSilly d5e07bdeb6 Allow writing to different section headers in libmutton.ini 2024-07-17 15:49:45 -04:00
RandyTheSilly 3ae85adc18 Move text editor determination to cli package 2024-07-17 14:59:57 -04:00
RandyTheSilly 7ab0c91c0e Allow parsing different section headers in libmutton.ini 2024-07-17 14:44:18 -04:00
RandyTheSilly 93f8e1d867 [wiki/libmutton] Add config file info to developer guide 2024-07-15 14:54:47 -04:00
RandyTheSilly a2a92985af 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 6b3a136c5e 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 d5146d7625 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 cef8c47161 Implement synchronized renaming 2024-07-09 23:18:13 -04:00
RandyTheSilly f8d23489c0 Append UNIX timestamp to device ID to guarantee uniqueness 2024-07-09 16:42:47 -04:00
RandyTheSilly 6273485aea Do not always save executable name in memory in sync package 2024-07-09 16:04:03 -04:00
RandyTheSilly 9a8f2db78e Fix printing full executable path in error messages on Windows 2024-07-09 15:20:36 -04:00
RandyTheSilly 08af2a3761 [wiki/libmutton] Add developer guide (for third-party implementations) 2024-07-07 23:52:33 -04:00
RandyTheSilly 40c5db5940 [wiki/libmutton] Add guide for migrating from other password managers 2024-07-07 23:25:25 -04:00
RandyTheSilly 5691ff852d [wiki/libmutton] Add list of planned breaking changes 2024-07-07 22:23:21 -04:00
RandyTheSilly 8f68da4d28 [wiki/MUTN] Add list of Windows quirks 2024-07-06 00:18:32 -04:00
RandyTheSilly 6ab274b99f Implement initial markdown wiki w/copy of clipboard troubleshooting info from sshyp 2024-07-05 23:42:40 -04:00
RandyTheSilly eea4570a89 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 ec0587ba5b 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 349cd49e4d Handle error for failing to create local device ID file 2024-06-05 18:29:38 -04:00
RandyTheSilly 779d9d0c78 Improve error clarity in cli.editNote 2024-06-05 18:19:01 -04:00
RandyTheSilly dea4f56190 Handle error in writeToStdin; remove unused function removeFile 2024-06-05 18:05:26 -04:00
RandyTheSilly 321bfc5194 Handle error for GPG key generation failure 2024-06-05 17:53:30 -04:00
RandyTheSilly a804cf7cff Handle error for failing to read clipboard contents on all platforms 2024-06-05 17:45:49 -04:00
RandyTheSilly f7cc27f88d Improve generic UNIX clipboard clearing logic 2024-06-05 17:43:21 -04:00
RandyTheSilly 641648b815 Provide feedback after successful server directory initialization 2024-06-05 17:24:45 -04:00
RandyTheSilly 05371866ce Write and append to config file using ini package 2024-06-05 14:56:17 -04:00
RandyTheSilly 9693d2608b Enforce more consistent meanings for the various field separator characters 2024-06-04 21:51:58 -04:00
RandyTheSilly 3c5f508835 Server stdin migration: register 2024-06-04 20:05:12 -04:00
RandyTheSilly b62eb70036 Server stdin migration: shear 2024-06-04 15:57:00 -04:00
RandyTheSilly bdbf2af091 Server stdin migration: fetch 2024-06-04 15:38:46 -04:00
RandyTheSilly da5a435ed6 Server stdin migration: addfolder 2024-06-04 15:33:50 -04:00
RandyTheSilly 0b7ce10a78 Add initial support for reading stdin from the server binary 2024-06-04 15:09:57 -04:00
RandyTheSilly 2d77a294bd 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 55a8f0e9ca 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 c3dd0ae737 Save server EntryRoot and OS type during init, use to progress toward Windows server support 2024-05-30 22:57:05 -04:00
RandyTheSilly 1571e0a53b Simplify clipboard build constraints 2024-05-30 22:21:39 -04:00
RandyTheSilly b71aaf6568 No longer unnecessarily send client OS type to server 2024-05-30 22:15:51 -04:00
RandyTheSilly 5d4232637b Lay groundwork for NT/UNIX-like sync interoperability 2024-05-30 22:12:29 -04:00
RandyTheSilly 64001fa76a Add "wsl_clipboard" build tag for creating Linux binaries that use the Windows clipboard 2024-05-29 15:42:15 -04:00
RandyTheSilly 971556aabc Reorganize function parameters to not specify repeat types 2024-05-29 13:23:08 -04:00
RandyTheSilly 53f88e8739 Fix error when shearing without a device ID (offline mode) 2024-05-29 13:07:26 -04:00
RandyTheSilly c2f6023cbe Move TOTP secrets to a dedicated entry field (breaks sshyp entry format compatibility) 2024-05-21 19:21:42 -04:00
RandyTheSilly ca7633d791 When syncing deletions, specify that a target is only sheared if it exists 2024-05-19 21:20:22 -04:00
RandyTheSilly cfa61c4170 Format deletions messages to match new upload/download messages 2024-05-19 21:14:23 -04:00
RandyTheSilly 188e118a0c Set modification times during syncs - sync support is now usably functional 2024-05-19 21:04:07 -04:00
RandyTheSilly c5b7e76b88 Do not call sftpSync if no entries need to be uploaded/downloaded 2024-05-19 20:24:42 -04:00
RandyTheSilly bc9f8ed971 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 f320c7887f Reduce size of server binary by not compiling SSH 2024-05-19 19:34:28 -04:00
RandyTheSilly 2525eca904 Switch from SCP to SFTP for sync 2024-05-19 17:30:39 -04:00
RandyTheSilly 0e4a796ed5 Promote native sync to replace sshyp-based sync on all platforms 2024-05-17 19:49:49 -04:00
RandyTheSilly ecce45cfeb Make server respond to "fetch" with output formatted for the client's OS family 2024-05-17 19:36:23 -04:00
RandyTheSilly 332a932d80 Fix building for Windows 2024-05-17 18:08:44 -04:00
RandyTheSilly 2a9c68e353 Implement initial SCP functionality (not yet usable due to mod times not being preserved) 2024-05-17 15:44:15 -04:00
RandyTheSilly f448d914d6 Ensure a device ID exists when sending a "fetch" command to libmuttonserver 2024-05-17 12:32:05 -04:00
RandyTheSilly 224289d404 Fix import cycle (over SSH keyfile passphrase input) 2024-05-17 12:25:10 -04:00
RandyTheSilly 278a672095 Handle instances where the server does not respond to "fetch" as expected 2024-05-17 11:48:06 -04:00
RandyTheSilly 2bdfb43484 Implement initial support for passphrase-protected SSH keyfiles 2024-05-17 11:42:44 -04:00
RandyTheSilly b9688d29f1 Add help and version info for server binary 2024-05-16 22:22:12 -04:00
RandyTheSilly cfb2890b8f Remove pre-existing config directory during init, structure Windows config directory more similarly to UNIX 2024-05-16 21:40:02 -04:00
RandyTheSilly a70e92fb14 Move device ID generation to sync.DeviceIDGen 2024-05-16 21:26:42 -04:00
RandyTheSilly 8bd6bfe8ab When a folder is created on the client, also create it on the server 2024-05-16 21:15:16 -04:00
RandyTheSilly e727242e90 Enable real sync deletions on client 2024-05-16 18:14:57 -04:00
RandyTheSilly 0270287c63 Sync remote folders to client 2024-05-16 18:02:19 -04:00
RandyTheSilly e80253ef19 Parse deletions per-deviceID 2024-05-16 17:46:03 -04:00
RandyTheSilly cb9d082232 Implement device ID server registration and server-side init 2024-05-16 17:14:42 -04:00
RandyTheSilly 171a58cf7d Implement initial server-side shearing logic 2024-05-16 16:35:05 -04:00
RandyTheSilly c92d938c3d Map entries to mod times from the beginning 2024-05-16 14:39:33 -04:00
RandyTheSilly 6fc91e0c70 Implement initial sorting/syncing logic - not yet complete or utilized 2024-05-15 18:36:37 -04:00
RandyTheSilly 6f10a041de Check against ~/.ssh/known_hosts 2024-05-15 17:12:09 -04:00
RandyTheSilly 4c3b5bf7ae Better fetch remote data in a way that does not add blank items to slices 2024-05-15 16:57:46 -04:00
RandyTheSilly 7a5ff7fac9 Implement initial server-side code 2024-05-15 16:25:42 -04:00
RandyTheSilly cf184e627e Implement initial SSH data retrieval 2024-05-15 14:58:21 -04:00
RandyTheSilly b424001b6f Initial groundwork for native sync support 2024-05-11 20:52:38 -04:00
RandyTheSilly 257a698b88 Refactor for better modularity (share more code among edit functions, rename "offline" package to "backend" 2024-04-15 18:16:05 -04:00