Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

Signal

დაუკავშირეთ PRX Signal-ს signal-cli დემონის JSON-RPC და SSE API-ის გამოყენებით დაშიფრული შეტყობინებებისთვის პირადებსა და ჯგუფებში.

წინაპირობები

  • Signal-ში რეგისტრირებული ტელეფონის ნომერი
  • signal-cli დაყენებული და რეგისტრირებული
  • signal-cli გაშვებული დემონის რეჟიმში HTTP API-ით ჩართული

სწრაფი დაყენება

1. signal-cli-ის დაყენება და რეგისტრაცია

bash
# signal-cli-ის დაყენება (იხილეთ https://github.com/AsamK/signal-cli უახლესისთვის)
# თქვენი ტელეფონის ნომრის რეგისტრაცია
signal-cli -u +1234567890 register
signal-cli -u +1234567890 verify <verification-code>

2. signal-cli დემონის გაშვება

bash
signal-cli -u +1234567890 daemon --http localhost:8686

3. კონფიგურაცია

toml
[channels_config.signal]
http_url = "http://127.0.0.1:8686"
account = "+1234567890"
allowed_from = ["+1987654321", "*"]

4. შემოწმება

bash
prx channel doctor signal

კონფიგურაციის მითითება

ველიტიპინაგულისხმევიაღწერა
http_urlStringსავალდებულოsignal-cli HTTP დემონის საბაზო URL (მაგ., "http://127.0.0.1:8686")
accountStringსავალდებულოsignal-cli ანგარიშის E.164 ტელეფონის ნომერი (მაგ., "+1234567890")
group_idStringnullშეტყობინებების ფილტრაცია ჯგუფის მიხედვით. null = ყველას მიღება (პირადი და ჯგუფური). "dm" = მხოლოდ პირადი. კონკრეტული ჯგუფის ID = მხოლოდ ეს ჯგუფი
allowed_from[String][]ნებადართული გამგზავნის ტელეფონის ნომრები E.164 ფორმატში. "*" = ყველას დაშვება
ignore_attachmentsboolfalseმხოლოდ-დანართიანი შეტყობინებების გამოტოვება (ტექსტის გარეშე)
ignore_storiesboolfalseშემომავალი ისტორიების შეტყობინებების გამოტოვება

ფუნქციები

  • ბოლოდან ბოლომდე დაშიფვრა -- ყველა შეტყობინება დაშიფრულია Signal პროტოკოლით
  • პირადი და ჯგუფური მხარდაჭერა -- პირადი შეტყობინებებისა და ჯგუფური საუბრების დამუშავება
  • SSE მოვლენების ნაკადი -- მოსმენა Server-Sent Events-ით /api/v1/events ენდფოინთზე რეალურ დროში მიტანისთვის
  • JSON-RPC გაგზავნა -- პასუხების გაგზავნა JSON-RPC-ით /api/v1/rpc ენდფოინთზე
  • მოქნილი ჯგუფის ფილტრაცია -- ყველა შეტყობინების მიღება, მხოლოდ პირადი ან კონკრეტული ჯგუფი
  • დანართების დამუშავება -- არასავალდებულოდ მხოლოდ-დანართიანი შეტყობინებების დამუშავება ან გამოტოვება

შეზღუდვები

  • საჭიროა signal-cli-ის გაშვება ცალკე დემონის პროცესად
  • signal-cli უნდა იყოს რეგისტრირებული და ვერიფიცირებული სწორი ტელეფონის ნომრით
  • ერთი signal-cli ინსტანცია ერთ ტელეფონის ნომერს მხარს უჭერს
  • ჯგუფური შეტყობინებების გაგზავნა მოითხოვს signal-cli ანგარიშის ჯგუფის წევრობას
  • signal-cli არის Java აპლიკაცია საკუთარი რესურსების მოთხოვნებით

პრობლემების მოგვარება

signal-cli-სთან დაკავშირება ვერ ხერხდება

  • შეამოწმეთ signal-cli დემონი გაშვებულია: curl http://127.0.0.1:8686/api/v1/about
  • შეამოწმეთ http_url ემთხვევა დემონის მიბმის მისამართსა და პორტს
  • დარწმუნდით, რომ firewall-ის წესები არ ბლოკავს კავშირს

ჯგუფის შეტყობინებები იგნორირდება

  • შეამოწმეთ group_id ფილტრი -- თუ "dm"-ზეა მითითებული, ჯგუფის შეტყობინებები გამოირიცხება
  • თუ კონკრეტული ჯგუფის ID-ზეა, მხოლოდ ამ ჯგუფიდან შეტყობინებები მიიღება
  • მიუთითეთ group_id null-ზე (ან გამოტოვეთ) ყველა შეტყობინების მისაღებად

მხოლოდ-დანართიანი შეტყობინებები გამოტოვდება

  • ეს მოსალოდნელი ქცევაა ignore_attachments = true-ისას
  • მიუთითეთ ignore_attachments = false მხოლოდ-დანართიანი შეტყობინებების დასამუშავებლად

Released under the Apache-2.0 License.