核心功能概述
- 请求验证与权限控制
◦ 检测代理请求并拒绝(403错误)。
◦ 支持IP白名单授权($enableIpAuth设为true时生效),非白名单IP会返回408错误。
◦ 限制IP调用频率($maxCallsPerIp),超限返回429错误。
- URL解析逻辑
◦ 通过多个API接口($apis数组)并行请求解析目标URL。
◦ 优先使用第一个有效响应的API结果,确保效率。
◦ 验证解析结果的URL有效性,支持.m3u8、.mp4等格式识别。
- 响应与错误处理
◦ 成功时返回解析后的URL、类型、响应时间等信息(200状态码)。
◦ 所有API解析失败时返回404错误,并附带详细错误信息。
关键配置参数
• $enableIpAuth:是否开启IP授权(false为关闭)。
• $allowedIps:允许访问的IP白名单。
• $maxCallsPerIp:单个IP每日最大调用次数。
• $customUrl:自定义URL(可能用于默认返回或测试)。
技术实现细节
• IP获取:通过X-Forwarded-For、X-Real-IP、REMOTE_ADDR多层获取客户端IP,支持代理检测。
• 并发请求:使用curl_multi_init()实现多API并行请求,提升解析效率。
• 文件操作:记录IP调用次数到ip_call_counts/目录下的文本文件,需确保目录可写。
安全与性能优化
• 移除服务器敏感响应头(Server、X-Powered-By),降低信息泄露风险。
• 设置X-Robots-Tag: noindex防止搜索引擎收录。
• 超时控制($maxExecutionTime = 5秒),避免请求阻塞。
使用说明
- 访问时需携带?url=目标URL参数,例如:http://yourdomain.com/json.php?url=https://example.com。
- 解析成功会返回JSON格式的URL结果,失败则返回错误信息。
{
"code": 200,
"msg": "读取缓存成功",
"success": "1",
"时间": "2025-06-19 14:57:23",
"类型": "m3u8",
"url": "https:\/\/api.jerryhtom.cn\/video.php?vkey=109c0df439d5e08963607bcec7d49f1a0311c9a31d76eea48715a7b236bbe940bea31aedc3f560754bfb5edd6e6d909d26ed3a3d6c57852993f64a6627fcab4f&act=amumu.m3u8&type=m3u8",
"原始URL": "https:\/\/v.qq.com\/x\/cover\/mzc00200n53vkqc\/i4101atpgx9.html",
"响应时间": "0.00秒",
"当前IP调用次数": 12,
"是否代理请求": false,
"是否授权IP": true,
"版权信息": "© 2025 Your Company - All Rights Reserved"
}
- 首次使用需确保ip_call_counts/目录存在且权限为0755。
使用前配置config.json 里面的内容
版权属于:Amumu社长
本文链接:https://www.jerryhtom.cn/archives/60/
本站未注明转载的文章均为原创,并采用
CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!