{"id":16677337,"url":"https://github.com/kernelerr/rabijump","last_synced_at":"2025-03-17T00:32:24.599Z","repository":{"id":62445023,"uuid":"522955189","full_name":"KernelErr/RabiJump","owner":"KernelErr","description":"A simple and fast redirection tool (short link) written in Rust.","archived":false,"fork":false,"pushed_at":"2022-08-23T16:19:29.000Z","size":37632,"stargazers_count":50,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-13T13:25:51.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KernelErr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-09T13:10:39.000Z","updated_at":"2024-08-15T06:02:43.000Z","dependencies_parsed_at":"2022-11-01T22:30:56.655Z","dependency_job_id":null,"html_url":"https://github.com/KernelErr/RabiJump","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelErr%2FRabiJump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelErr%2FRabiJump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelErr%2FRabiJump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KernelErr%2FRabiJump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KernelErr","download_url":"https://codeload.github.com/KernelErr/RabiJump/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221669329,"owners_count":16860854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T13:26:03.028Z","updated_at":"2024-10-27T11:35:26.054Z","avatar_url":"https://github.com/KernelErr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐰RabiJump\r\n\r\n[简体中文](https://github.com/KernelErr/RabiJump/blob/main/README_CN.md) | [API Doc](https://github.com/KernelErr/RabiJump/blob/main/docs/API.md)\r\n\r\nRabiJump is an open source redirection service aimed for efficiency and simplicity.\r\n\r\n🎆 Features:\r\n\r\n- Built-in filesystem database.\r\n- Built-in web admin panel.\r\n- Seperate redirects for mobile phone and desktop.\r\n- Enable/disable parameter support (url?foo=bar).\r\n- Change redirection method (301, 302, 307, 308).\r\n- Different ports for redirect and admin.\r\n- Small binary size and RAM usage.\r\n- Visit count and log rotation.\r\n- API support, create your script!\r\n\r\n## Deploy\r\n\r\nDocker is the easiest way to deploy RabiJump. Or you can clone the repository and simply run `cargo run --release` in server directory.\r\n\r\n```bash\r\ndocker run -d -p 8080:8080 -p 8081:8081 -v db_path:/app/database -v log_path:/app/logs memorysafety/rabijump:0.1.0\r\n```\r\n\r\nThis command will start RabiJump in Docker container with `db_path` and `log_path` mounted to the container. You can use `docker logs` to check the generated admin token if you didn't set it in the environment variable.\r\n\r\n### Port\r\n\r\n- 8080: Redirect port.\r\n- 8081: Admin port with web panel.\r\n\r\n### Environment variables\r\n\r\n- DATABASE_PATH: Path to the database. Default: `database`.\r\n- LOG_PATH: Path to the logs. Default to `logs`.\r\n- FALLBACK_TARGET: Target to redirect to if no match is found, also for index. Default is return 404.\r\n- ALLOW_ORIGIN: CORS `Access-Control-Allow-Origin` header.\r\n- TOKEN: Admin token, if not set, a random token will be generated and displayed in the stdout.\r\n\r\n## Performance\r\n\r\nRabiJump is designed to be simple and fast. A new instance of RabiJump takes about 30MB RAM. A RabiJump with 10k redirects takes about 70MB RAM and 30MB disk space. Its QPS could reach 30k+.\r\n\r\n## License and Credits\r\n\r\nRabiJump is licensed under the Apache-2.0 License. Thanks so much for the following open source projects:\r\n\r\n- [Poem](https://github.com/poem-web/poem)\r\n- [Sled](https://github.com/spacejam/sled)\r\n- [CBL-Mariner](https://github.com/microsoft/CBL-Mariner)\r\n- [Semi-design](https://github.com/DouyinFE/semi-design)\r\n- ...","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelerr%2Frabijump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkernelerr%2Frabijump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkernelerr%2Frabijump/lists"}