首页 全部接口 API文档 文章 贡献者 友链 赞助 关于
登录/注册

FEERAPI系统-V6.0.1

封面
# FeerApi(PHP + MySQL)免费 API 接口管理/发布系统 > 当前版本:v6.0.1(以 `config/config.php` 为准) > 运行模式:MySQL(`core/JsonDB.php` 为兼容层,底层仅使用 MySQL) FeerApi 是一个面向开发者的 API 接口聚合与发布系统,包含前台展示、在线测试、接口中转代理、用户投稿与审核、后台管理、调用统计与实时日志等功能,并提供 **Web 一键安装向导**,适合快速部署到服务器并开源发布。 --- ## 演示地址 - **线上演示**:`https://api.xunjinlu.fun` ## 演示截图 截图目录:`演示截图/`(数字命名,文件名固定) > 说明:以下为截图与页面功能的对应关系(你也可以按实际情况调整标题顺序/描述文字)。 ### 229.png ![229](https://www.xunjinlu.fun/img/229.png) ### 230.png ![230](https://www.xunjinlu.fun/img/230.png) ### 231.png ![231](https://www.xunjinlu.fun/img/231.png) ### 232.png ![232](https://www.xunjinlu.fun/img/232.png) ### 233.png ![233](https://www.xunjinlu.fun/img/233.png) ## 主要功能 ### 前台(官网) - **API 列表/搜索/分类**:`index.php`、`apis.php` - **API 详情页**:`api-detail.php` - 请求参数展示(JSON 美化) - 响应示例展示(自动 JSON 格式化) - 在线测试(通过 `api-proxy.php` 规避 CORS) - **文章/页面**:`articles.php`、`article.php`、`about.php`、`pages.php` - **友链**:`links.php`、`apply-link.php` - **首页合作伙伴**:首页底部新增响应式合作伙伴 Logo 网格,支持后台启用/关闭与可选跳转 - **首页公告横幅**:导航下方新增滚动公告条,支持点击弹窗放大查看完整内容 - **赞助我们**:`donate.php`(赞助榜单置顶展示,收款码区域位于下方) ### 用户后台(投稿者) - **注册/登录**:`user/register.php`、`user/login.php` - **用户权限分级**:注册时可选择“普通用户 / 开发者” - 普通用户:更聚焦密钥、积分与调用消费,不显示开发者投稿管理视图 - 开发者:保留原有投稿与接口管理全功能 - **第三方登录(可选)**:QQ / Gitee(见后台设置页) - **投稿 API / 编辑 API**:`user/api-add.php`、`user/api-edit.php` - 投稿后默认进入 **待审核**(`review_status=0`) - 二次编辑会触发重新审核 - API 详细文档已接入 Joe 编辑器(Markdown 工具栏) ### 管理员后台 - **控制台**:`admin/index.php`(趋势图 + 实时调用日志) - **API 管理**:`admin/apis.php` - 审核与运行状态分离(`review_status` 与 `runtime_status`) - 批量启用/禁用/维护(已避免与审核状态冲突) - **待审核/已拒绝**:`admin/pending-apis.php`、`admin/rejected-apis.php` - **调用统计**:`admin/stats.php` - **系统设置**:`admin/settings.php` - 中转代理基础路径 `api_proxy_base_path` - 站点标题/Logo/域名等 - **合作伙伴管理**:`admin/partners.php` - 支持合作伙伴名称、Logo、跳转链接、显示状态与排序管理 - 电脑端侧边栏与手机端“更多”页均可直达 - **公告管理**:`admin/announcements.php` - 支持公告发布、编辑、置顶、启用/关闭 - 公告内容编辑已接入 Joe 编辑器 - **赞助管理**:`admin/sponsors.php` - 管理员手动登记赞助者头像/名称/链接/赞助内容 - 支持 QQ 自动头像 与自定义头像链接 - 支持多条“固定最后”并保持其余随机排序 - **用户/反馈/评论/文章/友链**:`admin/users.php`、`admin/feedback.php`、`admin/comments.php`、`admin/articles.php`、`admin/links.php` - **内容编辑体验升级**:`admin/apis.php`、`admin/articles.php`、`admin/pages.php`、`user/api-add.php`、`user/api-edit.php` 已集成 Joe 编辑器,支持浅色/深色主题自适配 ### 代理与在线测试 - **API 中转代理**:`proxy.php` - 路由格式:`/{api_proxy_base_path}/{proxy_path}?query...` - SSRF 基础防护(禁止内网 IP) - 传递真实客户端 IP(`X-Forwarded-For` / `X-Real-IP`) - 记录调用统计(见下方统计) - **在线测试跨域代理**:`api-proxy.php` - 高仿浏览器请求头、自动解压(`CURLOPT_ENCODING`) - SSRF 防护、来源检查、简单频控 ### 调用统计 - 统计写入:`core/ApiCallLogger.php` - `fa_apis.call_count / last_call / heat` 更新 - `fa_api_call_logs` 记录每次调用 - 统计入口: - 后台统计页:`admin/stats.php` - 后台控制台趋势与实时日志:`admin/index.php`(依赖前端脚本与 Chart.js) ### 本地接口自动统计 - 目录:`api/` - 自动钩子:`api/.user.ini` + `api/auto-stats-prepend.php` - 本地接口文件无需再手动引入 `record.php`,按后台接口配置自动执行守卫与统计 --- ## 目录结构(核心) - `config/` - `config.php`:系统入口配置、安装检测、资产加载策略、站点配置、注入前端数据 - `database.php`:**不再随仓库提供**,由安装向导自动生成 - `core/` - `MySQLDB.php`:MySQL 连接与基础 CRUD - `JsonDB.php`:兼容层(保留旧类名/方法名,底层仅用 MySQL) - `UserAuth.php`:用户认证/第三方登录/绑定 - `Auth.php`:管理员认证 - `ApiCallLogger.php`:调用统计统一写入(`proxy.php` 与 `api/record.php` 共用) - `Security.php`:CSRF、过滤与安全工具 - `install/` - `index.php`:Web 安装向导(5 步) - `database.sql`:建表结构(安装时自动跳过 INSERT,保证空白库) - `install.lock`:安装锁(安装完成自动生成;重装需删除) - `admin/`:后台管理 - `user/`:用户后台 - `assets/`:前端静态资源与本地 vendor - `docs/`:部署与伪静态文档 --- ## 环境要求 - PHP:建议 **7.4+ / 8.x** - MySQL:建议 **5.7+ / 8.0** - 扩展:PDO MySQL、cURL、mbstring、openssl(建议) - Web 服务器:Nginx / Apache 均可 --- ## 一键安装(推荐) 1. 上传源码到站点目录(建议网站根目录)。 2. 访问域名首页: - 若未安装(不存在 `install/install.lock`),会自动跳转到 `/install/` 3. 按向导完成 5 步: - 服务器检测 - 数据库信息填写(默认 `localhost:3306`,其它为空) - 检测连接 - 创建数据库表结构(同时生成 `config/database.php`) - 创建管理员账号 4. 完成后进入后台登录:`/admin/login.php` 更详细说明见:`docs/install-deploy.md` --- ## 版本号规则 版本号采用 `主.中.小`(SemVer)规范,升级规则见:`docs/versioning.md` --- ## 伪静态 / 重写(Nginx 推荐) FeerApi 使用“通用重写”方案:真实文件优先,其它路径统一交给 `proxy.php` 判断是否为中转接口路径。 推荐规则(完整说明见 `docs/nginx-api-rewrite.md`): ```nginx location ^~ /install/ { try_files $uri $uri/ /install/index.php?$query_string; } location / { try_files $uri $uri/ $uri.php?$query_string @feerapi_proxy; } location @feerapi_proxy { rewrite ^ /proxy.php last; } ``` 示例配置文件: - `nginx.conf.example` --- ## 中转代理使用方式 1. 后台设置 `API 中转代理基础路径`(默认 `apis`) - 该值对应 `settings.api_proxy_base_path` 2. 为某个 API 设置 `proxy_path`(如 `weather`) 3. 外部访问: - `https://你的域名/{api_proxy_base_path}/{proxy_path}?city=beijing` - 例如:`https://example.com/apis/weather?city=beijing` `proxy.php` 会: - 根据 `proxy_path` 查找真实 `endpoint` - 透传请求方法/部分头/请求体 - 记录调用统计 --- ## 审核状态与运行状态(重要) 系统将 **审核状态** 与 **运行状态** 分离: - `review_status`:审核状态(1通过 / 0待审 / -1拒绝) - `runtime_status`:运行状态(1启用 / 0禁用) - `maintenance`:维护状态(1维护 / 0正常) 前台展示默认只显示: - `review_status = 1` 且 `runtime_status = 1` 的接口(见 `core/JsonDB.php` 的 `getApis()`) --- ## 数据库说明 安装时会导入 `install/database.sql` 的表结构。 核心表(节选): - `fa_admins`:管理员 - `fa_users`:用户 - `fa_apis`:API 主表(包含 `proxy_path`、审核/运行/维护状态、统计字段等) - `fa_api_call_logs`:调用日志 - `fa_settings`:系统设置 - `fa_categories`:分类 - `fa_articles`:文章 - `fa_links`:友链 - `fa_feedback`:反馈 --- ## 本地资源与加载策略 为提升访问速度与稳定性,系统对前端关键依赖采用: - **本地优先** - **远程兜底** - **并行预热** 本地资源位于:`assets/vendor/` 说明见:`assets/vendor/README.md` --- ## 常见问题(FAQ) ### 1. 重新安装怎么做? - 删除 `install/install.lock`,再访问 `/install/` ### 2. 为什么在线测试/代理会失败? - 目标接口可能禁止跨域/校验 Referer/Origin(在线测试已尽量模拟浏览器头) - SSRF 防护会禁止内网地址 - 频控限制:`api-proxy.php` 默认 2 秒内限制同 IP 重复请求 ### 3. 为什么某些接口不在前台显示? 检查 `fa_apis`: - `review_status` 是否为 1 - `runtime_status` 是否为 1 - `maintenance` 是否为 1(维护中会提示不可用) --- ## 安全说明(请务必阅读) - 系统提供代理与在线测试能力,请务必在生产环境开启必要的访问控制策略。 - `proxy.php` 与 `api-proxy.php` 已做基础 SSRF 防护,但仍建议配合 WAF/网关策略。 - 建议使用 HTTPS 部署,以保证复制、登录等浏览器能力正常。 --- ## License / 开源协议 本项目为开源免费项目。首次进入安装向导会弹出“开源部署协议”,请在开源发布前根据你的需求补充仓库 LICENSE 文件与协议内容。

评论 (6)

头像
尋鯨錄 2026-04-17 23:03:07
后续版本已重构,当前仅打算开源至V5.3.26
头像
尋鯨錄 2026-04-17 23:04:29
@尋鯨錄
后续版本已重构,当前仅打算开源至V5.3.26
后续版本以提供站点主题切换,api调用计费功能
头像
尋鯨錄 2026-04-17 23:10:15
忘记说了,代理中转接口支持自定义接口路径,具体在系统设置中配置即可
头像
尋鯨錄 2026-04-17 23:15:03
开源版存在部分bug,如果有的话,还请各位大佬,帮忙提交下修改谢谢((*^∀^))🙏🏻
头像
尋鯨錄 2026-04-19 21:21:02


用户/管理员。后台所有界面均已经重构✌︎˶╹ꇴ╹˶✌︎
头像
尋鯨錄 2026-04-20 04:04:26