rutiksdshinde/Flask-based-URL-shortener
GitHub: rutiksdshinde/Flask-based-URL-shortener
一个基于 Flask 的智能短链接服务,通过条件重定向规则、链接生命周期控制和点击分析,解决了通用短链接工具缺乏精细化管理和数据洞察的问题。
Stars: 0 | Forks: 0
# LinkIntel 短链接工具(链接智能层)
一个功能丰富的 Flask 短链接工具,超越了基础的网页重定向,新增了以下功能:
- **条件重定向**,基于规则实现(设备、地理位置/国家、访问时间、来源页面)
- **实时点击分析**(设备/浏览器 + 国家 + 来源页面 + 时间线)
- 针对可疑流量模式的**异常检测**
- **链接控制**:过期时间(日期/时间或小时数)、点击次数限制、启用/停用
- 针对敏感链接的**密码保护**
- 为每个创建的短链接自动**生成二维码**
- **管理后台 UI**:管理链接、编辑设置、添加/删除规则、查看分析数据
## 链接
- **作品集:** https://prismatic-alpaca-376b6f.netlify.app
- **LinkedIn:** https://www.linkedin.com/in/rutik-shinde-09a438237
- **GitHub:** https://github.com/rutiksdshinde
## 功能 / 路由
- `GET /` — 主页
- `GET/POST /create` — 创建新的短链接
- `/` — 重定向处理器 + 点击追踪
- `GET /links` — 列出所有链接
- `GET /link/` — 链接详情 + 分析数据
- `GET /link//edit` — 编辑链接设置
- `POST /link//delete` — 删除链接
- `GET/POST /link//rules` — 管理条件重定向规则
- `GET /analytics` — 分析仪表板(摘要 + 近期点击)
## API(可选)
如果配置了 `API_KEY`,所有 API 端点都需要提供该 API 密钥。
- `POST /api/shorten` — 创建短链接
- `GET /api/link/` — 获取链接信息
- `GET /api/link//stats` — 获取统计摘要
- `POST /api/link//rules` — 添加重定向规则
- `GET /api/stats` — 整体分析摘要
## 设置
### 1) 安装依赖
在此文件夹下运行:
```
python -m pip install -r requirements.txt
```
### 2) 运行服务器
```
python app.py
```
默认情况下,它将启动于:
- `http://127.0.0.1:5000`
- (同时会通过您的局域网 IP 暴露)
## 注意事项
- 本项目默认使用本地 SQLite 数据库(`sqlite:///url_shortener.db`)。
- 生成的二维码存放在 `static/qr/` 目录下。
## 项目结构
- `app.py` — Flask 应用 + 路由
- `models/` — SQLAlchemy 模型(`link`、`click`、`redirect_rule`)
- `services/` — 业务逻辑:
- `shortener.py` — 创建/更新/删除链接
- `redirect_engine.py` — 根据规则处理重定向
- `analytics.py` — 数据聚合 + 异常检测
- `templates/` — HTML 模板
- `static/` — CSS 文件和生成的二维码图片
输出结果
   
标签:Flask, URL缩短服务, 二维码, 代码示例, 后端开发, 数据分析, 网络测绘, 调试辅助, 逆向工具