From 7a861e733f9714e71f97db27739fd02cf3d3e30b Mon Sep 17 00:00:00 2001 From: aixiao Date: Wed, 16 Oct 2024 11:41:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EMD=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ denyip | Bin 1201136 -> 1201144 bytes main.c | 3 ++- main.o | Bin 50080 -> 50088 bytes 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf26cc4 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# denyip + +大陆服务器禁止国外IP访问 + +## build + +~~~bash +# Debian System +apt install build-essential +apt install golang +apt install tcpdump procps iptables ipset + +root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP# make clean; make +rm -rf denyip ipquery +rm -rf main.o common.o ip2region/ip2region.o ip2region/xdb_searcher.o qqwry/qqwry.o +gcc -g -Os -Wall -Iip2region -Iqqwry -c main.c -o main.o +gcc -g -Os -Wall -Iip2region -Iqqwry -c common.c -o common.o +gcc -g -Os -Wall -Iip2region -Iqqwry -c ip2region/ip2region.c -o ip2region/ip2region.o +gcc -g -Os -Wall -Iip2region -Iqqwry -c ip2region/xdb_searcher.c -o ip2region/xdb_searcher.o +gcc -g -Os -Wall -Iip2region -Iqqwry -c qqwry/qqwry.c -o qqwry/qqwry.o +gcc -g -Os -Wall -Iip2region -Iqqwry -o denyip main.o common.o ip2region/ip2region.o ip2region/xdb_searcher.o qqwry/qqwry.o -lm -static +root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP# +~~~ + +### help + +~~~bash + +root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP# ./denyip -h + DenyIp +Linux system firewall, reject non-Chinese IP +Email: aixiao@aixiao.me +Version: 0.1 +Usage: ./denyip [-i eth0|-h|-?] [start|stop] +Options: + stop Enable firewall rules + start Disable firewall rules +Parameters: + -h|? Help info + -i interface name + + +root@niuyuling:~/DenyIP# killall denyip # 关闭 +root@niuyuling:~/DenyIP# ./denyip -i eth0 # 启动 +root@niuyuling:~/DenyIP# ./denyip start # Iptables 规则打开 +root@niuyuling:~/DenyIP# ./denyip stop # Iptables 规则关闭 +~~~ diff --git a/denyip b/denyip index 1fbbe51db99045462617353c3740f6e8a7ebf266..c02ca96194151b3b35478ac24f7d8bddcbce8728 100644 GIT binary patch delta 4927 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 diff --git a/main.c b/main.c index 6837943..e69d163 100644 --- a/main.c +++ b/main.c @@ -307,7 +307,7 @@ int main(int argc, char *argv[]) perror("popen failed"); return 1; } - + // 创建足够大的缓冲区来存储命令输出 char buffer[1024 * 2]; // 2KB 缓冲区 size_t bytesRead = fread(buffer, 1, sizeof(buffer) - 1, fp); @@ -349,6 +349,7 @@ int main(int argc, char *argv[]) iteration++; if (iteration >= 3600) { + iteration = 0; printf("准备重启进程...\n"); restart_process(pid1, pid2, argv); } diff --git a/main.o b/main.o index 347f7e43fd4515aad41d20b78506f5ce9ed17311..c0c112fb96603f85ceda85063fffa3fc6c3cf664 100644 GIT binary patch delta 3045 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