Skip to content

Eric-Terminal/etos-chat-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETOS Chat Server

Go 后端服务,提供 ETOS Chat 的鉴权、会话、消息、轮询和 APNs 推送能力。

功能

  • 设备注册 + 挑战签名登录(JWT)
  • 配对码加好友
  • 私聊/群聊会话
  • 文本消息
  • 语音消息上传(本地磁盘存储)
  • 语音消息与文件定期清理
  • 基于 cursor 的长轮询事件
  • APNs 设备 token 上报与新消息推送
  • 支持 HTTP 与可选 HTTPS 直启

快速启动

  1. 启动 PostgreSQL,并创建数据库 etos_chat
  2. 复制配置:
    cp .env.example .env
  3. 导出环境变量(示例):
    set -a
    source .env
    set +a
  4. 运行服务:
    go run ./cmd/server

关键接口

  • POST /v1/auth/device/register
  • POST /v1/auth/challenge
  • POST /v1/auth/device/login
  • POST /v1/auth/pair-code/create
  • POST /v1/auth/pair-code/accept
  • GET /v1/conversations
  • POST /v1/conversations
  • POST /v1/messages/text
  • POST /v1/messages/voice
  • GET /v1/messages
  • GET /v1/events/poll
  • POST /v1/push/devices

语音文件访问

语音上传后,返回 voice_url,默认映射到:

  • /media/voice/<relative-path>

注意

  • 生产环境请务必设置强 JWT 密钥、启用 HTTPS、限制上传大小与来源。
  • APNs 需要 Apple 开发者账号与 .p8 Key。
  • 若要服务端直接启用 TLS,请同时配置 ETOS_CHAT_TLS_CERT_FILEETOS_CHAT_TLS_KEY_FILE

About

ETOS Chat Go 后端服务

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors