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.22k stars 306 forks source link

can't send image via signal-cli command line #1609

Closed pngun closed 3 weeks ago

pngun commented 3 weeks ago

today I found signal-cli command can't send image by following command whereas it works on sending text. what thing or way i can send images /attachment, thank you.

/usr/local/bin/signal-cli --dbus-system send -m "testing message" [+] -a "/result-1.png"

Failure: Failure: [404] Not found (NotFoundException) #

Cempakers87 commented 3 weeks ago

I experienced the same thing. Please help.

carolinaxxxxx commented 3 weeks ago

Same here.

tululum commented 3 weeks ago

Same here. I can send plaintext messages, but once I include an attachment (a picture in my case), it fails with 404. Note that this worked well until today.

  File "/home/user/.local/lib/python3.11/site-packages/pydbus/proxy_method.py", line 72, in __call__
    ret = instance._bus.con.call_sync(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-io-error-quark: GDBus.Error:org.asamk.Signal.Error.Failure: Failure: [404] Not found (36)
wizkid057 commented 3 weeks ago

Same issue here.

2024-10-22T20:59:44.615-0400 [main] WARN LibSignal - [SignalServiceMessageSender]: Using legacy attachment upload endpoint. 2024-10-22T20:59:44.616-0400 [main] WARN LibSignal - [SignalServiceMessageSender]: [uploadAttachmentV2] Pipe unavailable, falling back... (WebSocketUnavailableException: WebSocket not currently available.) 2024-10-22T20:59:44.661-0400 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... 2024-10-22T20:59:44.662-0400 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. Failed to send message: [404] Not found (NotFoundException) org.whispersystems.signalservice.api.push.exceptions.NotFoundException: [404] Not found

AsamK commented 3 weeks ago

Which signal-cli version are you using?

pngun commented 3 weeks ago

run /opt/signal-cli/bin/signal-cli --version signal-cli 0.13.7

carolinaxxxxx commented 3 weeks ago

0.13.4

The problem started unexpectedly yesterday morning (CET).

dolomiti70 commented 3 weeks ago

Same problem with 0.12.8. For me the problems started after i updated openjdk-17-jre-headless to 17.0.13+11-2~deb12u1 yesterday on Debian Bookworm. I will restore a backup of the proxmox container and see if the error is fixed then

AsamK commented 3 weeks ago

Related to #1606, the deprecated attachment v2 endpoint has been removed by the signal server now. signal-cli version since 0.13.5 already use only the new endpoint. The uploadAttachmentV2 method from the log doesn't exist anymore since signal-cli 0.13.5. @pngun can you provide a verbose log (signal-cli -v), there may be something strange with your signal-cli installation, version 0.13.7 should work.

dolomiti70 commented 3 weeks ago

Restored a previous version of my container and problem still exists. So seems not to be a problem with JRE17

pngun commented 3 weeks ago

sure, just tried with below output. Still show 404 when attached image whereas text message it works.

$ /usr/local/bin/signal-cli --dbus-system send -m "abc" [+XXXXXXXXXXX] -a /home/philip/result-1.png
Failure: Failure: [404] Not found (NotFoundException)
$ /usr/local/bin/signal-cli -v --dbus-system send -m "abc" [+XXXXXXXXXX] -a /home/philip/result-1.png
2024-10-24T07:18:20.513+0800 [main] DEBUG org.asamk.signal.util.IOUtils - XDG_RUNTIME_DIR not set, falling back to temp dir
2024-10-24T07:18:20.513+0800 [main] DEBUG org.asamk.signal.App - Starting signal-cli 0.13.7
2024-10-24T07:18:20.514+0800 [main] INFO  o.f.d.c.transports.TransportBuilder - Using transport dbus-java-transport-native-unixsocket for address unix:path=/var/run/dbus/system_bus_socket
2024-10-24T07:18:20.519+0800 [main] WARN  LibSignal - [PhoneNumberFormatter]: Got local CC: HK
2024-10-24T07:18:20.519+0800 [main] DEBUG o.a.s.m.api.RecipientIdentifier - Normalized number [+XXXXXXXX] to +XXXXXXXX.
Failure: Failure: [404] Not found (NotFoundException)
org.asamk.Signal$Error$Failure: Failure: Failure: [404] Not found (NotFoundException)
        at java.base@21.0.4/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at java.base@21.0.4/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at org.freedesktop.dbus.messages.Error.getException(Error.java:111)
        at org.freedesktop.dbus.messages.Error.throwException(Error.java:138)
        at org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:237)
        at org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:250)
        at org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:153)
        at org.freedesktop.dbus.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:97)
        at jdk.proxy4/jdk.proxy4.$Proxy48.sendMessage(Unknown Source)
        at org.asamk.signal.dbus.DbusManagerImpl.lambda$sendMessage$9(DbusManagerImpl.java:418)
        at org.asamk.signal.dbus.DbusManagerImpl.handleMessage(DbusManagerImpl.java:838)
        at org.asamk.signal.dbus.DbusManagerImpl.sendMessage(DbusManagerImpl.java:417)
        at org.asamk.signal.commands.SendCommand.handleCommand(SendCommand.java:245)
        at org.asamk.signal.commands.CommandHandler.handleLocalCommand(CommandHandler.java:35)
        at org.asamk.signal.dbus.DbusCommandHandler.handleLocalCommand(DbusCommandHandler.java:130)
        at org.asamk.signal.dbus.DbusCommandHandler.handleCommand(DbusCommandHandler.java:81)
        at org.asamk.signal.dbus.DbusCommandHandler.initDbusClient(DbusCommandHandler.java:36)
        at org.asamk.signal.App.init(App.java:134)
        at org.asamk.signal.Main.main(Main.java:56)
        at java.base@21.0.4/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
$ ls -l /home/philip/result-1.png
-rw-rw-r-- 1 philip philip 498527 Oct 24 07:15 /home/philip/result-1.png
root@vitsignalgw01:~# /usr/local/bin/signal-cli -v --dbus-system send -m "abc" [+XXXXXXXX]
2024-10-24T07:18:53.937+0800 [main] DEBUG org.asamk.signal.util.IOUtils - XDG_RUNTIME_DIR not set, falling back to temp dir
2024-10-24T07:18:53.938+0800 [main] DEBUG org.asamk.signal.App - Starting signal-cli 0.13.7
2024-10-24T07:18:53.939+0800 [main] INFO  o.f.d.c.transports.TransportBuilder - Using transport dbus-java-transport-native-unixsocket for address unix:path=/var/run/dbus/system_bus_socket
2024-10-24T07:18:53.943+0800 [main] WARN  LibSignal - [PhoneNumberFormatter]: Got local CC: HK
2024-10-24T07:18:53.943+0800 [main] DEBUG o.a.s.m.api.RecipientIdentifier - Normalized number [+XXXXXXXX] to +XXXXXXXX.
1729725533945
$
AsamK commented 3 weeks ago

Thanks, can you also share a verbose log of the signal-cli daemon? That will show the interesting part. Maybe the signal-cli daemon instance is using an older signal-cli version.

pngun commented 3 weeks ago

thanks for ur kind support. Do u mean this config file below for signal-cli daemon ?

cat /etc/systemd/system/signal-cli.service

[Unit] Description=Send secure messages to Signal clients Requires=dbus.socket After=dbus.socket Wants=network-online.target After=network-online.target

[Service] Type=dbus Environment="SIGNAL_CLI_OPTS=-Xms2m" ExecStart=/usr/local/bin/signal-cli --config /root/.local/share/signal-cli daemon --dbus-system User=root BusName=org.asamk.Signal

[Install] Alias=dbus-org.asamk.Signal.service

/usr/local/bin/signal-cli --version

signal-cli 0.13.7 #

pngun commented 3 weeks ago

here is one of logs when sending message only, it is success case.

2024-10-24T14:08:04.031031+08:00 signal01 systemd[1]: session-994284.scope: Deactivated successfully.
2024-10-24T14:08:44.072434+08:00 signal01 signal-cli[1272]: Envelope from: “Philip” +1292589217 (device: 1) to +1975011220
2024-10-24T14:08:44.073018+08:00 signal01 signal-cli[1272]: Timestamp: 1729750122307 (2024-10-24T06:08:42.307Z)
2024-10-24T14:08:44.073068+08:00 signal01 signal-cli[1272]: Server timestamps: received: 1729750123971 (2024-10-24T06:08:43.971Z) delivered: 1729750123973 (2024-10-24T06:08:43.973Z)
2024-10-24T14:08:44.073101+08:00 signal01 signal-cli[1272]: Sent by unidentified/sealed sender
2024-10-24T14:08:44.073126+08:00 signal01 signal-cli[1272]: Received a receipt message
2024-10-24T14:08:44.073180+08:00 signal01 signal-cli[1272]:   When: 1729750122307 (2024-10-24T06:08:42.307Z)
2024-10-24T14:08:44.073206+08:00 signal01 signal-cli[1272]:   Is delivery receipt
2024-10-24T14:08:44.073235+08:00 signal01 signal-cli[1272]:   Timestamps:
2024-10-24T14:08:44.073257+08:00 signal01 signal-cli[1272]:   - 1729750123548 (2024-10-24T06:08:43.548Z)

but if i use option -a in signal-cli command, it return 404 and can't find such log for 404 error.

pngun commented 3 weeks ago

hi AsamK, i tried to register a new number and found the sending images function works now. Let me register my existing phone number again. Thank you again and case can be closed

tululum commented 3 weeks ago

case can be closed

Hold on a sec, there are more of us with this issue. What have you done to resolve the issue please? Got a new sim card and registered completely new number? Does it work after un-registering and re-registering your current number again?

knarou34 commented 3 weeks ago

Hi everyone, You're all going to find yourselves like me after the updates with a nice GLIBC_2.33 not found. I was on DEBIAN 11 and had to MIGRATE to DEBIAN 12. I'll have to update the signal-cli to the latest version too. And now everything's working again to send images Thanks for your good work with signal-cli

m-ueberall commented 3 weeks ago

Hi everyone, You're all going to find yourselves like me after the updates with a nice GLIBC_2.33 not found.

With respect to signal-cli, that should depend on whether you use this repository's releases or third-party builds (binary distributions, native libsignal libraries). If you're referring to newer JDK/JRE packages–those should be available for older versions of Debian as well.

plord12 commented 3 weeks ago

I saw the same 404 error when sending an image.

But a re-build with the latest release (lib signal 0.52.2 / signal-cli 0.13.7) fixed it for me.

pngun commented 3 weeks ago

hi guys, i unregister my mobile number then register it again, it got fixed

knarou34 commented 3 weeks ago

I updated the signal-cli 0.13.7 binaries and then when I launched it, it asked me for a JAVA version in 21 minimum, I had version 17. I updated the JAVA to 21 without any problem, except that I had a nice error GLIBC_2.33 not found I tried to update this GLIBC on debian 11 without success. So I upgraded DEBIAN 11 to DEBIAN 12 to get this new version of GLIBC => Debian GLIBC 2.36-9+deb12u8

And everything works fine again this allowed me to continue sending images or attachments with signal-cli

mh-g commented 3 weeks ago

On a RPi4 with Debian 11, I can confirm that upgrading to the file provided by m-ueberall (https://media.projektzentrisch.de/temp/signal-cli/signal-cli0137_ubuntu2004_arm64.gz) solved the issue for me. (Previous version was in my case 0.12.8.) Thanks again Markus for saving me some compiling time!

No reregistering the phone number was needed.