Commit graph

145 commits

Author SHA1 Message Date
Carson McManus
46a1c2ed04
rename trade subcommand to confirm and deprecate trade subcommand (#368) 2024-03-04 06:56:48 -05:00
Carson McManus
0c256a0e05
add --password argument and STEAMGUARD_CLI_STEAM_PASSWORD environment variable (#326)
closes #324
2023-09-28 21:52:42 +00:00
Carson McManus
aa5168e663
fix manifest failing to save after migration on encrypted maFiles when providing passkey via the prompts on stdin (#297) 2023-08-09 17:40:58 +00:00
Carson McManus
df47ff1823
refactor passkey/password prompts so they are always SecretString (#281) 2023-07-05 12:35:32 +00:00
Carson McManus
3fdf2fdbc9
add an argument to accept invalid TLS certs (#279) 2023-07-05 10:58:08 +00:00
Carson McManus
7635e5ca10
add argument to specify proxy credentials (#278) 2023-07-05 10:49:17 +00:00
Carson McManus
a2b3f18d76
search directory that the executable is in for maFiles (#277)
closes #275
2023-07-05 10:28:13 +00:00
Carson McManus
969baeed4c
upgrade some dependencies (#272)
- upgrade `rsa`, `zeroize` crates, closes #268
- switch to parrallelized pbkdf2, closes #271
- cargo update
2023-07-03 15:42:10 +00:00
Carson McManus
11b36c566e
Minor code refactors (#266) 2023-07-02 14:54:01 +00:00
Carson McManus
7e94f76653
Add support for storing encryption passkey in system keyring (#265)
- add keyring package
- add keyring id field to manifest
- automatically attempt to load encryption passkey from keyring
- have decrypt delete the passkey on decrypt
- have encrypt command ask if it should store the passkey in the keyring
- fix lints

closes #117
2023-07-02 14:44:18 +00:00
Carson McManus
fe663cf43f
add HTTP proxy support (#264)
- allow extracting the http client from web api transport
- refactor most commands so that they can accept an external transport
- update confirmer to use transport's http client
- update remove command
- update TwoFactorClient so it doesn't need to be mutable
- update get_server_time so it requires a transport
- update remove_authenticator
- update login proceedure to use given transport
- update usages of do_login
- update setup
- update trade
- update code command
- update qr-login command
- make borrowcheck happy
- make WebApiTransport Clone and remove Default impl
- remove dead code
- fix lints

closes #177
2023-07-02 12:57:13 +00:00
Carson McManus
3146d4824c
refactor to make adding proxy support easier later (#263) 2023-07-02 11:17:09 +00:00
Carson McManus
dc591212bb
fix typo in update available text (#252) 2023-06-29 21:16:02 +00:00
Carson McManus
79c01833e8
fix manifest migration flow not prompting for passkey if not provided in args (#240) 2023-06-26 20:15:22 -04:00
Carson McManus
a062e718d7
fix passkey cli argument being printed in plaintext with debug logging (#229)
fixes #228
2023-06-26 00:23:26 +00:00
Carson McManus
d87caa06f6
add an update checker (#222) 2023-06-25 09:24:53 -04:00
Carson McManus
a5be7b26bb
Add qr-login command to be able to approve qr code logins on other devices (#214)
- add QrApprover
- implement qr-login subcommand

closes #197
2023-06-24 13:45:03 -04:00
Carson McManus
bff16bd341
automatically refresh access token to avoid prompting to log in (#221) 2023-06-24 17:18:22 +00:00
Carson McManus
2934dd3927
add a debug command to help triage deserialization issues (#213)
- add a debug command to help triage deserialization issues
- adjust the parsing for legacy accounts
2023-06-24 08:17:56 -04:00
Carson McManus
cbc46ad8eb
Dead code cleanup, subcommand refactor (#206)
- clean up dead code
- fix lints
- move Session type to legacy module
- refactor service names into constants
- refactor build_url to be less restrictive for service names
- refactor most commands into their own modules
2023-06-23 17:36:23 +00:00
Carson McManus
8defefb11e
fix manifest migrations not working for encrypted maFiles (#201)
fixes #200
2023-06-23 12:40:23 +00:00
Carson McManus
bfd0667f3a
Use IAuthenticationService for login, account migrations, other major refactors (#194)
fixes #193
fixes #192  
fixes #107

- [x] Implement the new login process
    - [x] Tested
- [x] Update the authenticator setup process
    - [x] Tested
- [x] Update the authenticator remove process
    - [x] Tested
- [x] Manifest format migrator
    - [x] Tested
- [x] Make it possible to import SDA accounts
- [x] Make sure confirmations still work
    - [x] Fetching
    - [x] Responding
- [x] Make it so that the login process doesn't prompt for which method
to use
- [x] Make it so that device confirmation and email confirmation auth
session guards work
2023-06-22 20:20:15 +00:00
Carson McManus
4ba0459bb6
fix prompts sometimes not showing up (again) (#187)
- fix tui::pause only accept enter  to continue so it's less confusing
- replace unwrap with flush
- replace some prints with eprints
- make tui::prompt flush stdout and stderr

fixes #178
2023-03-18 14:20:37 +00:00
Carson McManus
3457f9cb43
disallow blank encryption passkeys (#186)
fixes #185
2023-03-18 10:08:57 -04:00
Carson McManus
daa930fbee
Merge pull request #174 from dyc3/qr
add the ability to generate a QR code for 2fa secrets
2022-12-05 11:24:17 -05:00
Carson McManus
27adb3d019
Merge pull request #175 from dyc3/setup-update
fix using uppercase letters in username during setup causing panic
2022-12-05 11:24:08 -05:00
Carson McManus
cae60f6ed6 fix using uppercase letters in username during setup causing panic
fixes #171
2022-12-05 10:55:45 -05:00
Carson McManus
b5f4364733 update some comments and some printed messages 2022-12-05 10:36:38 -05:00
Carson McManus
85c4662a61 remove username argument from ArgsSetup because it was causing problems 2022-12-05 09:18:38 -05:00
Carson McManus
5599e28c9f add the ability to generate a QR code for 2fa secrets 2022-12-05 08:47:33 -05:00
Carson McManus
7f0d5ca8ab write input prompts to stderr instead of stdout
closes #166
2022-09-08 16:24:23 -04:00
Carson McManus
6e31f66dde cargo fmt 2022-06-25 11:08:03 -04:00
Carson McManus
0b340a3cf1 replace tty check with crossterm 2022-06-25 11:01:40 -04:00
Carson McManus
5a262650a0 converted remaining tui module to crossterm 2022-06-25 10:57:37 -04:00
Carson McManus
ebe31b6df7 convert prompt_confirmation_menu to crossterm 2022-06-25 10:14:34 -04:00
Carson McManus
afb1d79aea adjust visibility of some functions/modules 2022-06-25 09:06:29 -04:00
Carson McManus
a52af3675b add code subcommand back in, because it makes the arg parsing better 2022-06-21 19:31:39 -04:00
Carson McManus
fdc61e63d1 add --offline flag for generating codes, closes #155 2022-06-20 20:57:04 -04:00
Carson McManus
610cda120e get_server_time now returns Result, fixes #152 2022-06-20 20:56:36 -04:00
Carson McManus
2678961a4c fix not prompting for password for decrypt 2022-06-19 15:23:55 -04:00
Carson McManus
1a6ad62a2e cargo fmt 2022-06-19 14:52:17 -04:00
Carson McManus
eeded86641 protect Session memory, values are zeroized when dropped 2022-06-19 14:52:17 -04:00
Carson McManus
deabfc299d protect top level secrets in SteamGuardAccount
except for session
2022-06-19 14:52:17 -04:00
Carson McManus
8839a18543 cargo fmt 2022-06-19 14:44:47 -04:00
Carson McManus
c86e31648a fix some warnings 2022-06-19 13:01:25 -04:00
Carson McManus
0b84a103e5 remove old arg parsing completely 2022-06-19 13:00:36 -04:00
Carson McManus
2fc13d40e2 switch get_selected_accounts to new args 2022-06-19 12:57:54 -04:00
Carson McManus
ed9cf91cfb return better error for unimplemented subcommand 2022-06-19 12:45:33 -04:00
Carson McManus
221e64ab8c change debug line 2022-06-19 12:38:47 -04:00
Carson McManus
4a8f7a74d2 reimplement completion subcommand 2022-06-19 12:37:40 -04:00