AsamK / signal-cli

signal-cli provides an unofficial commandline, JSON-RPC and dbus interface for the Signal messenger.
GNU General Public License v3.0
3.05k stars 289 forks source link

"signal-cli register --reregister" → RegistrationRetryException #1545

Open Geremia opened 3 days ago

Geremia commented 3 days ago

I installed Signal on an Android device, then I got "User +xxxxxxxxxx is not registered" with signal-cli. Then I tried:

signal-cli register --reregister --captcha 'signalcaptcha://signal-hcaptcha.…'
verbose output

``` 2024-06-27T13:12:42.864-0700 [main] DEBUG org.asamk.signal.App - Starting signal-cli 0.13.2-SNAPSHOT 2024-06-27T13:12:42.996-0700 [main] INFO LibSignal - [libsignal]: rust/bridge/jni/src/logging.rs:158: Initializing libsignal version:0.40.1 2024-06-27T13:12:42.997-0700 [main] DEBUG org.asamk.signal.util.IOUtils - XDG_DATA_HOME not set, falling back to home dir 2024-06-27T13:12:43.222-0700 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... 2024-06-27T13:12:43.311-0700 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.sqlite.jdbc4.JDBC4Connection@784c3487 2024-06-27T13:12:43.312-0700 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. 2024-06-27T13:12:44.742-0700 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... 2024-06-27T13:12:44.744-0700 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. ```

but it had no effect. I received the SMS code, but signal-cli didn't ask for it. It still says:

$ signal-cli listDevices
User +xxxxxxxxxx is not registered.
Geremia commented 3 days ago

Now I'm getting:

Failed to register: StatusCode: 429 (RegistrationRetryException)
org.whispersystems.signalservice.api.push.exceptions.RegistrationRetryException: StatusCode: 429
        at org.whispersystems.signalservice.internal.push.PushServiceSocket$RegistrationCodeRequestResponseHandler.handle(PushServiceSocket.java:2997)
        at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:2169)
        at org.whispersystems.signalservice.internal.push.PushServiceSocket.requestVerificationCode(PushServiceSocket.java:408)
        at org.whispersystems.signalservice.api.SignalServiceAccountManager.requestSmsVerificationCode(SignalServiceAccountManager.java:284)
        at org.asamk.signal.manager.util.NumberVerificationUtils.requestVerificationCode(NumberVerificationUtils.java:98)
        at org.asamk.signal.manager.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:136)
        at org.asamk.signal.commands.RegisterCommand.register(RegisterCommand.java:75)
        at org.asamk.signal.commands.RegisterCommand.handleCommand(RegisterCommand.java:51)
        at org.asamk.signal.commands.CommandHandler.handleRegistrationCommand(CommandHandler.java:31)
        at org.asamk.signal.App.handleRegistrationCommand(App.java:265)
        at org.asamk.signal.App.handleCommand(App.java:174)
        at org.asamk.signal.App.init(App.java:144)
        at org.asamk.signal.Main.main(Main.java:56)
AsamK commented 3 days ago

After registration you need to call the verify command with the verification code. Calling the register command too many times results in a rate limiting.

Geremia commented 1 day ago

@AsamK Even before the RegistrationRetryException rate-limiting exception, I was getting invalid captcha responses. This is with master (0.13.5-SNAPSHOT).