[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ffv4vuvws6jwq":3},{"_id":4,"slug":5,"title":6,"subtitle":7,"kind":8,"cards":9,"tags":18,"categories":19,"source":20,"lang":23,"author":24,"audioState":27,"stats":28,"publishedAt":31,"renderer":32},"6abb51c5ca21c797c7e9c11c","sub2api---v2ex-cad4eaf8","只是和几个同事分个订阅，何必背着一套臃肿的 sub2api - V2EX","我们组 4 个人凑钱买的订阅，之前一直用 sub2api 。用了小半年，功能没得说，但每次服务器要迁移我就头疼——除了它自己，还得把 Postgres 和 Redis 一起搬过去。有次 Redis 挂了，整个网关直接不工作，排查了半天发现是内存超了。 后来想想我们其实就 4 个人，用不着这么重的东西。就自己写了一个，叫 SubLane ，一个轻量级的，专供于小团队的订阅 \u002F API 共享的…","news",[10,13],{"headline":6,"body":11,"imageUrl":12,"sourceImageUrl":12},"我们组 4 个人凑钱买的订阅，之前一直用 sub2api 。用了小半年，功能没得说，但每次服务器要迁移我就头疼——除了它自己，还得把 Postgres 和 Redis 一起搬过去。有次 Redis 挂了，整个网关直接不工作，排查了半天发现是内存超了。 后来想想我们其实就 4 个人，用不着这么重的东西。就自己写了一个，叫 SubLane ，一个轻量级的，专供于小团队的订阅 \u002F API 共享的 API 网关。 把订阅账号接进来，给每个人发一把自己的 key ，大家拿 key 去用，我在后台能看到谁用了多少。 装完是一个 Docker 容器，数据库直接跑在进程里，没有 Redis ，前端编译进同一个二进制文件。备份就是备份那个数据卷。","https:\u002F\u002Fi.v2ex.co\u002Fc2WL81x5.png",{"headline":14,"body":15,"imageUrl":16,"images":17},"技术上是 Go + chi + sqlc ，SQLite 存数据，前端","技术上是 Go + chi + sqlc ，SQLite 存数据，前端 React 19 编译进二进制。上游用了 CLIProxyAPI 的 executor ，但 OAuth 、凭据加密、账号选择这些都是自己写的，凭据不放进 SDK 的管理器。 大家有什么痛点或者需求都可以提 issue ，合理的我会尽可能的满足","\u002Fapi\u002Fmedia\u002Fposts\u002Fsub2api---v2ex-cad4eaf8\u002F1.webp",{"local":16},[],[],{"name":21,"url":22},"V2EX Hot","https:\u002F\u002Fwww.v2ex.com\u002Ft\u002F1245399#reply44","zh-cn",{"handle":25,"displayName":26},"spots","Spots",null,{"views":29,"likes":30,"saves":30,"shares":30,"completions":30,"opens":30,"skips":30,"depthSum":30},3,0,"2026-09-29T05:51:01.304Z","local"]