修改目录结构
This commit is contained in:
19
Makefile
19
Makefile
@@ -1,17 +1,16 @@
|
||||
CROSS_COMPILE ?=
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
STRIP := $(CROSS_COMPILE)strip
|
||||
CFLAGS += -g -Os -Wall
|
||||
CFLAGS += -g -Os -Wall -Iip2region -Iqqwry
|
||||
LIBS = -lm -static
|
||||
OBJ := denyip
|
||||
BIN := denyip
|
||||
|
||||
all: main.o ip2region.o xdb_searcher.o qqwry.o
|
||||
$(CC) $(CFLAGS) -o $(OBJ) $^ $(LIBS)
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
all: main.o ip2region/ip2region.o ip2region/xdb_searcher.o qqwry/qqwry.o
|
||||
$(CC) $(CFLAGS) -o $(BIN) $^ $(LIBS)
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
clean:
|
||||
rm -rf *.o
|
||||
rm -rf $(OBJ)
|
||||
|
||||
|
||||
rm -rf $(BIN)
|
||||
rm -rf main.o ip2region/ip2region.o ip2region/xdb_searcher.o qqwry/qqwry.o
|
||||
|
||||
Binary file not shown.
Binary file not shown.
13
main.c
13
main.c
@@ -145,6 +145,7 @@ void restart_process(pid_t pid1, pid_t pid2, char *argv[])
|
||||
|
||||
void cleanup_(int signum)
|
||||
{
|
||||
int r;
|
||||
printf("Received signal %d, cleaning up...\n", signum);
|
||||
|
||||
// 终止子进程
|
||||
@@ -154,10 +155,14 @@ void cleanup_(int signum)
|
||||
if (pid2 > 0) {
|
||||
kill(pid2, SIGTERM);
|
||||
}
|
||||
// 终止所有 tcpdump 进程
|
||||
system("pkill tcpdump");
|
||||
|
||||
// 退出主进程
|
||||
// 终止所有 tcpdump 进程
|
||||
r = system("pkill tcpdump");
|
||||
if (r == 0) {
|
||||
puts("pkill tcpdump");
|
||||
}
|
||||
|
||||
// 退出主进程
|
||||
exit(0);
|
||||
|
||||
return ;
|
||||
@@ -242,6 +247,7 @@ int main(int argc, char *argv[])
|
||||
r = system("apt -y install tcpdump > /dev/null 2>&1");
|
||||
}
|
||||
|
||||
|
||||
// 子进程
|
||||
pid1 = fork(); // 创建子进程
|
||||
if (pid1 == 0) {
|
||||
@@ -262,6 +268,7 @@ int main(int argc, char *argv[])
|
||||
sleep(3);
|
||||
}
|
||||
}
|
||||
|
||||
// 子进程
|
||||
pid2 = fork(); // 创建子进程
|
||||
if (pid2 == 0) {
|
||||
|
||||
@@ -349,6 +349,14 @@ int get_location(char *ip)
|
||||
|
||||
char *qqwry_(char *ip)
|
||||
{
|
||||
char *qqdb_path = "qqwry.dat";
|
||||
if (access(qqdb_path, F_OK) == -1) { // 判断 ip2region 地址定位库是否存在
|
||||
qqdb_path = "qqwry/qqwry.dat";
|
||||
if (access(qqdb_path, F_OK) == -1) {
|
||||
printf("qqwry.dat DOESN'T EXIST!\n");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
qqwry_init("qqwry.dat");
|
||||
|
||||
|
||||
BIN
qqwry/qqwry.o
Normal file
BIN
qqwry/qqwry.o
Normal file
Binary file not shown.
Reference in New Issue
Block a user