https://github.com/happylesliealexander/shorturl
基于Cloudflare的短链接
https://github.com/happylesliealexander/shorturl
cloudflare-pages shortid
Last synced: 4 months ago
JSON representation
基于Cloudflare的短链接
- Host: GitHub
- URL: https://github.com/happylesliealexander/shorturl
- Owner: HappyLeslieAlexander
- License: gpl-3.0
- Created: 2024-06-25T10:12:22.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-26T07:06:29.000Z (11 months ago)
- Last Synced: 2024-12-03T09:09:39.810Z (6 months ago)
- Topics: cloudflare-pages, shortid
- Language: JavaScript
- Homepage: https://tgdev.top/
- Size: 46.9 KB
- Stars: 8
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ShortURL
# 介绍
一个使用 Cloudflare Pages 创建的 URL 缩短器
### 1.利用 Cloudflare Pages 部署
1. Fork
2. 登录到 [Cloudflare](https://dash.cloudflare.com) 控制台。
3. 在 Cloudflare 控制台,选择 Workers & Pages > Create application > Pages > Connect to Git。
4. 选择 Fork 的仓库。
5. 选中 Fork 的仓库,点击Begin setup完成部署。
6. 在 Cloudflare 控制台创建 D1 数据库,依次点击 Workers & Pages > D1 > Create database > Dashboard,输入 Database name 点击 Create 完成数据库的创建。
7. 点击 Console,输入以下 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 PRIMARY KEY NOT NULL,
`url` text ,
`slug` text,
`referer` text,
`ua` text ,
`ip` text ,
`create_time` DATE
);
```8. 选择部署完成的 linklet 项目,在 Cloudflare 控制台依次点击Settings > Functions > Add bindings,输入 Variable name 值 **DB** 并选择 D1 Database **linklet**,点击 Save 保存,设置如下表:
| Variable name | D1 database |
| :------------ | :---------- |
| DB | linklet |9. 为了生效 D1 数据库配置,需完成项目的重新部署。
## API
### 生成随机短链接
POST https://tgdev.top/create
Content-Type: application/json{
"url": "https://leslieblog.top"
}### 生成指定 slug 短链接
POST https://tgdev.top/create
Content-Type: application/json{
"url": "leslieblog.top",
"slug": "leslie"
}## 审查
暂时没有审查,后续可能会调整