No description
- TypeScript 96%
- CSS 2%
- JavaScript 1.7%
- Nix 0.2%
- HTML 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| deployments | ||
| docs | ||
| locales | ||
| migrations | ||
| scripts | ||
| shared | ||
| tests | ||
| web | ||
| worker | ||
| .dev.vars.example | ||
| .env.example | ||
| .envrc | ||
| .gitignore | ||
| .yarnrc.yml | ||
| biome.json | ||
| CONTEXT.md | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| LICENSE | ||
| NOTICE | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.shared.json | ||
| tsconfig.test.node.json | ||
| tsconfig.test.worker.json | ||
| tsconfig.tools.json | ||
| tsconfig.web.json | ||
| tsconfig.worker.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
| vitest.setup.web.ts | ||
| vitest.web.config.ts | ||
| vitest.worker.config.ts | ||
| wrangler.jsonc | ||
| yarn.lock | ||
gjz010/send
端到端加密的临时文件分享服务。文件内容与文件名都在浏览器端加密,服务端只接触密文。
功能
- 有效期与撤销:分享可设置过期时间,也可随时手动撤销,撤销与过期立即生效。
- 密码保护:可选的访问密码,在浏览器端参与解密。
- 上传与下载控制:上传需通过 OIDC 登录;下载支持匿名访问或指定用户组限制。
- 续传:同一浏览器内未完成的上传可在恢复窗口内继续,无需重新上传已传分片。
- 双语与主题:界面提供中 / 英双语与浅色 / 深色主题。
技术架构
单个 Cloudflare Worker 同时承载前端静态资源与 API,元数据存 D1,密文与审计日志存 S3 兼容对象存储。除官方实例外,也支持用自有的 Cloudflare、S3 与 OIDC 独立自托管。
本地开发
开发环境由 Nix + devenv + direnv 提供固定版本的 Node 与 Yarn,无需全局安装:
direnv allow . # 首次授权,在宿主受信终端执行
yarn install --immutable
yarn typecheck # 类型检查(shared + web + worker)
yarn test:all # 单元与集成测试
yarn build # 构建前端到 dist/web
配置与部署
部署需要准备 Cloudflare、S3 兼容存储与 OIDC 提供方。完整步骤、Secret 管理与 D1 迁移见 docs/DEPLOYMENT.md;示例配置见 .env.example、.dev.vars.example 与 wrangler.jsonc。
文档
- API 在线文档:https://send.gjz010.com/api-docs
- 传输协议:
docs/TRANSFER-PROTOCOL.md - 端到端测试:
tests/e2e/README.md
许可证
AGPL-3.0-or-later,全文见 LICENSE,or-later 声明见 NOTICE。以网络提供服务时,AGPL 要求向使用者提供对应源码。