# DenyIP

## 概述

`DenyIP` 是一个用于保护大陆服务器免受非本地业务访问的防火墙工具。该工具能够高效地捕获网络数据包、提取源IP地址、进行地理位置判断，并将非大陆IP地址添加到IP黑名单中，从而严格限制非大陆来源的访问。

### 构建项目

克隆项目仓库：

```bash
git clone https://git.aixiao.me/DenyIP-go.git
cd DenyIP-go
```

### 构建

编译项目：

```bash
go build -o denyip
```

### 命令行选项

```bash
root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP-go# ./denyip -h
                Denyip firewall
        Version 0.1
        E-mail: aixiao@aixiao.me
        Date: 20250102
Usage of ./denyip:
  -child
        子进程模式
  -d    守护进程模式
  -f string
        指定 BPF 过滤器 (default "tcp")
  -h
  -help
        display this message
  -i string
        指定要使用的网络接口
  -l    列出可用的网络接口
  -o string
        保存捕获数据的输出文件（可选）
  -s string
        -s start 启动 Iptables 规则
        -s stop 停止 Iptables 规则
root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP-go#
```

### 示例命令

- **启动守护进程**：

  ```bash
  ./denyip -i eth0 -f tcp
  ./denyip -d -i eth0 -f "tcp"
  ```

- **启用Iptables规则**：

  ```bash
  ./denyip -s start
  ```

- **禁用Iptables规则**：

  ```bash
  ./denyip -s stop
  ```

- **查看帮助信息**：

  ```bash
  ./denyip -h
  ```

- **关闭守护进程**：

  ```bash
  killall -15 denyip
  ```

## 贡献

欢迎贡献代码和提出改进建议！请通过 Pull Request 或 Issue 的方式提交。

## 联系信息

- **邮箱**：<aixiao@aixiao.me>
- **日期**：20241024

## 许可证

本项目遵循 GNU 许可证，详情参见 [LICENSE](LICENSE) 文件。

---

希望这个 `README.md` 文件能够帮助您更好地介绍和使用 `DenyIP` 项目。如果有任何其他需求或修改，请随时告知。
