Commit Graph
100 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 df5f10d188 Fix ANSI escapes (on Windows) not being interpreted after using GPG pinentry 2024-07-17 18:54:29 -04:00
RandyTheSilly 1bf72332df Simplify text editor fallback 2024-07-17 17:26:01 -04:00
RandyTheSilly 424d587e65 Move text editor config under [MUTN] section header in libmutton.ini 2024-07-17 15:53:17 -04:00
RandyTheSilly e81bfa935a Allow writing to different section headers in libmutton.ini 2024-07-17 15:49:45 -04:00
RandyTheSilly 4917149299 Move text editor determination to cli package 2024-07-17 14:59:57 -04:00
RandyTheSilly 2ae4fe19e8 Allow parsing different section headers in libmutton.ini 2024-07-17 14:44:18 -04:00
RandyTheSilly 0fc0a2cfc0 Use more specific names for global variables in Bash and ZSH completions 2024-07-16 18:35:31 -04:00
RandyTheSilly f0cdd217d9 Allow using Powershell completions on non-Windows platforms 2024-07-16 18:12:34 -04:00
RandyTheSilly 9a6d6fe98d [wiki/MUTN] Add more Glamour-related issues to known bugs list 2024-07-16 16:24:57 -04:00
RandyTheSilly c6310582c5 Clarify key-based authentication requirement in man page 2024-07-16 16:05:29 -04:00
RandyTheSilly cbf625b2d3 Add tag for building without Markdown support 2024-07-16 15:30:48 -04:00
RandyTheSilly 32adbe0b66 Do not initialize extra iterator in EntryReader() 2024-07-16 14:52:09 -04:00
RandyTheSilly a0c1b09d32 Update .gitignore to ignore specific files rather than everything not manually added 2024-07-16 14:17:38 -04:00
RandyTheSilly d3ba55987b Bump "regexp2" to v1.11.2 2024-07-15 16:59:58 -04:00
RandyTheSilly bfec617f46 Add initial man page and make help info wording more consistent 2024-07-15 16:01:43 -04:00
RandyTheSilly c4e474304a [wiki/libmutton] Add config file info to developer guide 2024-07-15 14:54:47 -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 97ba7da6e4 Remove "-v" and "-h" shortcuts from server for consistency with MUTN cli 2024-07-10 03:44:59 -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 be1f602770 Implement synchronized renaming 2024-07-09 23:18:13 -04:00
RandyTheSilly 42bed109d6 Expand "~" to home directory when specifying ssh identity file 2024-07-09 17:23:36 -04:00
RandyTheSilly e056dcf4ba Append UNIX timestamp to device ID to guarantee uniqueness 2024-07-09 16:42:47 -04:00
RandyTheSilly 98308782a9 Do not always save executable name in memory in sync package 2024-07-09 16:04:03 -04:00
RandyTheSilly 10d5dea6c3 Prompt for SSH port before IP (to avoid users responding to the IP prompt with a socket); specify SSH address may be a domain name 2024-07-09 15:26:17 -04:00
RandyTheSilly b3f4b2b000 Fix printing full executable path in error messages on Windows 2024-07-09 15:20:36 -04:00
RandyTheSilly 7e935c2875 [wiki/MUTN] Add known bugs list 2024-07-09 14:51:47 -04:00
RandyTheSilly 6075f6defd Fix PowerShell completions not completing after directories containing spaces 2024-07-09 14:29:15 -04:00
RandyTheSilly ed5f6a0054 [wiki/libmutton] Add developer guide (for third-party implementations) 2024-07-07 23:52:33 -04:00
RandyTheSilly 7072831f20 [wiki/libmutton] Add guide for migrating from other password managers 2024-07-07 23:25:25 -04:00
RandyTheSilly 637002bc42 [wiki/MUTN] Move shell completions download link to completions.md 2024-07-07 23:08:11 -04:00
RandyTheSilly 2ab833b91f Sort shell completions scripts into folders so that their intended names can be used 2024-07-07 23:04:53 -04:00
RandyTheSilly ff6f5da824 [wiki/MUTN] Add basic building/installation instructions 2024-07-07 22:59:55 -04:00
RandyTheSilly cb6cde9e8e [wiki/libmutton] Add list of planned breaking changes 2024-07-07 22:23:21 -04:00
RandyTheSilly 32557391db [wiki/MUTN] Add list of Windows quirks 2024-07-06 00:18:32 -04:00
RandyTheSilly 7ad081b78a [wiki/MUTN] Add shell completions troubleshooting guide 2024-07-06 00:04:28 -04:00
RandyTheSilly 1fa014abc0 Implement initial markdown wiki w/copy of clipboard troubleshooting info from sshyp 2024-07-05 23:42:40 -04:00
RandyTheSilly ccea9c73a7 Bump Go to v1.22.5, bump dependencies 2024-07-05 22:32:34 -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 43d87a5b46 Remove "-v" shortcut for "version" argument, as it does not work with Powershell completion; remove "-h" visual option for "help" for consistency 2024-07-05 21:41:18 -04:00
RandyTheSilly f25c68cea3 Handle error for failing to create local device ID file 2024-06-05 18:29:38 -04:00
RandyTheSilly 4844620ed1 Improve error clarity in cli.editNote 2024-06-05 18:19:01 -04:00
RandyTheSilly dbcd71b5ca Handle error in writeToStdin; remove unused function removeFile 2024-06-05 18:05:26 -04:00
RandyTheSilly ce53ee39c3 Handle error for GPG key generation failure 2024-06-05 17:53:30 -04:00
RandyTheSilly 02adfef817 Handle error for failing to read clipboard contents on all platforms 2024-06-05 17:45:49 -04:00
RandyTheSilly f3d06429ca Improve generic UNIX clipboard clearing logic 2024-06-05 17:43:21 -04:00
RandyTheSilly 3bac84dc0c Provide feedback after successful server directory initialization 2024-06-05 17:24:45 -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 71666578f6 Server stdin migration: register 2024-06-04 20:05:12 -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 6cf01e0d3c Simplify clipboard build constraints 2024-05-30 22:21:39 -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 ea34f644f3 Add "wsl_clipboard" build tag for creating Linux binaries that use the Windows clipboard 2024-05-29 15:42:15 -04:00
RandyTheSilly ae7bebc461 Update README.md now that native sync has been implemented 2024-05-29 13:59:43 -04:00
RandyTheSilly f3c0836eba Bump dependencies 2024-05-29 13:26:28 -04:00
RandyTheSilly 54cbe098d7 Reorganize function parameters to not specify repeat types 2024-05-29 13:23:08 -04:00
RandyTheSilly 54fea00b9d Fix error when shearing without a device ID (offline mode) 2024-05-29 13:07:26 -04:00
RandyTheSilly 833eaa9926 Rename "hidePassword" to "hideSecrets" for clarity 2024-05-29 12:50:47 -04:00
RandyTheSilly 67bf6e42b9 Move TOTP secrets to a dedicated entry field (breaks sshyp entry format compatibility) 2024-05-21 19:21:42 -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 df33a5b149 Fix building for Windows 2024-05-17 18:08:44 -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 774b761d25 Add help and version info for server binary 2024-05-16 22:22:12 -04:00
RandyTheSilly 193d577477 Remove pre-existing config directory during init, structure Windows config directory more similarly to UNIX 2024-05-16 21:40:02 -04:00
RandyTheSilly 578aa60b76 Move device ID generation to sync.DeviceIDGen 2024-05-16 21:26:42 -04:00
RandyTheSilly 8571faee94 When a folder is created on the client, also create it on the server 2024-05-16 21:15:16 -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 170a3e807f Bump dependencies 2024-05-15 17:14:36 -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