
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/docker/pulls/thib3113/unifi-blockips-srv.svg](https://hub.docker.com/r/thib3113/unifi-blockips-srv)
unifi-blockips-srv是一个用于管理UniFi控制器IP黑名单的服务镜像,通过HTTP API接口实现IP地址的动态添加与删除。该服务与UniFi控制器交互,将指定IP加入或移出预配置的防火墙规则与IP组,适用于动态阻止***IP访问UniFi网络环境,支持IPv4/IPv6,并兼容多种硬件架构。
linux/amd64、linux/arm64、linux/arm/v7镜像,兼容x86服务器及ARM设备(如树莓派).env文件配置,支持自定义服务端口| key | 描述 | 是否必填 |
|---|---|---|
| UNIFI_CONTROLLER_IP | UniFi控制器的IP地址或FQDN | 是 |
| UNIFI_CONTROLLER_PORT | UniFi控制器端口(通常为8443或443) | 是 |
| UNIFI_USERNAME | UniFi控制器登录用户名 | 是 |
| UNIFI_PASSWORD | UniFi控制器登录密码 | 是 |
| UNIFI_SITE_NAME | UniFi站点名称 | 否(默认第一个站点) |
| UNIFI_FW_RULE_NAME | IPv4防火墙规则名称 | 是 |
| UNIFI_FW_RULE_NAME_V6 | IPv6防火墙规则名称 | 是 |
| UNIFI_GROUP_NAME | IPv4阻止IP组名称 | 是 |
| UNIFI_GROUP_NAME_V6 | IPv6阻止IP组名称 | 是 |
| ADD_CHECKSUM | 添加IP操作的令牌SHA256校验值 | 否(建议配置) |
| RM_CHECKSUM | 删除IP操作的令牌SHA256校验值 | 否(默认同ADD_CHECKSUM,建议配置) |
| port | 服务监听端口 | 否(默认3000) |
镜像标签遵循以下规则:
latest:最新稳定版本sha-<sha>:特定提交的精确构建(<sha>为提交的短SHA值)1:主版本号为1的最新版本(如1.*.*)1.1:主版本1、次版本1的最新版本(如1.1.*)1.1.1:主版本1、次版本1、补丁版本1的最新版本(如1.1.1*)添加IP到阻止列表
通过POST请求添加IP,需验证ADD_CHECKSUM令牌:
bashPOST /?token=<令牌>&ips[]=192.168.1.100&ips[]=10.0.0.5
从阻止列表删除IP
通过DELETE请求删除IP,需验证RM_CHECKSUM令牌:
bashDELETE /?token=<令牌>&ips[]=192.168.1.100&ips[]=10.0.0.5
令牌校验说明
令牌需通过SHA256计算校验值,可使用在线工具生成:https://emn178.github.io/online-tools/sha256.html
为增强容器安全性,可通过/app/.env文件(遵循.env格式)传递环境变量,而非命令行参数。
使用前需在UniFi控制器中完成以下配置(参考https://github.com/tusc/blockips-unifi#preparation%EF%BC%89%EF%BC%9A
UNIFI_FW_RULE_NAME和UNIFI_FW_RULE_NAME_V6)UNIFI_GROUP_NAME和UNIFI_GROUP_NAME_V6)示例配置:
UNIFI_FW_RULE_NAME设为Scheduled Block GroupUNIFI_GROUP_NAME设为Block_Groupbashdocker run -d \ -e UNIFI_CONTROLLER_IP=192.168.1.1 \ -e UNIFI_CONTROLLER_PORT=8443 \ -e UNIFI_USERNAME=admin \ -e UNIFI_PASSWORD=password \ -e UNIFI_FW_RULE_NAME="Scheduled Block Group" \ -e UNIFI_GROUP_NAME="Block_Group" \ -e ADD_CHECKSUM=2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae \ -p 3000:3000 \ docker.xuanyuan.run/thib3113/unifi-blockips-srv:latest
yamlversion: '3.7' services: unifi-blocker: image: docker.xuanyuan.run/thib3113/unifi-blockips-srv:latest environment: port: 3000 UNIFI_CONTROLLER_IP: 192.168.1.1 UNIFI_CONTROLLER_PORT: 8443 UNIFI_USERNAME: admin UNIFI_PASSWORD: password UNIFI_SITE_NAME: default UNIFI_FW_RULE_NAME: "Scheduled Block Group" UNIFI_FW_RULE_NAME_V6: "Scheduled Block Group V6" UNIFI_GROUP_NAME: "Block_Group" UNIFI_GROUP_NAME_V6: "Block_Group_V6" ADD_CHECKSUM: 2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae RM_CHECKSUM: fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9 ports: - "3000:3000" restart: unless-stopped
通过Crowdsec的自定义bouncer调用服务API,实现动态IP阻止。创建如下bash脚本(保存为crowdsec-bouncer.sh):
bash#!/bin/bash IP=$2 DURATION=$3 REASON=$4 JSON_OBJECT=$5 # 服务访问URL URL=http://unifi-blocker-ip:3000 # 日志文件路径 LOG=/var/log/bouncer.log case $1 in add) # 添加IP到阻止列表 /usr/bin/curl -k --location --request POST "${URL}?token=<添加令牌>&ips=${IP}" >> ${LOG} 2>&1 ;; del) # 从阻止列表删除IP /usr/bin/curl -k --silent --location --request DELETE "${URL}?token=<删除令牌>&ips=${IP}" >> ${LOG} 2>&1 ;; *) echo "未知操作: $1" >> ${LOG} exit 1 ;; esac
配置Fail2ban通过服务API阻止***IP:
/etc/fail2ban/action.d/unifi-ban.conf:ini[Definition] actionstart = actionstop = actioncheck = actionban = /usr/bin/curl -k --location --request POST 'http://unifi-blocker-ip:3000?token=<添加令牌>&ips=<ip>' actionunban = /usr/bin/curl -k --silent --location --request DELETE 'http://unifi-blocker-ip:3000?token=<删除令牌>&ips=<ip>'
/etc/fail2ban/jail.d/your-jail.local):ini[your-jail] banaction = unifi-ban enabled = true # 其他jail配置...
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务