anti-AD/make-addr.php

54 lines
1.7 KiB
PHP
Raw Normal View History

2017-12-31 20:18:41 +08:00
<?php
2019-12-14 10:45:22 +08:00
/**
* 根据下载的原始文件生成dnsmasq的屏蔽广告用途的配置
*
* @file make-addr.php
* @author gently
* @date 2017.12.31
*
*
*/
2017-12-31 20:18:41 +08:00
define('ROOT_DIR', __DIR__ . '/');
2018-10-04 21:34:10 +08:00
set_time_limit(600);
2019-12-14 16:23:37 +08:00
error_reporting(0);
2017-12-31 20:18:41 +08:00
if(PHP_SAPI != 'cli'){
die('nothing.');
}
$arr_blacklist = require ROOT_DIR . 'lib/black_domain_list.php';
$arr_whitelist = require ROOT_DIR . 'lib/white_domain_list.php';
2020-01-08 18:34:38 +08:00
require ROOT_DIR . 'lib/writerFormat.class.php';
require ROOT_DIR . 'lib/addressMaker.class.php';
2017-12-31 20:18:41 +08:00
//白名单机制增强加入dead hosts
$arr_dead_hosts = file(ROOT_DIR . 'origin-files/base-src-dead-hosts.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
$arr_dead_hosts=array_fill_keys($arr_dead_hosts, 1); //这里设置为1表示命中的子域名同时加白
$arr_whitelist = array_merge($arr_dead_hosts, $arr_whitelist);
$arr_result = array();
$easylist = file_get_contents('./origin-files/base-src-easylist.txt');
$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_from_easylist($easylist));
2018-10-04 21:34:10 +08:00
$hosts = file_get_contents('./origin-files/base-src-hosts.txt');
$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_list($hosts));
2018-10-08 10:59:06 +08:00
$strict_hosts = file_get_contents('./origin-files/base-src-strict-hosts.txt');
$arr_result = array_merge_recursive($arr_result, addressMaker::get_domain_list($strict_hosts, true));
$arr_result = array_merge_recursive($arr_result, $arr_blacklist);
2019-12-17 21:20:41 +08:00
$reflect = new ReflectionClass('writerFormat');
$formatterList = $reflect->getConstants();
$arr_output = array();
foreach ($formatterList as $name => $formatObj){
$arr_output[] = '['. $name . ']' . addressMaker::write_to_conf($arr_result, $formatObj);
}
2020-01-09 15:32:31 +08:00
echo implode('---', $arr_output);
2019-12-14 10:45:22 +08:00