https://github.com/iwizard7/vpn-indicator
https://github.com/iwizard7/vpn-indicator
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iwizard7/vpn-indicator
- Owner: iwizard7
- License: mit
- Created: 2025-08-29T03:30:06.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-29T04:08:49.000Z (10 months ago)
- Last Synced: 2025-08-29T07:37:29.936Z (10 months ago)
- Language: Swift
- Size: 31.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# VPN Indicator
[](https://github.com/iwizard7/vpn-indicator/releases)
[](https://github.com/iwizard7/vpn-indicator)
[](https://swift.org)
[](LICENSE)
Мощный индикатор статуса VPN для macOS с широкими возможностями настройки и автоматизации.
## ✨ Возможности
### 🎯 Основные функции
- **Мониторинг VPN статуса** в реальном времени
- **Индикатор в меню-баре** с цветными иконками
- **Звук при отключении** VPN
- **Уведомления** о изменениях статуса
- **Автоматический запуск** при входе в систему
### 🎨 Кастомизация
- **10 тем иконок**: Circles, Locks, Shields, Power, WiFi, Checkmarks, Hearts, Stars, Gray, Minimal
- **Пользовательские иконки** - установите свои emoji
- **Выбор звука** отключения (Basso, Funk, Ping, Purr, Tink, None)
- **Настраиваемые уведомления**
### 🚀 Управление VPN
- **Автоматическое обнаружение** установленных VPN клиентов
- **Быстрый запуск** VPN приложений
- **Управление подключением** через меню
- **Поддержка популярных VPN**: V2Box, V2RayU, ClashX, ProtonVPN, NordVPN и др.
### 📊 Статистика и мониторинг
- **Время подключения** с момента активации
- **Статистика трафика** (загрузка/выгрузка)
- **IP адрес** VPN соединения
- **Умные уведомления** (длительные сессии, большой трафик)
## 🛠️ Установка
### Требования
- macOS 12.0 или новее
- Swift 5.9+
- Xcode 14+ (для разработки)
### Сборка из исходников
```bash
# Клонировать репозиторий
git clone https://github.com/iwizard7/vpn-indicator.git
cd vpn-indicator
# Собрать проект
swift build
# Запустить
swift run
```
### Автоматический запуск
Приложение поддерживает автоматический запуск при входе в систему через Launch Agents.
## 📖 Использование
### Основное меню
1. **Кликните на иконку** в меню-баре
2. Выберите **Icon Theme** для изменения внешнего вида
3. Настройте **Disconnect Sound** для звукового сигнала
4. Включите **Notifications** для уведомлений
5. Используйте **VPN Management** для управления клиентами
### Темы иконок
- 🔴 🟢 **Circles** - классические цветные круги
- 🔒 🔓 **Locks** - замки (открыт/закрыт)
- 🛡️ ❌ **Shields** - щиты для защиты
- ⚡ 💤 **Power** - питание (включено/спящий режим)
- 📶 ❌ **WiFi** - беспроводная сеть
- ✅ ❌ **Checkmarks** - галочки
- 💚 💔 **Hearts** - сердечки
- ⭐ ❌ **Stars** - звездочки
- ⚫ ⚪ **Gray** - серые круги
- ● ○ **Minimal** - минималистичные точки
### Пользовательские иконки
1. Выберите **Custom Icons** → **Set Custom Icons**
2. Введите emoji для каждого статуса
3. Нажмите **Set Icons**
## 🔧 Настройка
### Для разработчиков
```swift
// Изменение интервала проверки статуса
private let statusCheckInterval: TimeInterval = 3.0
// Добавление новой темы иконок
case "newtheme":
return ("🎯", "⏳", "❌")
```
### Добавление поддержки нового VPN
```swift
let vpnClients = [
("NewVPN", "/Applications/NewVPN.app", "NewVPN"),
// ... добавить в список
]
```
## 🛡️ Безопасность
- **Нет хранения паролей** или учетных данных
- **Локальные настройки** хранятся в UserDefaults
- **Нет сетевых запросов** к внешним серверам
- **Открытый исходный код** для аудита безопасности
## 📋 Совместимость
### Поддерживаемые VPN клиенты
- ✅ V2Box
- ✅ V2RayU
- ✅ ClashX / ClashX Pro
- ✅ Surge
- ✅ ShadowsocksX-NG
- ✅ ProtonVPN
- ✅ ExpressVPN
- ✅ NordVPN
- ✅ Tunnelblick
- ✅ Viscosity
- ✅ OpenConnect
### Системные требования
- **macOS**: 12.0+
- **Архитектура**: Intel, Apple Silicon
- **Память**: ~10MB RAM
- **Диск**: ~5MB
## 🐛 Устранение неполадок
### Иконка не отображается
```bash
# Проверить статус
scutil --nc list
# Перезапустить приложение
pkill -f VPNIndicator
swift run
```
### Неправильный статус VPN
- Убедитесь, что VPN клиент запущен
- Проверьте системные настройки сети
- Перезапустите приложение
### Проблемы с уведомлениями
- Проверьте настройки уведомлений в Системных настройках
- Убедитесь, что приложение имеет права на уведомления
## 🤝 Вклад в проект
1. Fork репозиторий
2. Создайте feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit изменения (`git commit -m 'Add some AmazingFeature'`)
4. Push в branch (`git push origin feature/AmazingFeature`)
5. Создайте Pull Request
## 📄 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).
## 🙏 Благодарности
- Apple за macOS и Swift
- Сообщество разработчиков за вклад в экосистему
- Пользователям за обратную связь и предложения
---
**VPN Indicator** - ваш надежный помощник в мире VPN! 🔒✨