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 文件和生成的二维码图片 输出结果 ![替代文本](https://raw.githubusercontent.com/rutiksdshinde/Flask-based-URL-shortener/main/1.png) ![替代文本](https://raw.githubusercontent.com/rutiksdshinde/Flask-based-URL-shortener/main/2.png) ![替代文本](https://raw.githubusercontent.com/rutiksdshinde/Flask-based-URL-shortener/main/3.png) ![替代文本](https://raw.githubusercontent.com/rutiksdshinde/Flask-based-URL-shortener/main/4.png)
标签:Flask, URL缩短服务, 二维码, 代码示例, 后端开发, 数据分析, 网络测绘, 调试辅助, 逆向工具