easychen / pushdeer

开放源码的无App推送服务,iOS14+扫码即用。亦支持快应用/iOS和Mac客户端、Android客户端、自制设备
Other
4.57k stars 467 forks source link

[Privacy]使用自建版,如果不配置SSL,消息是明文传输的吗? #142

Closed gabriel254 closed 2 years ago

gabriel254 commented 2 years ago

你好,我在一台VPS上使用docker成功部署pushdeer自架版服务器,在iPhone上APP Sotre下载自架版测试可以正常使用。我的疑问是,如果没有使用SSL,那么从VPS推送到我iPhone设备上的消息会被监听吗?我的ISP能够监控到以下哪些内容:

  1. 我的client上的Push Key
  2. 我推送的Message内容

最后附上我的docker-compose内容:

version: '2.1'
services:
  mariadb:
    image: 'mariadb:10.5.8-focal'
    container_name: pushdeer-mariadb
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "--silent","--password=$$MYSQL_ROOT_PASSWORD"]
      timeout: 10s
      retries: 3
    volumes:
      - ~/Docker/pushdeer/mariadb_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=theVeryp@ssw0rd
      - MYSQL_DATABASE=pushdeer
    expose:
      - 3306
  app:
    image: 'ccr.ccs.tencentyun.com/ftqq/pushdeercore'
    container_name: pushdeer
    ports:
      - '9000:9000'
    depends_on:
      mariadb:
        condition: service_healthy
    environment:
      - DB_HOST=mariadb
      - DB_PORT=3306
      - DB_USERNAME=root
      - DB_DATABASE=pushdeer
      - DB_TIMEZONE=+08:00
      - DB_PASSWORD=theVeryp@ssw0rd
      - GO_PUSH_IOS_TOPIC=com.pushdeer.self.ios
      - GO_PUSH_IOS_CLIP_TOPIC=com.pushdeer.self.ios.Clip
      - WEB_PHP_SOCKET=127.0.0.1:8000
      - APP_DEBUG=false
      - MQTT_API_KEY=9LKo3
      - MQTT_ON=false

使用的API endpoint为 VPS-IP:9000

easychen commented 2 years ago

从苹果服务器到你的手机的链路是应该加密的,但是你调用接口的请求(中包含的数据)可以被途径网络中的计算机获取到信息。

你可以在 Pushdeer Server前搭一个 Nginx 来实现 https 传输。