logo
0
0
WeChat Login
chore: initial push to CNB loli/golink

GoLink 短链接跳转工具

纯AI编写,一个零依赖数据库服务器、开箱即用的 PHP 短链接跳转与统计系统。使用内置的 SQLite 数据库;自带现代化的管理后台、访问统计与数据导入导出能力。

仓库:

快速开始

  1. 克隆代码并放置到 Web 根目录(或虚拟主机目录)
  2. 确保 PHP 启用 pdo_sqlite 扩展
  3. 访问站点根路径,将自动重定向到 /admin/
  4. 首次进入 /admin/login.php 会跳转到 /admin/setup.php 进行初始化:
    • 设置管理员用户名与密码
  5. 初始化后使用新账号登录后台即可使用

注意:系统在首次访问时会自动创建 data/ 目录与 data/database.db 文件。若提示权限问题,请确保 Web 进程对 data/ 目录拥有读写权限。

伪静态与路由配置

  • Apache 配置:项目根目录已提供 .htaccess,开启 mod_rewrite 后可直接使用。

  • Nginx 伪静态配置:

location / { try_files $uri $uri/ /index.php?$query_string; } location /admin { try_files $uri $uri/ /admin/index.php?$query_string; } location ~ ^/([a-zA-Z0-9]+)/?$ { try_files $uri $uri/ /index.php?$query_string; } # 保护敏感文件 location ~ \.(db|conf)$ { deny all; } location /includes/ { deny all; } location /data/ { deny all; }

技术栈与运行环境

  • PHP ≥ 7.4(建议 8.x)
  • 必须启用扩展:PDO、pdo_sqlite
  • Web 服务器:Apache/Nginx/IIS 任意可运行 PHP 的环境
  • 数据库:SQLite(文件位于 data/database.db,启动后自动创建)

功能特性

  • 短链接生成与管理
    • 自定义短码,自动去重
    • 可配置标题、描述(用于中间跳转页)、备注(仅管理员可见)
    • 支持设置过期时间、启用/禁用链接
  • 跳转页体验
    • 可配置跳转延迟(0 表示直接 302 跳转)
    • 可选展示目标 URL
    • 自定义背景图
    • 倒计时与进度动画、移动端友好
  • 访问统计
    • 记录 IP、UA、Referer、访问时间
    • 今日访问量、总点击量、热门链接
    • 访问日志筛选(按链接、日期、IP、来源)
    • 设备类型/浏览器/操作系统识别
  • 管理后台
    • 仪表盘、链接管理、访问统计、操作日志、系统设置
    • 明暗主题切换、后台背景图定制
    • 账户管理(修改用户名/密码)
  • 数据与配置
    • SQLite 单文件存储,便于备份迁移
    • JSON 导出与导入(支持增量/全覆盖)
    • 可配置最大访问日志数量与保留天数
  • 调试与诊断
    • 可开关调试模式(展示错误与写入 debug.log)
    • 系统状态检查页(PHP 版本、扩展、文件权限、表结构等)

目录结构

├─ admin/ # 管理后台(仪表盘、链接管理、设置、日志、系统检查) ├─ includes/ # 核心逻辑与工具 │ ├─ config.php # 全局配置、调试开关、日志、会话等 │ ├─ database.php # 数据层(SQLite 连接、表结构、CRUD、导入导出) │ ├─ functions.php # 通用函数(校验、分页、时间/数字格式化等) │ └─ auth.php # 登录鉴权、会话、初始管理员创建 ├─ templates/ # 前台模板 │ ├─ redirect.php # 跳转中间页(可配置延迟/样式) │ └─ 404.php # 404 页面 ├─ assets/ │ ├─ css/style.css # 通用样式 │ └─ js/main.js # 前端通用交互(复制、验证、弹窗等) ├─ index.php # 前台入口(解析短码、跳转或 404) └─ data/ # 数据目录(首次运行自动创建)