海鸥
服务端存储的原生 Android 技术博客

写技术文章,数据在你自己手里。

账号、文章、媒体全部落在你自己的服务器;本机只做缓存。块级编辑器、真实代码高亮、图文音视频混排、邮箱验证码找回密码,全都原生实现。

版本 2.0.0 · Android 7.0+ (API 24) · 更新于 —

服务端权威存储

Go + MariaDB 保存账号与文章,换设备登录即恢复;本地 Room 仅作读缓存与离线草稿。

邮箱找回密码

绑定邮箱 → SMTP 验证码 → 重置密码,10 分钟有效、60 秒冷却、错误次数限制。

严格权限模型

JWT 鉴权 + 按用户隔离;改密后旧令牌立即失效;私密文章对他人一律 404。

块级编辑器

标题/引用/列表/代码/图片/视频/音频/分割线,撤销重做与自动草稿。

自研代码高亮

24 种语言词法高亮,不依赖 WebView,光标与输入法稳定。

媒体上传

选图即上传,服务端校验内容类型并落盘,正文引用公网 URL。

安装说明

  1. 点击上方下载 APK,等待下载完成。
  2. 首次安装需允许「安装未知来源应用」。
  3. 打开海鸥,注册账号(可顺手填邮箱,用于找回密码)。
  4. 进入 设置 → 权限与设备,按需授予相机与通知权限。
下载按钮无响应时可直接访问 download/seagull.apk

接口与架构

# 客户端启动读取版本;所有写接口需 Authorization: Bearer <JWT> GET /api/v1/version POST /api/v1/auth/register { username, displayName, email?, password } POST /api/v1/auth/login { account, password } → { token, user } POST /api/v1/auth/password/forgot { account } → 202 { cooldown, expiresIn } POST /api/v1/auth/password/reset { account, code, newPassword } POST /api/v1/auth/email/bind { email } → 202 POST /api/v1/auth/email/verify { email, code } → { user } GET /api/v1/posts ?q=&page=&size= GET /api/v1/posts/mine ?status=DRAFT|PUBLISHED POST /api/v1/posts { id?, title, contentJson, plainText, tags, visibility, status } POST /api/v1/media multipart file → { url } GET /api/v1/health { status, db, mail }
服务端:Go 1.23 + MariaDB 11.8 + JWT(HS256) + bcrypt(cost 12) + net/smtp,systemd 托管,nginx 反代。

更新日志

加载中…