Commit Graph

183 Commits

Author SHA1 Message Date
Bernhard B
b45aab70a7 improved REST API documentation 2023-10-07 11:29:41 +02:00
Bernhard B
9e09775d94 implemented "sendContacts" functionality
see #416
2023-10-07 11:18:16 +02:00
Bernhard B
07aee21672 handle multicharacter emojis in textstyleparser
see #413
2023-10-06 19:11:07 +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
2474238cb5 fixed typo in struct definition 2023-10-03 19:29:26 +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
f21925ea74 updated filepath-securejoin to v0.2.4 to fix a potential security issue
on windows
2023-09-23 19:00:54 +02:00
Bernhard B
76026e9c5c Merge branch 'master' of github.com:bbernhard/signal-cli-rest-api 2023-09-23 18:58:16 +02:00
Bernhard B
221e129ad4 added strikethrough and monspace text styling options
see #382
2023-09-23 18:57:32 +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
Bernhard B
1ba1418e14 Merge branch 'master' of github.com:bbernhard/signal-cli-rest-api 2023-09-08 19:55:01 +02:00
Bernhard B
a5cbb4c725 fixed bug in textstyleparser
* bold text wasn't correctly parsed

see #382
2023-09-08 19:54:05 +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
759ba197a1 fixed bug in textstyleparser + added unittests 2023-08-21 20:04:28 +02: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
b148eb90d3 updated go.mod 2023-06-08 20:21:47 +02:00
Bernhard B
540ca2fef6 updated go-gin to v1.9.1 2023-06-08 19:44:54 +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
99c760df66 handle non existing accounts.json gracefully
see #363
2023-05-16 21:26:26 +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
Bernhard B
99da94d048 consider linked number in AUTO_RECEIVE_SCHEDULE
* up to now, linked numbers weren't considered in the
  AUTO_RECEIVE_SCHEDULE.

see #363
2023-05-11 20:49:23 +02:00
Martin Vasko
19c2f85c03 add stickers support in API and client 2023-04-05 14:37:27 +02:00
Bernhard B
5130282dc4 updated all golang dependencies 2023-03-05 23:15:59 +01:00
dependabot[bot]
b8cdc243bd Bump github.com/gin-gonic/gin from 1.7.0 to 1.7.7 in /src
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.7.0 to 1.7.7.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.7.0...v1.7.7)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 21:47:17 +00: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
9e32aab972 updated swagger documentation 2022-05-28 18:51:39 +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