178 lines
5.1 KiB
YAML
178 lines
5.1 KiB
YAML
---
|
||
- 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 |