Files
umbrix/DOMAIN_ZONES_AUTO_SELECTION.md

173 lines
6.2 KiB
Markdown
Raw Normal View History

# 🌍 Автоматический выбор доменных зон по региону
## ✅ Что добавлено
### 1. Расширенный список доменных зон
**По регионам** (автоматически показываются первыми):
#### 🇷🇺 Россия и СНГ (Region.ru):
- `.ru`, `.рф`, `.su` - Россия
- `.by` - Беларусь
- `.kz` - Казахстан
- `.ua` - Украина
- `.am` - Армения
- `.ge` - Грузия
- `.md` - Молдова
- `.kg` - Киргизия
- `.uz` - Узбекистан
- `.tm` - Туркменистан
- `.az` - Азербайджан
#### 🇮🇷 Иран и окружение (Region.ir):
- `.ir`, `.ایران` - Иран
- `.af` - Афганистан
- `.tj`, `.تاجیکستان` - Таджикистан
- `.pk` - Пакистан
- `.iq` - Ирак
#### 🇨🇳 Китай и Восточная Азия (Region.cn):
- `.cn`, `.中国` - Китай
- `.hk` - Гонконг
- `.tw` - Тайвань
- `.mo` - Макао
- `.sg` - Сингапур
- `.kr` - Южная Корея
- `.jp` - Япония
#### 🇮🇩 Индонезия и Юго-Восточная Азия (Region.id):
- `.id` - Индонезия
- `.my` - Малайзия
- `.ph` - Филиппины
- `.vn` - Вьетнам
- `.th` - Таиланд
- `.la` - Лаос
- `.mm` - Мьянма
- `.kh` - Камбоджа
- `.bn` - Бруней
- `.tl` - Восточный Тимор
#### 🇹🇷 Турция и Тюркский мир (Region.tr):
- `.tr` - Турция
- `.az` - Азербайджан
- `.tm` - Туркменистан
- `.uz` - Узбекистан
- `.kg` - Киргизия
- `.kz` - Казахстан
#### 🇦🇫 Афганистан и окружение (Region.af):
- `.af` - Афганистан
- `.pk` - Пакистан
- `.tj`, `.تاجیکستان` - Таджикистан
- `.ir`, `.ایران` - Иран
#### 🇧🇷 Бразилия и Латинская Америка (Region.br):
- `.br` - Бразилия
- `.pt` - Португалия
- `.ao` - Ангола
- `.mz` - Мозамбик
- `.mx` - Мексика
- `.ar` - Аргентина
- `.cl` - Чили
- `.co` - Колумбия
- `.ve` - Венесуэла
- `.pe` - Перу
#### 🇮🇳 Индия и Южная Азия (Region.in_) **[НОВЫЙ РЕГИОН]**:
- `.in`, `.भारत` - Индия
- `.pk` - Пакистан
- `.bd` - Бангладеш
- `.lk` - Шри-Ланка
- `.np` - Непал
- `.bt` - Бутан
- `.mv` - Мальдивы
### 2. Глобальные популярные зоны (топ-20):
Всегда показываются после региональных:
- `.com`, `.org`, `.net`, `.info`, `.biz`
- `.co`, `.io`, `.ai`, `.app`, `.dev`
- `.xyz`, `.online`, `.site`, `.tech`, `.store`
- `.me`, `.cc`, `.tv`, `.pro`, `.us`
## 🤖 Как работает автоматический выбор
1. **При открытии "Исключения"****"+ Добавить домены"**:
- Система определяет регион пользователя (Region.ru, Region.cn, и т.д.)
- Автоматически показывает релевантные зоны **в начале списка**
- Затем добавляет популярные глобальные зоны
2. **Пример для русского пользователя** (Region.ru):
```
[✓] .ru
[✓] .рф
[ ] .su
[ ] .by
[ ] .kz
[ ] .ua
... (11 региональных зон)
[ ] .com
[ ] .org
[ ] .net
... (20 глобальных зон)
```
3. **Пример для китайского пользователя** (Region.cn):
```
[ ] .cn
[ ] .中国
[ ] .hk
[ ] .tw
... (8 региональных зон)
[ ] .com
[ ] .org
... (глобальные зоны)
```
## 📂 Измененные файлы
### 1. `lib/core/model/region.dart`
- ✅ Добавлен новый регион `in_` (Индия)
- Теперь всего **9 регионов** (было 8)
### 2. `lib/features/per_app_proxy/overview/per_app_proxy_page.dart`
- ✅ Добавлены импорты: `Region`, `ConfigOptions`
- ✅ Реализована логика автоматического выбора зон по региону
- ✅ Расширен список с 6 до **80+ доменных зон**
- ✅ Зоны группируются: региональные (по текущему региону) + глобальные
## 🎯 Преимущества
1. **Удобство для пользователей**:
- Не нужно искать нужные зоны вручную
- Релевантные зоны показываются первыми
- Поддержка национальных доменов (кириллица, арабский, китайский)
2. **Полнота покрытия**:
- Россия: 13 зон (было 6)
- Китай: 8 зон (было 6)
- Иран: 7 зон (было 5)
- Индонезия: 10 зон (было 6)
- **Новый регион**: Индия (7 зон)
3. **Умное поведение**:
- Автоматически определяет регион при первом запуске
- Можно вручную изменить регион в настройках
- Список обновляется при смене региона
## 📱 Как протестировать
1. Запусти приложение
2. Открой: **Настройки****Сеть****Исключения****Домены**
3. Нажми **"+ Добавить домены"**
4. Увидишь:
- Для России: `.ru`, `.рф`, `.su`, `.by`, `.kz`, `.ua`, ... (13 зон)
- Затем глобальные: `.com`, `.org`, `.net`, `.io`, `.ai`, ... (20 зон)
## 🔮 Будущие улучшения
- [ ] Добавить автоматическую подстановку зон при первом запуске
- [ ] Сделать "быструю кнопку" для добавления всех региональных зон
- [ ] Показывать флаги стран рядом с зонами
- [ ] Добавить поиск по доменным зонам