diff --git a/README.en.md b/README.en.md index 0122636..676ade9 100644 --- a/README.en.md +++ b/README.en.md @@ -30,6 +30,7 @@ Demo URL: [https://iplist.opencck.org](https://iplist.opencck.org) | ipset | Dnsmasq ipset | | clashx | ClashX | | kvas | Keenetic KVAS | +| amnezia | Amnezia filter list | ## Configuration diff --git a/README.md b/README.md index cffca32..2e22e8f 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Demo URL: [https://iplist.opencck.org](https://iplist.opencck.org) | ipset | Dnsmasq ipset | | clashx | ClashX | | kvas | Keenetic KVAS | +| amnezia | Amnezia filter list | ## Настройки Конфигурационные файлы хранятся в `config/<группа>/<портал>.json`. Каждый JSON файл представляет собой конфигурацию для конкретного портала, задавая домены для мониторинга и источники начальных данных по IP и CIDR. diff --git a/src/App/Controller/AmneziaController.php b/src/App/Controller/AmneziaController.php new file mode 100644 index 0000000..9c8b5f3 --- /dev/null +++ b/src/App/Controller/AmneziaController.php @@ -0,0 +1,34 @@ +setHeaders(['content-type' => 'application/json']); + + $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); + $data = $this->request->getQueryParameter('data') ?? ''; + if ($data == '') { + return "# Error: The 'data' GET parameter is required in the URL to access this page"; + } + + $response = []; + if (count($sites)) { + foreach ($sites as $site) { + $response = array_merge($response, $this->getSites()[$site]->$data); + } + } else { + foreach ($this->getSites() as $siteEntity) { + $response = array_merge($response, $siteEntity->$data); + } + } + $response = SiteFactory::normalizeArray($response, in_array($data, ['ipv4', 'ipv6', 'cidr4', 'cidr6'])); + + return json_encode(array_map(fn(string $item) => ['hostname' => $item, 'ip' => ''], $response)); + } +} diff --git a/src/App/Template/IndexTemplate.php b/src/App/Template/IndexTemplate.php index 8aa16c2..6712f57 100644 --- a/src/App/Template/IndexTemplate.php +++ b/src/App/Template/IndexTemplate.php @@ -630,6 +630,7 @@ use OpenCCK\App\Controller\MainController; +