From 3ee9a2ae73e4a22629f17796fd6f47a78928e433 Mon Sep 17 00:00:00 2001 From: lilkidsuave <66171643+lilkidsuave@users.noreply.github.com> Date: Tue, 13 Feb 2024 02:23:25 -0500 Subject: [PATCH] Delete servapps/Adguard directory --- servapps/Adguard/config.json | 35 ------ servapps/Adguard/data/conf/AdGuardHome.yaml | 131 -------------------- servapps/Adguard/docker-compose.yml | 42 ------- servapps/Adguard/metadata/description.md | 6 - servapps/Adguard/metadata/logo.jpg | Bin 25931 -> 0 bytes 5 files changed, 214 deletions(-) delete mode 100644 servapps/Adguard/config.json delete mode 100644 servapps/Adguard/data/conf/AdGuardHome.yaml delete mode 100644 servapps/Adguard/docker-compose.yml delete mode 100644 servapps/Adguard/metadata/description.md delete mode 100644 servapps/Adguard/metadata/logo.jpg diff --git a/servapps/Adguard/config.json b/servapps/Adguard/config.json deleted file mode 100644 index c9bb51f..0000000 --- a/servapps/Adguard/config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "../schema.json", - "name": "Adguard", - "available": true, - "exposable": true, - "tipi_version": 24, - "version": "0.107.44", - "port": 8104, - "id": "adguard", - "categories": [ - "network", - "security" - ], - "description": "Adguard is the best way to get rid of annoying ads and online tracking and protect your computer from malware. Make your web surfing fast, safe and ad-free.", - "short_desc": "World's most advanced adblocker!", - "author": "AdguardTeam", - "source": "https://github.com/AdguardTeam", - "requirements": { - "ports": [ - 53 - ] - }, - "form_fields": [ - { - "type": "ip", - "label": "Network Interface (default: 0.0.0.0)", - "required": false, - "env_variable": "NETWORK_INTERFACE" - } - ], - "supported_architectures": [ - "arm64", - "amd64" - ] -} diff --git a/servapps/Adguard/data/conf/AdGuardHome.yaml b/servapps/Adguard/data/conf/AdGuardHome.yaml deleted file mode 100644 index 4fcefdb..0000000 --- a/servapps/Adguard/data/conf/AdGuardHome.yaml +++ /dev/null @@ -1,131 +0,0 @@ -bind_host: 0.0.0.0 -bind_port: 80 -beta_bind_port: 0 -users: [] -auth_attempts: 5 -block_auth_min: 15 -http_proxy: "" -language: "" -debug_pprof: false -web_session_ttl: 720 -dns: - bind_hosts: - - 0.0.0.0 - port: 53 - statistics_interval: 1 - querylog_enabled: true - querylog_file_enabled: true - querylog_interval: 2160h - querylog_size_memory: 1000 - anonymize_client_ip: false - protection_enabled: true - blocking_mode: default - blocking_ipv4: "" - blocking_ipv6: "" - blocked_response_ttl: 10 - parental_block_host: family-block.dns.adguard.com - safebrowsing_block_host: standard-block.dns.adguard.com - ratelimit: 20 - ratelimit_whitelist: [] - refuse_any: true - upstream_dns: - - https://dns10.quad9.net/dns-query - upstream_dns_file: "" - bootstrap_dns: - - 9.9.9.10 - - 149.112.112.10 - - 2620:fe::10 - - 2620:fe::fe:10 - all_servers: false - fastest_addr: false - fastest_timeout: 1s - allowed_clients: [] - disallowed_clients: [] - blocked_hosts: - - version.bind - - id.server - - hostname.bind - trusted_proxies: - - 127.0.0.0/8 - - ::1/128 - cache_size: 4194304 - cache_ttl_min: 0 - cache_ttl_max: 0 - cache_optimistic: false - bogus_nxdomain: [] - aaaa_disabled: false - enable_dnssec: false - edns_client_subnet: false - max_goroutines: 300 - ipset: [] - filtering_enabled: true - filters_update_interval: 24 - parental_enabled: false - safesearch_enabled: false - safebrowsing_enabled: false - safebrowsing_cache_size: 1048576 - safesearch_cache_size: 1048576 - parental_cache_size: 1048576 - cache_time: 30 - rewrites: [] - blocked_services: [] - upstream_timeout: 10s - local_domain_name: lan - resolve_clients: true - use_private_ptr_resolvers: true - local_ptr_upstreams: [] -tls: - enabled: false - server_name: "" - force_https: false - port_https: 443 - port_dns_over_tls: 853 - port_dns_over_quic: 784 - port_dnscrypt: 0 - dnscrypt_config_file: "" - allow_unencrypted_doh: false - strict_sni_check: false - certificate_chain: "" - private_key: "" - certificate_path: "" - private_key_path: "" -filters: -- enabled: true - url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt - name: AdGuard DNS filter - id: 1 -- enabled: false - url: https://adaway.org/hosts.txt - name: AdAway Default Blocklist - id: 2 -whitelist_filters: [] -user_rules: [] -dhcp: - enabled: false - interface_name: "" - dhcpv4: - gateway_ip: "" - subnet_mask: "" - range_start: "" - range_end: "" - lease_duration: 86400 - icmp_timeout_msec: 1000 - options: [] - dhcpv6: - range_start: "" - lease_duration: 86400 - ra_slaac_only: false - ra_allow_slaac: false -clients: [] -log_compress: false -log_localtime: false -log_max_backups: 0 -log_max_size: 100 -log_max_age: 3 -log_file: "" -verbose: false -os: - group: "" - user: "" - rlimit_nofile: 0 -schema_version: 12 diff --git a/servapps/Adguard/docker-compose.yml b/servapps/Adguard/docker-compose.yml deleted file mode 100644 index dc63693..0000000 --- a/servapps/Adguard/docker-compose.yml +++ /dev/null @@ -1,42 +0,0 @@ -version: "3.7" -services: - adguard: - image: adguard/adguardhome:v0.107.44 - container_name: adguard - volumes: - - "${APP_DATA_DIR}/data/work:/opt/adguardhome/work" - - "${APP_DATA_DIR}/data/conf:/opt/adguardhome/conf" - restart: unless-stopped - networks: - - tipi_main_network - ports: - - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/tcp - - ${NETWORK_INTERFACE:-0.0.0.0}:53:53/udp - - ${NETWORK_INTERFACE:-0.0.0.0}:853:853/tcp - - ${NETWORK_INTERFACE:-0.0.0.0}:853:853/udp - - ${APP_PORT}:80 - labels: - # Main - traefik.enable: true - traefik.http.middlewares.adguard-web-redirect.redirectscheme.scheme: https - traefik.http.services.adguard.loadbalancer.server.port: 80 - # Web - traefik.http.routers.adguard-insecure.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.adguard-insecure.entrypoints: web - traefik.http.routers.adguard-insecure.service: adguard - traefik.http.routers.adguard-insecure.middlewares: adguard-web-redirect - # Websecure - traefik.http.routers.adguard.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.adguard.entrypoints: websecure - traefik.http.routers.adguard.service: adguard - traefik.http.routers.adguard.tls.certresolver: myresolver - # Local domain - traefik.http.routers.adguard-local-insecure.rule: Host(`adguard.${LOCAL_DOMAIN}`) - traefik.http.routers.adguard-local-insecure.entrypoints: web - traefik.http.routers.adguard-local-insecure.service: adguard - traefik.http.routers.adguard-local-insecure.middlewares: adguard-web-redirect - # Local domain secure - traefik.http.routers.adguard-local.rule: Host(`adguard.${LOCAL_DOMAIN}`) - traefik.http.routers.adguard-local.entrypoints: websecure - traefik.http.routers.adguard-local.service: adguard - traefik.http.routers.adguard-local.tls: true diff --git a/servapps/Adguard/metadata/description.md b/servapps/Adguard/metadata/description.md deleted file mode 100644 index 3efa30f..0000000 --- a/servapps/Adguard/metadata/description.md +++ /dev/null @@ -1,6 +0,0 @@ -## AdGuard Home is a network-wide software for blocking ads & tracking. - -After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that. -It operates as a DNS server that re-routes tracking domains to a "black hole", thus preventing your devices from connecting to those servers. It's based on software we use for our public AdGuard DNS servers -- both share a lot of common code. - -![Screenshot](https://cdn.adguard.com/public/Adguard/Common/adguard_home.gif) diff --git a/servapps/Adguard/metadata/logo.jpg b/servapps/Adguard/metadata/logo.jpg deleted file mode 100644 index 133d8f8d02bd730c1e5deafe9d3fccbd3c15b33b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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