Cloudsteading
The project’s documented short-link demo showing its URL input, custom settings and generate control; no link was created.

Short

A Pages-hosted URL shortener with D1-backed link records

Short is a self-hosted Bitly/Rebrandly alternative built on Cloudflare (D1, Pages). Free tier eligible within limits. Inspect the source and license in the linked repository.

Source & license

Upstream license: MIT

License TL;DR

You can use it, change it, self-host it and sell it. Keep the original copyright and license notice with copies of the code. You don’t have to publish your changes. The authors don’t promise it will work.

Explain MIT in plain English →

Summary of the main license. Separate packages and assets can have different terms.

Inspect repository ↗Read this project’s actual license ↗

Repository owner

@x-dr

See the upstream repository for the original creator and contributors.

Maintain this project? Maintainer verification →

Cloudflare hosting

Free tier eligible within limits

A small Pages/D1 shortener can fit Free dynamic request/CPU and D1 read/write/storage allowances. Redirect logging and link creation consume database writes; static Pages traffic is different from dynamic redirect requests. An optional custom domain has its own registration cost.

Hosting requirements
  • Initialize the documented D1 tables and bind DB before relying on redirects. Pages hosting alone does not supply the database.
  • Keep dynamic invocations under 100k/day and 10ms CPU and D1 below daily row quotas/5GB. This review covers source/deployment eligibility, not link-abuse resistance or an executed service.
  • Source and configuration review establishes a deployment path and conditional costs; this candidate was not executed or load-tested.
Check current pricing ↗
Sources checked 01/10/2026

Repository snapshot: a423cc3. Hosting eligibility reflects the deployment documentation and listed assumptions.

  • bitly ↗

    *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/)

  • rebrandly ↗

    *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/)

  • short-io ↗

    *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/)

  • pages ↗

    ## 介绍 一个使用 Cloudflare Pages 创建的 URL 缩短器 *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/) ### 利用Tencent EdgeOne Pages 部署 > 未完成,Tencent EdgeOne的KV 存储还在申请中 一键部署: [![Use EdgeOne Pages t

  • d1 ↗

    `ip` text , `create_time` DATE ); ``` 8. 选择部署完成short项目,前往后台依次点击`设置`->`函数`->`D1 数据库绑定`->`编辑绑定`->变量名称填写:`DB` 命名空间 `选择你提前创建好的D1` 数据库绑定 9. 重新部署项目,完成。 ### API #### 短链生成 ```bash # POST /create curl -X POST -H "Content-Type: application/json" -d '{"url":"htt

  • free-tier-eligible ↗

    ## 介绍 一个使用 Cloudflare Pages 创建的 URL 缩短器 *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/) ### 利用Tencent EdgeOne Pages 部署 > 未完成,Tencent EdgeOne的KV 存储还在申请中 一键部署: [![Use EdgeOne Pages to deploy](https://cdnstatic.tencentcs.com/edgeone/pages/deploy.svg)](https://edgeone.ai/pages/new?repository-url=https://github.com/x-dr/short) ### 利用Cloudflare pages部署 1. fork本项目 2. 登录到[Cloudflare](https://dash.cloudflare.com/)控制台. 3. 在帐户主页中,选择`pages`> ` Create a project` > `Connect to Git` 4. 选择你创建的项目存储库,在`Set up builds and deployments`部分中,全部默认即可。 5. 点击`Save and Deploy`,稍等片刻,你的网站就部署好了。 6. 创建D1数据库参考[这里](https://github.com/x-dr/telegraph-Image/blob/main/docs/manage.md) 7. 执行sql命令创建表(在控制台输入框粘贴下面语句执行即可) ```sql DROP TABLE IF EXISTS links; CREATE TABLE IF NOT EXISTS links ( `id` int

  • free-tier-eligible ↗

    | **Free** | 100,000 per day | No charge for duration | 10 milliseconds of CPU time per invocation |

  • free-tier-eligible ↗

    | Rows read | 5 million / day | First 25 billion / month included + $0.001 / million rows |

  • free-tier-eligible ↗

    | Rows written | 100,000 / day | First 50 million / month included + $1.00 / million rows |

  • MIT ↗

    MIT License Copyright (c) 2023 x-dr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WIT

  • architecture ↗

    ## 介绍 一个使用 Cloudflare Pages 创建的 URL 缩短器 *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/) ### 利用Tencent EdgeOne Pages 部署 > 未完成,Tencent EdgeOne的KV 存储还在申请中 一键部署: [![Use EdgeOne Pages t

  • architecture ↗

    `ip` text , `create_time` DATE ); ``` 8. 选择部署完成short项目,前往后台依次点击`设置`->`函数`->`D1 数据库绑定`->`编辑绑定`->变量名称填写:`DB` 命名空间 `选择你提前创建好的D1` 数据库绑定 9. 重新部署项目,完成。 ### API #### 短链生成 ```bash # POST /create curl -X POST -H "Content-Type: application/json" -d '{"url":"htt

  • architecture ↗

    ## 介绍 一个使用 Cloudflare Pages 创建的 URL 缩短器 *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/) ### 利用Tencent EdgeOne Pages 部署 > 未完成,Tencent EdgeOne的KV 存储还在申请中 一键部署: [![Use EdgeOne Pages to deploy](https://cdnstatic.tencentcs.com/edgeone/pages/deploy.svg)](https://edgeone.ai/pages/new?repository-url=https://github.com/x-dr/short) ### 利用Cloudflare pages部署 1. fork本项目 2. 登录到[Cloudflare](https://dash.cloudflare.com/)控制台. 3. 在帐户主页中,选择`pages`> ` Create a project` > `Connect to Git` 4. 选择你创建的项目存储库,在`Set up builds and deployments`部分中,全部默认即可。 5. 点击`Save and Deploy`,稍等片刻,你的网站就部署好了。 6. 创建D1数据库参考[这里](https://github.com/x-dr/telegraph-Image/blob/main/docs/manage.md) 7. 执行sql命令创建表(在控制台输入框粘贴下面语句执行即可) ```sql DROP TABLE IF EXISTS links; CREATE TABLE IF NOT EXISTS links ( `id` integer PRIMARY KEY NOT NULL, `url` text, `slug` text, `ua` text, `ip` text, `status` int, `create_time` DATE ); DROP TABLE IF EXISTS logs; CREATE TABLE IF NOT EXISTS logs ( `id` integer PR

  • architecture ↗

    ## 介绍 一个使用 Cloudflare Pages 创建的 URL 缩短器 *Demo* : [https://short-3ud.pages.dev/](https://short-3ud.pages.dev/) ### 利用Tencent EdgeOne Pages 部署 > 未完成,Tencent EdgeOne的KV 存储还在申请中 一键部署: [![Use EdgeOne Pages t

  • architecture ↗

    `ip` text , `create_time` DATE ); ``` 8. 选择部署完成short项目,前往后台依次点击`设置`->`函数`->`D1 数据库绑定`->`编辑绑定`->变量名称填写:`DB` 命名空间 `选择你提前创建好的D1` 数据库绑定 9. 重新部署项目,完成。 ### API #### 短链生成 ```bash # POST /create curl -X POST -H "Content-Type: application/json" -d '{"url":"htt

Documented public demo screenshot · x-dr/short repository contributors; screenshot captured by Cloudsteading ↗. Depicts the upstream project. We have not deployed and tested a fresh installation here.

What it can replace

Compare the workflow you need. These mappings describe overlap; full feature parity requires a separate comparison.

Bitly logoBitly ↗

Creating custom short links and redirects; no advanced campaign analytics, hosted branding/admin suite or complete link-management parity.

See supporting source ↗
external SaaS target
varies
→ D1 + Pages
external SaaS target
varies
→ D1 + Pages
external SaaS target
varies
→ D1 + Pages

How it works

The shape of Short on Cloudflare, and how it stacks up against the rented tools it replaces.

Architecture

Diagram based on the linked repository documentation. See the sources and hosting assumptions above.

View upstream source ↗
Public interface
Documented interface1
Short-link creation / visitors
Source reviewed; runtime not tested
↓
App
Pages redirect functions
entry
Cloudflare Pages Functions
↓

Configuration and workflow sources

Reviewed commit a423cc35c656. Files were read as data; upstream applications and CI jobs were not executed.

Deployment configuration · 0 files

No Wrangler file found in the collected snapshot. The documented architecture above needs separate deployment verification.

Named environments are separate deployments. Bindings are shown only where declared. Configured routes are URL patterns, not verified application endpoints.

Runtime source · handlers, binding usage and workflow steps

Observed TypeScript/JavaScript declarations from Worker entrypoints and resolved relative imports. Calls and workflow steps may run conditionally; their listed order is not a proven end-to-end request flow. Router declarations may be mounted under a prefix or may not be registered. This shows code wiring, not a successful deployment or runtime test. Dynamic wiring, aliases and generated code may not resolve.

No direct runtime declarations resolved from this snapshot. Generated framework bundles or dynamic entrypoints need manual tracing.

Build and deployment pipeline · 0 GitHub Actions workflows

Repository CI declarations, separate from runtime request processing. Job dependencies and conditions are shown as written; long commands are shortened with an ellipsis; a workflow file does not prove a recent successful run.

No GitHub Actions workflow was found in the collected tree. Deployment may be manual or configured elsewhere.

Full upstream document by @x-dr · README.md · snapshot a423cc3

介绍

一个使用 Cloudflare Pages 创建的 URL 缩短器

Demo : https://short-3ud.pages.dev/

利用Tencent EdgeOne Pages 部署

未完成,Tencent EdgeOne的KV 存储还在申请中

一键部署:

Use EdgeOne Pages to deploy

利用Cloudflare pages部署

  1. fork本项目
  2. 登录到Cloudflare控制台.
  3. 在帐户主页中,选择pages> Create a project > Connect to Git
  4. 选择你创建的项目存储库,在Set up builds and deployments部分中,全部默认即可。
  5. 点击Save and Deploy,稍等片刻,你的网站就部署好了。
  6. 创建D1数据库参考这里
  7. 执行sql命令创建表(在控制台输入框粘贴下面语句执行即可)
DROP TABLE IF EXISTS links;
CREATE TABLE IF NOT EXISTS links (
  `id` integer PRIMARY KEY NOT NULL,
  `url` text,
  `slug` text,
  `ua` text,
  `ip` text,
  `status` int,
  `create_time` DATE
);
DROP TABLE IF EXISTS logs;
CREATE TABLE IF NOT EXISTS logs (
  `id` integer PRIMARY KEY NOT NULL,
  `url` text ,
  `slug` text,
  `referer` text,
  `ua` text ,
  `ip` text ,
  `create_time` DATE
);
  1. 选择部署完成short项目,前往后台依次点击设置->函数->D1 数据库绑定->编辑绑定->变量名称填写:DB 命名空间 选择你提前创建好的D1 数据库绑定

  2. 重新部署项目,完成。

API

短链生成

# POST /create
curl -X POST -H "Content-Type: application/json" -d '{"url":"https://131213.xyz"}' https://d.131213.xyz/create

# 指定slug
curl -X POST -H "Content-Type: application/json" -d '{"url":"https://131213.xyz","slug":"scxs"}' https://d.131213.xyz/create

response:

{
  "slug": "<slug>",
  "link": "http://d.131213.xyz/<slug>"
}

Frequently asked about Short

What is Short?+

Short is a self-hosted Bitly/Rebrandly alternative built on the Cloudflare developer platform. A Pages-hosted URL shortener with D1-backed link records

What does Short replace?+

Short is listed as an alternative to Bitly, Rebrandly, Short.io. Compare the features and tradeoffs before migrating.

What Cloudflare primitives does Short use?+

Short is built on D1, Pages.

How much does Short cost to run?+

A small Pages/D1 shortener can fit Free dynamic request/CPU and D1 read/write/storage allowances. Redirect logging and link creation consume database writes; static Pages traffic is different from dynamic redirect requests. An optional custom domain has its own registration cost. Initialize the documented D1 tables and bind DB before relying on redirects. Pages hosting alone does not supply the database. Keep dynamic invocations under 100k/day and 10ms CPU and D1 below daily row quotas/5GB. This review covers source/deployment eligibility, not link-abuse resistance or an executed service. Source and configuration review establishes a deployment path and conditional costs; this candidate was not executed or load-tested. Check current Cloudflare pricing before deploying.

Is Short open source?+

The upstream repository declares the MIT license. Read its terms at https://raw.githubusercontent.com/x-dr/short/a423cc35c656165b8d5a232ffe7e57202b83521c/LICENSE. Source code and contributor credit are available at https://github.com/x-dr/short.

Discussion · 0

sign in to comment →
No comments yet — be the first.