Commit Graph

73 Commits

Author SHA1 Message Date
Bernhard B
512458b202 json-rpc mode: fixed bug in register endpoint + added verify endpoint 2023-10-30 19:56:01 +01:00
Bernhard B
a06a9f873b switched implementation to multi-account mode
* instead of starting signal-cli in json-rpc mode with the '-u',
  we start signal-cli without the '-u' parameter (also known as
  multi-account mode). This makes it possible to register a number in
  json-rpc mode.
2023-10-30 14:49:11 +01:00
Bernhard B
fa91a58bf2 fixed bug in response parsing
* strip info and warn messages from output
2023-10-19 20:19:16 +02:00
Bernhard B
9e09775d94 implemented "sendContacts" functionality
see #416
2023-10-07 11:18:16 +02:00
Bernhard B
8271d53746 fixed small bug in cli client 2023-10-05 21:16:40 +02:00
Bernhard B
bc74d4cb48 add debug logging to cli client
* log the stdout & stderr buffers in case debug logging is enabled.

see #412
2023-10-05 18:02:57 +02:00
Bernhard B
6f269d3e1d improved error handling in send method
* when a message is successfully sent, signal-cli returns a timestamp,
  which we convert to an integer. in case, we, for some reason can't
  convert the timestamp to an integer, it means that signal-cli returned
  some non-numeric characters as well (which is a strong indication that
  there was an error). So, instead of returning the parsing error,
  return the actual signal-cli error message.

see #412
2023-10-04 20:44:42 +02:00
Bernhard B
661fe568e2 json-rpc mode: fixed bug in group deletion
* deleting a group in json-rpc mode didn't work.

see #387
2023-10-04 19:07:17 +02:00
Bernhard B
b39980e66b added possibility to update the group description & the avatar
see #417
2023-10-03 19:49:36 +02:00
Bernhard B
fc2982c25f fixed crash in create group request
see #410
2023-10-03 19:28:26 +02:00
Bernhard B
4f3ebf0bfc fixed bug in create group endpoint
link & permissions weren't correctly set

see #410
2023-09-26 22:30:43 +02:00
Bernhard B
e8bea4b477 Merge pull request #405 from greysonp/add-group-refresh
Add the ability to refresh a group.
2023-09-19 22:42:15 +02:00
Greyson Parrelli
4eaf9a971b Update to a PUT request. 2023-09-09 08:00:33 -04:00
Bernhard B
35e2e903df made qrcode version configureable via query parameter (e.g
?qrcode_version=11)

see #402
2023-09-08 22:45:50 +02:00
Greyson Parrelli
6ec00f4589 Add the ability to refresh a group. 2023-09-06 00:59:14 -04:00
Bernhard B
06744e9706 Merge pull request #404 from tactilenews/fix-403
fix: include $stdin in server response on error
2023-09-05 20:45:17 +02:00
Robert Schäfer
7aa1fddcd8 fix: include $stdin in server response on error
Motivation
----------
The way how I fixed this is that both `Stdout` and `Stderr` are responded back to the client.

I don't think it's good practice to discard `$stderr` on success and to discard `$stdout` on error.

Let me know what you think. I'm still very new to Golang.

How to test
-----------
1. First of all you must be able to reproduce "CAPTCHA proof required" error (I guess you need to send a lot of messages to the same number)
2. Execute:
```
curl -X POST -H "Content-Type: application/json" 'http://localhost:8080/v2/send' \
       -d '{"message": "Test via Signal API!", "number": "<SENDER_PHONE_NUMBER>", "recipients": [ "<RECIPIENT_PHONE_NUMBER>" ]}
'
```
3. See in the JSON response:
```
{"error":"Failed to send (some) messages:\n+49176xxxxxxxx: CAPTCHA proof required for sending to \"+49176xxxxxxxx\", available options \"RECAPTCHA, PUSH_CHALLENGE\" with challenge token \"1f209ee0-d487-4efc-xxxx-xxxxxxxxxxxx\", or wait \"86400\" seconds.\nTo get the captcha token, go to https://signalcaptchas.org/challenge/generate.html\nCheck the developer tools (F12) console for a failed redirect to signalcaptcha://\nEverything after signalcaptcha:// is the captcha token.\nUse the following command to submit the captcha token:\nsignal-cli submitRateLimitChallenge --challenge CHALLENGE_TOKEN --captcha CAPTCHA_TOKEN\nxxxxxxxxxxxxx\nFailed to send message\n"}
```

fix #403
2023-09-04 16:13:04 +02:00
Kostia Rybnikov
068a124a1a Accept max_messages param 2023-08-31 10:36:52 +03:00
Bernhard B
a332215a9e added text formatting (bold & italic) to json-rpc mode 2023-08-21 18:43:15 +02:00
Bernhard B
2f6bbec3e9 added text formatting (bold & italic) for normal/native mode 2023-08-21 18:38:38 +02:00
Bernhard B
4dc19813b6 fixed bug in search endpoint
* when multiple accounts are registered, signal-cli expects the account
  specified with '-a'. In order to stay backwards compatible, the search
  endpoint was extended with an optional number parameter. i.e:
  '/search/{number}'. In case only one account is registered, the number
  parameter can be omitted.

see #369
2023-05-26 18:09:06 +02:00
Bernhard B
0dd742cb23 extended receive endpoint + AUTO_RECEIVE_SCHEDULE functionality
* added timeout, ignore_attachments and ignore_stories query parameter
  to receive endpoint.

* added AUTO_RECEIVE_SCHEDULE_RECEIVE_TIMEOUT,
  AUTO_RECEIVE_SCHEDULE_IGNORE_ATTACHMENTS and
  AUTO_RECEIVE_SCHEDULE_IGNORE_STORIES environment variables to the
  AUTO_RECEIVE_SCHEDULE functionality.

see #365
2023-05-14 21:21:38 +02:00
Martin Vasko
19c2f85c03 add stickers support in API and client 2023-04-05 14:37:27 +02:00
Robin THONI
e5bd4dd30a Changed snake case variables to camel case 2022-11-07 17:18:38 +01:00
Robin THONI
fce14ba049 Added nested object for mentions (direct and quote) 2022-11-03 20:29:32 +01:00
Robin THONI
f89ae911e1 Added support for missing send arguments:
- Mentions
- Quote timestamp
- Quote author
- Quote message
- Quote mentions
2022-11-03 19:20:14 +01:00
Eddy Hernandez
8cd14210e1 Update use of send command to include new required argument
See 4120630309# for more info
2022-09-11 16:01:22 -07:00
zeetabit
98a130dd05 Store base64 files locally before sending. 2022-08-04 10:35:50 +02:00
zeetabit
34e7db3c67 Bugfix for support attachment base64 and custom filename.
Introduce tests for attachment data parsing. Use tests at build stage.
2022-07-31 13:49:27 +02:00
zeetabit
270278ca30 Bugfix for support attachment base64 and custom filename.
Introduce tests for attachment data parsing. Use tests at build stage.
2022-07-31 13:45:29 +02:00
zeetabit
c52fa0e53c Support attachment base64 and custom filename. 2022-07-28 00:50:02 +02:00
zeetabit
14fd65c1e7 Support attachment base64 and custom filename. 2022-07-28 00:02:37 +02:00
Bernhard B
7747944775 extended unregister API endpoint
* added possibility to delete the local data with the
  "deleteLocalAccountData" signal-cli command

see #242
2022-05-28 18:50:48 +02:00
Bernhard B
798f897ad1 added trust mode parameter to json-rpc mode
see #240
2022-05-08 20:23:54 +02:00
Bernhard B
25775a4c10 implemented trust mode
* implemented possibility to set the trust mode globally

see #240
2022-05-06 19:28:23 +02:00
Bernhard B
00ea8809b2 extended trust endpoint
* added possibility to trust all known keys. This option doesn't require
  the user to provide a safety number, but insted all known keys are
  trusted. This option is obviously less secure and should only be used
  for testing.

see #237
2022-04-09 09:23:34 +02:00
Bernhard B
ab4934832a fix bug in update profile REST API command
* use 'given-name' parameter instead of 'name'

see #236
2022-04-08 19:24:35 +02:00
Bernhard B
c4b5f900f9 added admins to groups GET endpoint
see #232
2022-04-04 19:09:38 +02:00
Bernhard B
0b6bd44838 ran go-fmt on complete sourcecode 2022-04-01 19:08:07 +02:00
Bernhard B
d34fcb905e added new API endpoints to add/remove admins to/from Signal Groups
see #232
2022-03-29 19:20:57 +02:00
Bernhard B
60b4d8afbf fixed bug in "add/remove members to group" endpoint
* forgot to reference group
2022-03-25 19:11:32 +01:00
Bernhard B
3fcd6221d2 added new REST API endpoints
* added endpoint to add members to an existing group
* added endpoint to remove members from an existing group

see #210
2022-03-20 20:39:40 +01:00
Bernhard B
cc3277c64a added 'add device' endpoint
see #165
2022-03-19 19:00:48 +01:00
Bernhard B
8a0ce92936 added "update contacts" endpoint
see #228
2022-03-13 20:10:15 +01:00
Bernhard B
ae149b2808 fixed bug in update profile endpoint
* due to a bug a it wasn't possible to update the avatar

see #218
2022-02-19 10:54:36 +01:00
Bernhard B
284e92107c fixed bug in json-rpc mode
* properly close websocket connection when client disconnects

see #198
2022-01-16 22:00:12 +01:00
Bernhard B
1f622e3305 added unregister API endpoint
see #71
2022-01-15 19:54:09 +01:00
Bernhard B
43747af9d4 added search endpoint
* check whether one or more phone numbers are registered with
  the signal service.

see #50
2022-01-02 14:52:45 +01:00
Bernhard B
18dcc49ff4 set version during build process
see #47
2022-01-01 14:53:18 +01:00
Bernhard B
259e1ece8e fixed bug in qrcodelink endpoint
* generate QR code with version 10 and the highest error correction
  level.

see #190
2021-12-31 21:12:35 +01:00