# qingniu-cloud-demo **Repository Path**: bodhiyg/qingniu-cloud-demo ## Basic Information - **Project Name**: qingniu-cloud-demo - **Description**: 浏览器用户行为分析、访客分析、访客防御、指纹识别、JA4、H2等,恶意流量识别。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2024-05-14 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: 访客防御, 访客分析, 用户行为分析, user-agent, 指纹识别 ## README # 用户行为分析 重要提示,项目处于早期demo阶段。不保证未来不做破坏性更新。没有进入实际生产环境慎用。 重要提示,项目处于早期demo阶段。不保证未来不做破坏性更新。没有进入实际生产环境慎用。 重要提示,项目处于早期demo阶段。不保证未来不做破坏性更新。没有进入实际生产环境慎用。 ## 一、visitor(来源解析) 1. ip地址分析 - 1.2 [ip2region][ip2region] 离线获取 - 1.2 [ipwhois][ipwhois] API获取 - 1.3 [纯真IP库][纯真IP库] API获取 - 1.4 其他IP数据库 2. User-Agent分析,目前采用[YAUAA][yauaa]实现。 3. Referer来源分析 4. Accept-Language 客户端语言分析 5. url访问链接 6. 访客指纹,[参考ja4][ja4]。[实现使用fingerproxy代理模式][fingerproxy]。 - 6.1 Cookies指纹,默认有效期为90天。每次访问刷新有效期;用于JA4指纹关联。 - 6.3 [A4指纹][fingerproxy],单设备上多浏览器相对稳定。 - 6.4 [Akamai H2指纹][fingerproxy],不稳定暂不采用。如未来有稳定的实现方案在启用。 7. 客户端时区分析(在JS-SDK模式下生效) ## 二、defense(防御) 1. 指纹 黑白名单 2. IP地址黑白名单 3. 基于地址地区 4. 基于来源RUL 5. 基于访问URL 6. 基于客户端语言(是否唯一语言,是否首选等) 7. 访问类型(PC、手机、平板) 8. 访问设备 9. 访问系统(安卓 IOS 系统具体类型 及版本号) 10. 客户端类型(移动应用、浏览器、爬虫等) 11. 客户端名称(谷歌、QQ、微信) 12. 客户端版本(具体版本号) ## 三、analysis(分析) ### 1、访问明细 ### 2、事件分析(用户自定义-点击事件) ### 3、流量分析 - 3.1 趋势分析 - 3.2 24小时分析 ### 4、来源分析 ### 5、访问者信息 - 5.1 系统环境 - 5.2 环境详情 - 5.3 地域分布 - 5.4 运营商(宽带) - 5.5 指纹分析 - 5.6 时间区分析 - 5.7 IP风控分享 - 5.8 IP地理位置分析 - 5.9 IP时区分析 - 5.10 用户设备分析 - 5.11 用户语言分析 - 5.12 用户浏览器分析 ## 四、entrance(入口点) 1. nginx访问lua脚本接入 2. php脚本接入 3. API接入 4. JS-SDK接入 ## 核心依赖说明 - [yauaa][yauaa] 分析 useragent 字符串(以及可用的 User-Agent 客户端提示)并提取尽可能多的相关属性。 - [ip2region][ip2region] 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了队列主流编程语言的xdb数据生成和查询客户端实现。 - [ipwhois][ipwhois] IP地理定位API - [纯真IP库][纯真IP库] IP地理定位API - [ja4][ja4] JA4+网络指纹 - [fingerproxy][fingerproxy] 是一个 HTTPS 反向代理。它创建 JA4、Akamai HTTP2 指纹,并通过 HTTP 请求标头转发到后端。 - [www-project-netryx][www-project-netryx]JA4 JAVA实现需要自行打包编译。armor原版只支持JA3、H2 ``` org.owasp armor-reactor-netty 1.0.0 ``` ## 目录结构 qingniu-core 项目公共模块。 qingniu-doc 项目资源、及相关文档。 qingniu-gateway 网关聚合接口,生成指纹 qingniu-meta 元数据维护模块,提供元数据相关维护。 qingniu-visitor 访客分析模块,分析访客每次请求并集成防御。 qingniu-analyze 提供访客数据分析API接口。 [yauaa]: https://yauaa.basjes.nl/ [ipwhois]: https://ipwhois.io/ [ja4]: https://github.com/FoxIO-LLC/ja4 [fingerproxy]: https://github.com/wi1dcard/fingerproxy [纯真IP库]: https://www.cz88.net/ [ip2region]: https://github.com/lionsoul2014/ip2region [www-project-netryx]: https://github.com/OWASP/www-project-netryx