Commit graph

235 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
84da432b2d
tests: Replace tempdir crate with tempfile (#366) 2024-02-19 13:43:52 +00:00
Carson McManus
225b53d719
setup: add support for transfering or removing authenticators (#354)
- add methods for remove auth via challenge
- add `transfer_start` and `transfer_finish` to account linker
2023-12-08 17:38:36 +00:00
Carson McManus
4ea44151b9
login: make the 2fa and email code prompts less easy to mess up (#352) 2023-12-08 11:48:14 -05:00
Carson McManus
68dcedaeb7
remove: move main remove_authenticator request logic into AccountLinker (#353) 2023-12-08 16:39:41 +00:00
Carson McManus
fca7e53a0d
fix a missing step (#349) 2023-12-03 16:39:45 +00:00
Carson McManus
166b7a908c
setup: add support for different link confirmation types, and verify that the authenticator was actually set up (#348)
fixes #345
2023-12-03 16:36:35 +00:00
Carson McManus
d18dd378c3
login: don't print a warning for EAuthSessionGuardType::None (#346) 2023-12-03 10:12:03 -05:00
Carson McManus
8bfab8d2a2
adjust the types used for migrating from SDA to be a little more lenient (#338)
fixes #337
2023-10-25 10:17:21 -04:00
Carson McManus
a50109ad63
login: add a debug log for available confirmation methods (#335) 2023-10-17 18:01:05 +00:00
Carson McManus
94a3210f09
import: add support for importing winauth exports (#331)
closes #295
2023-10-08 11:10:46 -04: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
04295dc742
update rpassword to 7.2.0 and add some debug logs (#325)
related: #324
2023-09-28 21:12:50 +00:00
Carson McManus
f952ed5b1b
remove normalize_comments rustfmt rule (#316) 2023-09-10 21:22:23 +00:00
Carson McManus
4348529ffd
import: add support for importing steam mobile app v2 format, remove --sda argument (#307)
- add account schema for steam app v2
- make it possible to import steam v2 accounts
- import: remove the `--sda` flag, the format should be detected
automatically
- add unit tests
- make it actually work

closes #305
2023-08-23 17:59:14 +00:00
Carson McManus
e960b7cedc add a comment 2023-08-10 09:14:59 -04: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
fff3427d8d fix a lint 2023-07-24 10:44:39 -04:00
Carson McManus
d7173b4efb
trade: automatically retry submitting confirmations (#294)
closes #293
2023-07-24 10:29:49 -04:00
Carson McManus
96f342137a
upgrade base64 crate to 0.21 (#289) 2023-07-10 15:41:36 +00:00
Carson McManus
9c6d10dc1f
import: improve error messages (#287) 2023-07-10 13:43:02 +00:00
Carson McManus
eb51a7a2a7
improve robustness of account migrations (#284)
- add an extreme test case for migrations
- improve robustness of manifest migrations

fixes #283
2023-07-09 10:16:02 -04: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
8f4ec79144
parallelize account loading and saving (#273)
- parallelize account loading
- parallelize account saving
2023-07-03 16:25:43 +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
d5218d770e
add a new, faster encryption scheme (Argon2idAes256) and make it the default (#270)
- move legacy scheme to new module
- add argon2 crate
- mvoe test
- add argon2id aes encryption scheme
- refactor encryption to be less shit
- fix all the errors
- fix lints
2023-07-03 10:23:56 -04: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
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