#ifndef _COMMON_H_ #define _COMMON_H_ //#include // //typedef u_int8_t uint8_t; //typedef u_int16_t uint16_t; //typedef u_int32_t uint32_t; //typedef u_int64_t uint64_t; #include #define VERSION "1.3.0-dev" #define TRUE 1 #define FALSE 0 #define DNS_PORT 53 #define ADGUARD_PORT 80 #define DIVERTER_PORT 5353 #define DOMESTIC_PORT 4053 #define FOREIGN_PORT 6053 #define DIVERTER_TIMEOUT 6 #define ADGUARD_USER "admin" #define ADGUARD_PASSWD "adguard" #define DNSPROXY_BIN "dnsproxy" #define OVERTURE_BIN "overture" #define ADGUARD_BIN "AdGuardHome" #define WORK_DIR "/etc/cleardns/" //extern char **adguard_command; //extern char **overture_command; //extern char **domestic_dnsproxy_command; //extern char **foreign_dnsproxy_command; //void load_start_command(char *adguard_workdir, char *overture_config, char *upstream_config, int is_debug); char* show_bool(uint8_t value); char* read_file(const char *file); void save_file(const char *file, const char *content); void string_list_debug(char *describe, char **string_list); void uint32_list_debug(char *describe, uint32_t **uint32_list); uint8_t check_port(uint16_t port); uint16_t gen_rand_num(uint16_t limit); char* uint32_to_string(uint32_t number); char* gen_bcrypt(const char *data); int run_command(const char *command); void create_folder(const char *folder); char* string_init(const char *str); char* string_join(const char *base, const char *add); #include "cJSON.h" char* to_json(const char *config_file); cJSON* json_field_get(cJSON *entry, const char *field); void json_field_replace(cJSON *entry, const char *field, cJSON *content); #endif