<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      私有化部署 Signal 服務器最新版 v20250409.1.0

      私有化部署 Signal 服務器最新版 v20250409.1.0

      為什么要使用 Signal

      維基百科說法,Signal是由Signal技術基金會和Signal Messenger LLC開發的跨平臺加密消息服務。Signal經互聯網發送一對一及組群消息,消息可包含圖像及影片,它還可以用來經互聯網作一對一及組群語音通話。是目前IM聊天軟件中,加密效果最好的聊天工具之一。

      還有個新聞,前一陣 Telegram 的老板去法國旅游,直接被逮住了,經過警察的 耐心勸說 ,Telegram 表示后續將與警方開展「廣泛的合作,將可疑用戶的IP地址與用戶數據分享給警方」 _ 這下更突出了 Signal 端到端加密的重要了。當然 如果你用過 Telegram 的端到端加密你就更清楚了,tg 的加密功能 目前(2025-04-01)只能在移動端使用,且只有在線才會推送信息,使用體驗實在不佳。更重要的是 Telegram 目前只有 PC 版開源了,手機版早已不再開源;類比 Signal,其服務端,客戶端全部開源以供審計,安全性不言而喻。

      Signal 所有代碼,包括服務端,客戶端均開源。網上有很多文章講如何本地部署signal服務器,或私有化部署相關的。

      首先是這里的 https://github.com/madeindra/signal-setup-guide ,過于陳舊了,數據庫還是 PostgreSQL,至少 2022 年后已經全面替換為了 dynamodb 了。

      這里有一篇文章,http://www.rzrgm.cn/lixiaoran/p/14438428.html 比較詳細的講了如何編譯部署 Signal 服務器,某亦參考了該文,樂意為其代鹽,但一樣的問題,其版本過于落后,服務端版本為 3.2.1 這至少已經是6~8年前的版本了,當前最新版服務器的部署,配置與舊版比較已大相徑庭,且官方無任何這方面的資料。著實吃力。況且官方團隊對軟件功能上多年的迭代,已經加入了太多的第三方服務,第三方組件等,要在無任何資料的情況下搞定完全的私有化部署,需要對其服務端與客戶端的整體代碼結構,組織方式了然于胸 才能進行下去;

      與上面那篇文章不一樣的地方在于,我這里修改了部分代碼以適配本地局域網運行,部分組件如加密貨幣與支付功能相關,以及其他不合國情之處,搞不定則直接注釋了事,僅部署了主要服務器組件+三端客戶端,搞定了基礎的通訊以及日常使用;如果你恰巧也需要在內網環境部署或者僅僅想搞一下 signal 的私有化部署,可以聯系我~ +signal: pfoxh.25 或者 tg: pfoxh25

      所以在搞成功之后,這里將最近的折騰過程記錄一下,以免遺忘.

      準備工作

      先明確目標,私有化部署Signal/本地部署Signal服務器,即要能完全將 Signal 運行在本地服務器上,即要能在一個封閉的內網中也能流暢運行與使用。所以涉及的第三方云服務,能修改就盡量修改;

      硬件準備

      服務器準備4C8G 或以上服務器,使用 ubuntu 22.04 其他發行版亦可,只要能安裝使用 docker compose 即可。

      域名準備

      域名與證書配置,由于域名配置需要時間生效 建議先配置域名 ,同時申請泛域名證書,如果使用 aws 服務,則可以使用 cloudfront 配置,并直接使用 amazon 提供的證書;至少需要以下幾個域名:

      • chat.signal
      • storage.signal
      • svr.signal
      • turn.signal
        可以使用三級域名甚至四級域名,如我注冊 pfoxh25.cn ,則signal工作域名可以為 chat.signal.pfoxh25.cn, storage.signal.pfoxh25.cn, svr.signal.pfoxh25.cn ...

      如果自行部署 s3,則再增加兩個

      • s3.signal
      • s3-admin.signal

      最新的Signal-Server 使用tus作為附件上傳服務,可以考慮加一個 tus.signal;

      證書可以使用 acme.sh 申請一個泛域名證書,并配置好自動更新

      軟件準備

      除了 Signal 自身的業務組件外,還有其他如數據庫,網關等中間件,完整部署過于復雜,于是順勢將各組件容器化,運行于 docker compose 內,如業務量更大,置于 kubernetes 內是個更好的選擇。安裝docker 與 docker compose,可以參考 docker 官方文檔 https://docs.docker.com/engine/install/ubuntu/ 也可以直接使用

      apt install docker.io docker-compose-v2 wget curl lrzsz unzip
      

      配置一個普通用戶 非root來執行

      useradd -m pfoxh25
      usermod pfoxh25 -a -G docker
      su - pfoxh25
      # 或者在 pfoxh25 用戶里執行 newgrp docker
      

      編譯與試運行

      最新版需要的JDK版本至少為 JDK21,可以下載 openjdk 或其他發行版均可,同時需要配置好maven 不贅述。

      git clone https://github.com/signalapp/signal-server
      git  checkout -b v20250409.1.0 -t tags/v20250409.1.0
      cd signal-server
      mvn clean package -DskipTests
      

      編譯完成后,下圖所示即告完成,在 service/target 目錄下可以找到編譯后的 jar 文件 TextSecureServer-20250409.1.1-SNAPSHOT.jar ,但默認時該 jar 文件未編譯為自包含的,所以無法直接運行,可修改 pom.xml 或使用maven將依賴收集到目錄,通過命令行傳遞給 java 執行;早期版本的 Signal Server 的確會直接打包 fatJar 可直接運行,但后續版本已不再裸機部署轉而使用 Docker 容器化,而docker容器的構建是「分層」的,如果每次打包時都出現一個200M+的 jar 包,則每次從服務器拉取的新版本的容器體積都是200M+,為降低每次構建容器時的「變更部分體積」,故而將依賴部分固定,只編譯代碼部分 jar。

      所以這里再執行 maven 指令收集一下依賴,可以將所有的依賴 jar 文件復制到 service/target/libout 中

      cd service
      ..\mvnw dependency:copy-dependencies -DoutputDirectory=target/libout
      

      試著跑一下:

      cd service
      # org.whispersystems.textsecuregcm.WhisperServerService 是主類
      java -cp target/libout/*;target/TextSecureServer-20250409.1.1-SNAPSHOT.jar org.whispersystems.textsecuregcm.WhisperServerService
      

      毫無懸念的失敗了

      run signal first failed

      運行失敗主要原因之一是缺少配置文件,配置文件示例在 service/config 目錄下,使用下面的命令重新運行試試:

      cd service
      java -Dsecrets.bundle.filename=config/sample-secrets-bundle.yml -cp target/libout/*;target/TextSecureServer-20250409.1.1-SNAPSHOT.jar org.whispersystems.textsecuregcm.WhisperServerService --version
      

      20250409.1.1-dirty-SNAPSHOT

      OK 這次總沒毛病了,看上去至少編譯沒問題,且成功運行了一個小功能 (顯示版本號)... _

      那就按老規矩,看看 --help

      signal cli show version and help

      按提示,使用 server config/sample.yml 命令運行服務器看看:java -Dsecrets.bundle.filename=config/sample-secrets-bundle.yml -cp target/libout/*;target/TextSecureServer-20250409.1.1-SNAPSHOT.jar org.whispersystems.textsecuregcm.WhisperServerService server config/sample.yml 依然是 毫無懸念的失敗了

      img

      接下來,使用 idea 打開工程目錄,然后對著 java 提示的異常棧,一個個的解決吧~

      服務配置

      當前配置文件 config/sample.yml 包含如下項:

      1. logging 日志配置,無傷大雅,可默認
      2. metrics 運行時指標采集與監控 官方的監控依賴外部服務 datadog,可修改代碼切換到 Prometheus/Grafana
      3. tlsKeyStore HTTPS 的證書密碼,不重要,可以直接注釋或刪除此部分的代碼 一般運行時都在外面套一個 nginx 網關,由網關或 CDN 處理 https 證書事宜
      4. stripe,braintree,googlePlayBilling,paymentsService,subscription,oneTimeDonations 均為支付/捐贈/貨幣相關,直接注釋此部分代碼即可 如有需要可換成自有支付系統 或其他虛擬幣如 波場/USDT 等
      5. appleAppStore, appleDeviceCheck, deviceCheck 設備檢查相關 沒搞明白,暫時沒碰
      6. dynamoDbClient 數據庫配置,重要
      7. dynamoDbTables 數據庫表配置 重要
      8. cacheCluster,pubsub,pushSchedulerCluster,rateLimitersCluster,messageCache redis 相關配置,其中部分redis 使用集群,部分則使用節點(實在是搞不懂,三天兩頭的變,24年底時還統一使用集群,幾天就變了)
      9. directoryV2,svr2,dogstatsd,shortCode,storageService,registrationService,keyTransparencyService,turn 等 均為一些第三方服務配置 大部分可直接忽略或填一個假的值即可;
      10. badges 徽章功能,類似 QQ秀,可以自定義,如無需要可直接忽略,后面可以修改此部分自定義實現
      11. awsAttachments,cdn 附件與下載相關 用戶頭像 群頭像的存儲等也與之相關
      12. apn,fcm 為 蘋果手機的推送服務與 Android 系統推送服務相關,國內可切換為極光或其他類似推送服務 純內網部署則暫時忽略此部分配置
      13. zkConfig, callingZkConfig, backupsZkConfig, unidentifiedDelivery 通訊密鑰配置 非常重要

      完整功能配置極為復雜,正在完善中...

      其他組件

      完整功能的 signal 服務端至少應包含 Signal-Server 與上述所有服務組件,其他運維類組件未列舉,部分組件 如客戶端更新等未在上述列表中,此部分功能官方可能未開源

      成功截圖

      • 服務端

      signal server run succeed

      • 客戶端

      signal android client

      配置實在是復雜,如實踐不成功的,有需要的可以聯系我~ +signal: pfoxh.25 或者 tg: pfoxh25 萬惡的騰訊封了我的v ...

      posted @ 2025-04-16 18:56  pfoxh  閱讀(1111)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 四虎精品永久在线视频| 国产午夜福利大片免费看| 康平县| 国产一区二区三区无遮挡| 天天狠天天透天天伊人| 国产精品熟女亚洲av麻豆| 四虎永久精品免费视频| 一本一道av中文字幕无码| 国产99在线 | 免费| 一本之道高清乱码少妇| 999精品全免费观看视频| 国产麻豆精品av在线观看| 亚洲一品道一区二区三区| 成人av片无码免费网站| 四虎永久免费影库二三区| 彩票| 男女xx00上下抽搐动态图| 2019国产精品青青草原| 一级片免费网站| 久久精品中文字幕少妇| 永久天堂网 av手机版| 国产在线自拍一区二区三区| 日本阿v片在线播放免费| 日本一区二区三区专线| 国内精品亚洲成av人片| 亚洲精品国产aⅴ成拍色拍| 国产SM重味一区二区三区| 中国极品少妇videossexhd| 激情久久综合精品久久人妻| 亚洲精品成人片在线观看精品字幕 | 久久天天躁狠狠躁夜夜网站| 人妻少妇精品视频专区| 国产精品美女久久久久久麻豆| 国产香蕉一区二区三区在线视频| 一区天堂中文最新版在线| 国产精品人妻熟女男人的天堂 | 久久这里只精品热免费99| 久久发布国产伦子伦精品| 亚洲大尺度一区二区三区| 狠狠人妻久久久久久综合九色| 精品无码三级在线观看视频 |