1 个不稳定版本
0.1.0 | 2022 年 8 月 23 日 |
---|
#36 在 #重定向
5.5MB
791 行
🐰RabiJump
RabiJump 是一个开源的跳转服务,旨在提高效率和简单性。
🎆 功能
- 内置文件系统数据库。
- 内置 Web 管理面板。
- 分别为手机和桌面提供单独的重定向。
- 启用/禁用参数支持(url?foo=bar)。
- 更改重定向方法(301、302、307、308)。
- 为重定向和管理分配不同的端口。
- 小二进制文件大小和内存使用量。
- 访问次数和日志轮转。
- API 支持,创建您的脚本!
部署
Docker 是部署 RabiJump 的最简单方法。或者您也可以克隆仓库,并在服务器目录中简单地运行 cargo run --release
。
docker run -d -p 8080:8080 -p 8081:8081 -v db_path:/app/database -v log_path:/app/logs memorysafety/rabijump:0.1.0
此命令将在 Docker 容器中启动 RabiJump,并将 db_path
和 log_path
挂载到容器中。如果您没有在环境变量中设置它,您可以使用 docker logs
检查生成的管理令牌。
端口
- 8080: 重定向端口。
- 8081: 带有 Web 面板的管理端口。
环境变量
- DATABASE_PATH: 数据库路径。默认:
database
。 - LOG_PATH: 日志路径。默认:
logs
。 - FALLBACK_TARGET: 如果没有找到匹配项,则重定向到的目标,也适用于索引。默认返回 404。
- ALLOW_ORIGIN: CORS
Access-Control-Allow-Origin
标头。 - TOKEN: 管理令牌,如果未设置,则将生成随机令牌并在 stdout 中显示。
性能
RabiJump 设计得既简单又快速。RabiJump 的新实例大约需要 30MB RAM。具有 10k 重定向的 RabiJump 大约需要 70MB RAM 和 30MB 磁盘空间。其 QPS 可达到 30k+。
许可证和致谢
RabiJump 根据 Apache-2.0 许可证授权。感谢以下开源项目
依赖项
~19–31MB
~438K SLoC