این مقاله یک شروع سریع برای هر کسی است که قصد راه اندازی یک سرور سیگنال فعال را دارد.
Signal یک برنامه پیام رسانی فوری و تماس صوتی رمزگذاری شده برای اندروید است. از اینترنت برای ارسال پیام های یک به یک و گروهی استفاده می کند که می تواند شامل تصاویر و پیام های ویدیویی باشد و تماس های صوتی یک به یک برقرار کند. سیگنال از شماره تلفن های استاندارد به عنوان شناسه و رمزگذاری انتها به انتها برای ایمن کردن همه ارتباطات با سایر کاربران سیگنال استفاده می کند.
کد منبع اصلی سرور را می توان در اینجا یافت:
قبل از شروع کار، بیایید کد منبع را شبیه سازی کنیم:
داخل پوشه پروژه:
jar سرور سرور اصلی را بسازید
برای اطمینان از داشتن آخرین نسخه برنامه ها.
ایجاد کاربر root postgres:
##دسترسی از راه دور به پایگاه داده postgresql برای باز کردن پورت 5432 /etc/postgresql/9.*/main/postgresql. conf خود را ویرایش کنید و تغییر دهید
و DBMS خود را مجددا راه اندازی یا راه اندازی مجدد کنید
فایل های پیکربندی
در اینجا یک فایل سرور فعال پر از مقادیر جعلی است. شما باید ارزش های خود را ارائه دهید:
هنگامی که PostresSQL Up& Running را با نام کاربری، رمز عبور، messagesdb و accountsdb دارید (دو db می تواند یکسان باشد) و این پارامترها به خوبی در فایل yml TSS همانطور که در بالا به عنوان رشته jdbc مشاهده می شود کدگذاری می شوند، اکنون می توانید ساختارهای داده مورد نیاز برنامه را ایجاد کنید..
یک سطل S3 یک کاربر IAM ایجاد کنید و آن را به گروه S3FullAccess اضافه کنید
پیکربندی برای افزودن بخش موجود سایت در: apache /etc/apache2/sites-available/
ServerAdmin aqnouch. [email protected] com ServerName kalam. app
نصب سرور را روشن کنید
گواهی ssl را ایجاد کنید
از همه بازخوردها استقبال می شود، اگر کمک بیشتری می خواهید، می توانیم در مورد آن از طریق ایمیل صحبت کنیم: aqnouch. [email protected] com
freemanjackal در 30 ژوئن 2019 نظر داد
این راهنما برای کدام نسخه است؟نسخه فعلی ویژگی های زیادی را در فایل پیکربندی می خواهد و من نتوانستم هیچ سندی را برای روشن شدن پیدا کنم. آیا این راهنما برای 1. 88 است؟
julian-ca در 3 ژوئیه 2019 نظر داد
این راهنما برای کدام نسخه است؟نسخه فعلی ویژگی های زیادی را در فایل پیکربندی می خواهد و من نتوانستم هیچ سندی را برای روشن شدن پیدا کنم. آیا این راهنما برای 1. 88 است؟
سلام، ببخشید خیلی دیر کردم بله راهنمای من برای نسخه سرور قدیمی (1. 88) بود، من سعی می کنم زمانی برای به روز رسانی آن پیدا کنم. Le mer. 19 ژوئن 2019، ساعت 09:59، 刘晓文
ericfjl من فکر می کنم شما می توانید کدی را که توسط GitHub تغییر کرده اید تغییر دهید: SRC/Main/Java/org/Whispersystems/PushServer/Senders/Apnsender. java اضافه کنید: واردات java. io. fileinputstream ؛تغییر: // PemReader Reader = PemReader جدید (New InputStreamReader (BytearRayInputStream جدید (pemcertificate. getBytes ()))) ؛// به PemReader Reader = PemReader جدید (New InputStreamReader (FileInputStream جدید (pemcertificate))) ؛تغییر: // خواننده = PemReader جدید (New InputStreamReader (جدید BytearRayInputStream (pemkey. getBytes ()))) ؛// به خواننده = PemReader جدید (New InputStreamReader (FileInputStream جدید (pemkey)))) ؛- شما این را دریافت می کنید زیرا شما موضوع را تألیف کرده اید. به این ایمیل مستقیماً پاسخ دهید ، آن را در GitHub مشاهده کنید ، یا موضوع را بی صدا کنید.
TienBM90 در 11 ژوئیه 2019 اظهار نظر کرد
Darkprince92 در 20 آگوست 2019 اظهار نظر کرد
نسخه 1. 88 را از کجا پیدا کردید؟
و آیا کسی می تواند مستندات کاملی را برای پیکربندی طبق نسخه ها ارائه دهد؟من نسخه 2. 55 را ساخته ام.
TienBM90 در 21 آگوست 2019 اظهار نظر کرد
نسخه 1. 88 را از کجا پیدا کردید؟
و آیا کسی می تواند مستندات کاملی را برای پیکربندی طبق نسخه ها ارائه دهد؟من نسخه 2. 55 را ساخته ام.
سلام @darkprince92 ، برای یافتن نسخه 1. 88 باید تاریخچه را در مخزن GitHub بررسی کنید. با دانش من ، هیچ گونه نصب کامل Guilde برای سرور سیگنال وجود ندارد. من در آینده Guilde نصب را ارائه می دهم.
Maincui در 23 اوت 2019 اظهار نظر کرد •
سلام ، @tienbm90 ، آیا شما می توانید راهنمای کامل ، مرحله به مرحله ، راهنمای نصب را به اشتراک بگذارید؟من به عنوان یک توسعه دهنده Android ، این راهنما را بسیار سخت دنبال کردم ، به خصوص قسمت پیکربندی فایلهای پیکربندی ، شاید از آنجا که برای نسخه 1. 88 است ، کمی قدیمی باشد. و من می خواهم بدانم که آیا امکان استقرار کاملاً محلی بدون AWS برای تست وجود دارد. پیشاپیش از شما متشکرم.
WisdomSky اظهار داشت 24 آگوست 2019 •
به کسانی که علاقه مند هستند ، در اینجا راهنمایی برای V1. 88 ارائه شده است
این همچنین در حال حاضر شامل هش خاص Git است که به طور خاص به V1. 88 اشاره دارد.
Konglomerat-ID اظهار نظر 3 سپتامبر 2019
با عرض پوزش برای هرزنامه من aqnouch ،
اما برای همه کاربرانی که نیاز به استقرار آخرین سرور سیگنال 2. 55 دارند ، می توانید بحث و راهنمای جامعه را در اینجا دنبال کنید: https://community. signalusers. org/t/guide-deplace-signal-server-v2-xx-cds-sgx/8331
Msuiche در 23 دسامبر 2019 اظهار نظر کرد
پس از راه اندازی سرور ، توصیه ای برای برنامه Android دارید؟
Msuiche در 24 دسامبر 2019 اظهار نظر کرد
Msuiche در 24 دسامبر 2019 اظهار نظر کرد
چند مرحله اضافی برای مشتری Android: https://github. com/lucaconte/beatthemeddler whisper. store باید رونویسی شود
msuiche در 26 دسامبر 2019 نظر داد
سطل های پیوست s3 باید «شتاب انتقال» را فعال کنند و باید در منطقه us-east-1 باشند - عجیب است که هیچ تنظیماتی برای منطقه برای پیوست ها وجود ندارد، بنابراین ایجاد را مجبور به us-east-1 می کند، بسیار عجیب است. در مورد آن فکر کنید زیرا این ایالت ویرجینیا است.
msuiche در 26 دسامبر 2019 نظر داد
بهخاطر آن، از آوریل 2019 به us-east-1 کدگذاری نشده است. signalapp/[email protected]305b414
Asylzatwww در 13 ژانویه 2020 نظر داد
من سعی میکنم سرور سیگنال را راهاندازی کنم، اما مشکلات زیادی وجود دارد، آیا کسی میتوانست سرویس را بر اساس قطعات، بدون استفاده از گوشی قرمز، گزینههای غیرفعال کردن apn برای ios، تست قبل از آن در اندروید، غیرفعال کردن کش، redis و هر چیزی که استفاده میشود، شروع کند.، و اتفاقاً اتصال http در اندروید توسط okHttpClient است و موضوع این است که من نمی توانم بفهمم، آیا احراز هویت هدر وجود دارد، من نمی توانم صرفاً جستجوهای http را توسط پستچی آزمایش کنم، بچه ها این همه کارمند را چگونه انجام می دهید؟
novaextent در 16 ژانویه 2020 نظر داد
سلام من آخرین ورژن اندروید رو از github دانلود کردم لینک ها رو عوض کردم ولی در مرحله بررسی کد سرور کد 204 رو میده متوجه نشدم مشکل از چیه. کسی میدونه مشکل از چی میتونه باشه؟یا شاید کسی می داند چه چیزی باید در منبع ثابت شود به جز آدرس سرور؟
zhangpanyi در 17 ژانویه 2020 نظر داد
آپلود فایل در مسیر s3 پیوست/، کد: 405، MethodNotAllowed.
حامد رحمانی در 4 ژوئن 2020 نظر داد
سلام بچه ها من سیگنال سرور را نصب کرده ام اما نمی توانم وضعیت سرور سیگنال را ببینم. چگونه می توانم بررسی کنم که سرور بالا یا پایین است و چگونه می توانم توسط مشتری به سیگنال سرور خودم متصل شوم؟کسی می تواند به من کمک کند؟با تشکر
Asylzatwww در 4 ژوئن 2020 نظر داد •
@HamedRahmani اگر سرور در حال اجراست فقط تست کنید که آیا همه لینک ها کار می کنند مانند: http://localhost:8080/v1/accounts/sms/code/+1555312457 ارور می آورد یا نه، اگر خطایی وجود نداشته باشد یعنی احراز هویتبا twilio به خوبی کار می کند، و غیره
winston0605 در 29 ژوئیه 2020 نظر داد
هنگام اجرای سرویس با خطا مواجه می شوم، چرا؟فایل پیکربندی apn: # Apple Push Notifications configuration bundleId: com. secret. signalTest pushCertificate: /Users/jlfang/Downloads/signal. p12 pushKey: 123456
خطا: java. lang. nullpointerexception در org. whispersystems. textsecuregcm. push. retryingapnsclient. initializeprivatekey (retryingapnsclient. java:114) در org. whispersys. textsec. ecm. ecm. push. retryingapnspnsclient.. push. apnsender. (apnsender. java:71) در org. whispersystems. textsecuregcm. whisperserverservice. run (whisperserverservice. java:184) در org. whispersystems. textsecuregcm. whisperserserserverservice (whisperserverservice). cli. EnionmentCommand. run (محیط زیست command. java:43) در io. dropwizard. cli. configuredcommand. run (پیکربندی command. java:87) در io. dropwizard. cli. cli. run (cli. java:78) در IO. dropwizard. application. run (application. java:93) در org. whispersystems. textsecuregcm. whisperserverservice. main (whisperserverservice. java:292)
کد: Reader. ReadObject () == null private static x509certificate Initializecertificate (رشته pemcertificate) IoException را پرتاب می کند
Winston0605 اظهار نظر در 30 ژوئیه 2020 < SPAN> خطا: java. lang. nullpointerexception در org. whispersystems. textsecuregcm. push. retryingapnsclient. initializeprivientsnientscient. jova. java:114) at org. whispersystemgersystemgers. wherispryscientsclient. justryiscientsclient. justryiscientsclient.. java: 1) در io. dropwizard. cli. environmentcommand. run (محیط زیست command. java:43) در io. dropwizard. cli. configuredcommand. run (پیکربندی command. java:87) در io. dropwizard. cli. cli. cli. cli. run (cli. java:78) در io. dropwizard. application. run (برنامه. java:93) در org. whispersystems. textsecuregcm. whisperserverservice. main (whisperserverservice. java:292)
کد: Reader. ReadObject () == null private static x509certificate Initializecertificate (رشته pemcertificate) IoException را پرتاب می کند
Winston0605 اظهار نظر در 30 ژوئیه 2020 < SPAN> خطا: java. lang. nullpointerexception در org. whispersystems. textsecuregcm. push. retryingapnsclient. initializeprivientsnientscient. jova. java:114) at org. whispersystemgersystemgers. wherispryscientsclient. justryiscientsclient. justryiscientsclient.. java: 1) در io. dropwizard. cli. environmentcommand. run (محیط زیست command. java:43) در io. dropwizard. cli. configuredcommand. run (پیکربندی command. java:87) در io. dropwizard. cli. cli. cli. cli. run (cli. java:78) در io. dropwizard. application. run (برنامه. java:93) در org. whispersystems. textsecuregcm. whisperserverservice. main (whisperserverservice. java:292)
کد: Reader. ReadObject () == null private static x509certificate Initializecertificate (رشته pemcertificate) IoException را پرتاب می کند
Winston0605 در 30 ژوئیه 2020 نظر داد
[email protected]:/home/winston/signal-server# jav a-jar service/target/textsecureserver-3. 21. jar سرویس/پیکربندی/پیکربندی اطلاعات [2020-07-30 02: 58: 20،413] io. dropwizard. Server. DefaultServerFactory: ثبت نام سازنده پیراهن با پیشوند مسیر ریشه: / اطلاعات [2020-07-30 02: 58: 20،434] io. dropwizard. server. defaultserverfactory: ثبت نام مدیر عامل با پیشگفتار مسیر ریشه: / اطلاعات [2020-07-30-3002: 58: 23،922] com. turo. pushy. apns. apnsclientbuilder: ارائه دهنده SSL بومی در دسترس است. از ارائه دهنده بومی استفاده خواهد کرد. java. security. cert. certificateException: هیچ گواهی در تجزیه و تحلیل یافت نشد! DirectoryReconcoriationClient. java:49) در org. whispersystems. textsecuregcm. whisperserverservice. run (whisperserverservice. java:270) در org. whispersystem. textsecuregcm. whisperserverservice. run (wherperservice. wisperserviceservice). Application. java:94) در org. whispersystems. textsecuregcm. whisperserverservice. main (whisperserverservice. java:406) در config. yml من در آنجا گواهی دریافت کردم اما این خطا را نشان می دهد. کمکم کنید .
Winston0605 در 30 ژوئیه 2020 نظر داد
UnidentifiedDelivery: گواهی: |ciyi5a8siquo+ilr4c9wwdnmykd4rrjaob3q9ub4vwkav1k9iibphaxv5lin85q8vfwejawowxing6wwxo/hoxnfb/tinsrpli5xusfqs23fduvrvrvxzggq == خصوصی0pxkuuanlcxcqgs55/tvay0uzvji3lzhirrp25wcm28 = منقضی شده: 365
Danihuge در 11 نوامبر 2020 اظهار نظر کرد
من هم همینطور شدمرفع کردی؟
Afyfe در 27 ژانویه 2021 اظهار نظر کرد •
سلام ، من مدتی است که با این کار دست و پنجه نرم کرده ام.,null,UNAVAILABLE> added ,MANAGED>من همان خطای افراد فوق را دارم و به ظاهر مربوط به پیکربندی گواهینامه های APN / PUSH است.,null,UNAVAILABLE> added ,MANAGED>من این را در پیکربندی YAML دارم: