Commit graph

203 commits

Author SHA1 Message Date
Carson McManus
3146d4824c
refactor to make adding proxy support easier later (#263) 2023-07-02 11:17:09 +00:00
Marvin Lehmann
b9d9179537
Add env option to configure maFiles path (#258)
I'd like to add this awesome tool to Scoop
(https://github.com/ScoopInstaller/Scoop) which works best with portable
programs.
Currently the problem is that steamguard-cli doesn't look for a
local/relative maFiles folder.
The alternative I opted for would be to use an env var which Scoop can
also set to its persist dir.
2023-06-30 23:44:57 +00:00
Carson McManus
b3c6639146
remove: refactor to make it more reliable (#257)
fixes #256
2023-06-30 14:53:05 +00:00
Carson McManus
6c4af1c9de
don't unwrap for path.extension() in manifest migration (#254)
should fix #253
2023-06-29 22:16:52 +00:00
Carson McManus
dc591212bb
fix typo in update available text (#252) 2023-06-29 21:16:02 +00:00
Carson McManus
4b92d46049
trade: use bulk confirmation operations (#248)
- Confirmer: add bulk confirmation operations
- trade: use bulk confirmation operations

closes #241
2023-06-29 14:33:56 +00:00
Carson McManus
0d24d12c55
trade: refactor how confirmations work so it's more reliable (#245) 2023-06-27 10:20:27 -04: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
ad5a9b3131
trade: fix Account Details confirmation not parsing (#239)
fixes #238
2023-06-26 23:57:17 +00:00
Carson McManus
f8ae7d4e0e
fix SDA encryption compatibility (#236)
fixes #233
2023-06-26 23:02:48 +00:00
Carson McManus
da44f49c56
add some unit tests (#234)
- add unit test for migrating single accounts
- add manifest v1 loading tests
- disable a test
- update comment
- update vscode runners
- add a unit test to make sure migrated maFiles can still be read
2023-06-26 16:44:14 +00:00
Carson McManus
46ddaad281
import: tweak the helptext a little bit (#232) 2023-06-26 12:36:37 -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
d2ba7d8f1d
fix null OAuthToken field in SDA accounts causing migrations to crash and burn (#227) 2023-06-25 23:52:48 +00:00
Carson McManus
1632e2f10e
add PhoneLinker, and the ability to add a phone number to the account during setup (#223)
- add proto for IPhoneService
- add PhoneClient
- add PhoneLinker
- fix lints and such
- add comments
- update phone linker
- use phonenumber crate for phone linker
- adjust errors for account linker
- update setup command to be able to add phone numbers
- adjust logging in the setup command
- update account linker
2023-06-25 17:11:24 +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
64697b6808
trade: fix not saving new tokens if there are no available confirmations (#220) 2023-06-24 13:02:54 -04:00
Carson McManus
2dc6376533
print better errors when deserializing json (#218)
- print stripped json whenever there is a type mismatch when
deserializing
- Revert "print stripped json whenever there is a type mismatch when
deserializing"
- print better errors when deserializing json
2023-06-24 16:06:12 +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
8366173eb1 fix a couple of lints 2022-12-06 10:07:25 -05: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
0d90792c47 add check in prompt_confirmation_menu to make sure confirmations is not empty 2022-08-04 23:07:43 -04:00
Carson McManus
6e31f66dde cargo fmt 2022-06-25 11:08:03 -04:00
Carson McManus
a9e5d4b1c5 fix up unit tests 2022-06-25 11:07:57 -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
cac5f57cc7 add STEAMGUARD_CLI_PASSKEY environment variable 2022-06-23 23:39:41 -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