--- - name: Update AdGuard VPN exclusions (optimized with wildcards) hosts: all gather_facts: no vars: # Telegram (можно переопределить в Extra Variables) telegram_token: "8820292312:AAECFO1AEWOJTh30zNuhyjC5C81o_qJHQcM" telegram_chat_id: "407968638" # Список доменов и масок, которые должны идти в обход VPN domains_list: # --- Государственные порталы --- - gosuslugi.ru - pravo.gov.ru - regulation.gov.ru - emias.info - mos.ru - mosenergosbyt.ru # --- Социальные сети и мессенджеры (маски для поддоменов) --- - "*.vk.com" - "*.mail.ru" - "*.ok.ru" - "*.rutube.ru" - "*.rustore.ru" # --- Яндекс (одна маска покрывает все поддомены) --- - "*.yandex.ru" - "*.yandex.by" - "*.yandex.kz" - "*.yandex.com.tr" - "*.yandex.com" - "*.ya.ru" - "*.yastatic.net" - "*.yandex.net" - "*.yandexapi.com" - "*.yandexadexchange.net" - "*.yandexadnet.ru" - "*.yandexadexchange.com" - "*.yandexcloud.net" - "*.yandexmobileads.com" - "*.yandexmaps.com" - "*.yandexsearch.com" - "*.yandexsuggest.com" - "*.yandextank.com" - "*.yandexvideo.com" - "*.yandexwebcache.net" - "*.yandexxml.com" # --- Маркетплейсы --- - "*.wildberries.ru" - "*.wb.ru" - "*.ozon.ru" - "*.avito.ru" - "*.lamoda.ru" - "*.dns-shop.ru" - "*.detmir.ru" - "*.vseinstrumenti.ru" - "*.megamarket.ru" - "*.goldapple.ru" - "*.lemanapro.ru" # добавлен магазин Лемана Про - lemanapro.ru # основной домен (без маски) # --- Банки и финансы --- - "*.sberbank.ru" - "*.sberbank.com" - "*.online.sberbank.ru" - "*.tbank.ru" - "*.tinkoff.ru" - "*.alfa-bank.ru" - "*.vtb.ru" - "*.gazprombank.ru" - "*.raiffeisen.ru" - "*.rosbank.ru" - "*.sovcombank.ru" - "*.yoomoney.ru" - "*.qiwi.com" # --- Сервисы доставки и еда --- - "*.samokat.ru" - "*.vkusvill.ru" - "*.lenta.com" - "*.magnit.ru" - "*.perekrestok.ru" - "*.pyaterochka.ru" - "*.chizhik.ru" - "*.azbukavkusa.ru" - "*.bravo32.ru" - "*.rostiks.ru" # --- Онлайн-кинотеатры и медиа --- - "*.kinopoisk.ru" - "*.ivi.ru" - "*.start.ru" - "*.wink.ru" - "*.okko.tv" - "*.kion.ru" - "*.litres.ru" # --- Транспорт и карты --- - "*.rzd.ru" - "*.tutu.ru" - "*.aviasales.ru" - "*.2gis.ru" - "*.yandexgo.ru" - "*.citymobil.ru" - "*.belkacar.ru" - "*.yandex.taxi" # --- Работа и недвижимость --- - "*.hh.ru" - "*.profi.ru" - "*.auto.ru" - "*.cian.ru" # --- Новостные и прочие --- - "*.gismeteo.ru" - "*.vesti.ru" - "*.ria.ru" - "*.tass.ru" - "*.rbc.ru" - "*.kommersant.ru" - "*.lenta.ru" - "*.gazeta.ru" - "*.mk.ru" - "*.kp.ru" - "*.aif.ru" - "*.rg.ru" - "*.iz.ru" - "*.life.ru" - "*.sport-express.ru" - "*.championat.com" - "*.soccer.ru" - "*.sports.ru" # --- Дополнительные маски на случай пропущенных поддоменов --- - "*.max.ru" tasks: - name: Clear existing exclusions ansible.builtin.command: cmd: adguardvpn-cli site-exclusions clear changed_when: true - name: Set exclusion mode to GENERAL ansible.builtin.command: cmd: adguardvpn-cli site-exclusions mode general changed_when: true - name: Add each domain as exclusion ansible.builtin.command: cmd: "adguardvpn-cli site-exclusions add {{ item }}" loop: "{{ domains_list }}" loop_control: pause: 0.05 # немного быстрее, но безопасно changed_when: true - name: Disconnect VPN (if already connected) ansible.builtin.command: cmd: adguardvpn-cli disconnect changed_when: true ignore_errors: yes - name: Connect VPN ansible.builtin.command: cmd: adguardvpn-cli connect changed_when: true - name: Send Telegram notification ansible.builtin.uri: url: "https://api.telegram.org/bot{{ telegram_token }}/sendMessage" method: POST body_format: json body: chat_id: "{{ telegram_chat_id }}" text: "✅ Список исключений обновлён. Добавлено {{ domains_list | length }} записей (с масками)." disable_web_page_preview: yes when: telegram_token is defined and telegram_chat_id is defined