{"id":31206515,"url":"https://github.com/iwizard7/vpn-indicator","last_synced_at":"2025-09-20T19:57:11.506Z","repository":{"id":312201650,"uuid":"1046669550","full_name":"iwizard7/vpn-indicator","owner":"iwizard7","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-29T04:08:49.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-29T07:37:29.936Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iwizard7.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-29T03:30:06.000Z","updated_at":"2025-08-29T04:08:52.000Z","dependencies_parsed_at":"2025-08-29T07:50:01.456Z","dependency_job_id":null,"html_url":"https://github.com/iwizard7/vpn-indicator","commit_stats":null,"previous_names":["iwizard7/vpn-indicator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/iwizard7/vpn-indicator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwizard7%2Fvpn-indicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwizard7%2Fvpn-indicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwizard7%2Fvpn-indicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwizard7%2Fvpn-indicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iwizard7","download_url":"https://codeload.github.com/iwizard7/vpn-indicator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwizard7%2Fvpn-indicator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276150825,"owners_count":25593841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-20T02:00:10.207Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-20T19:57:08.340Z","updated_at":"2025-09-20T19:57:11.500Z","avatar_url":"https://github.com/iwizard7.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VPN Indicator\n\n[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/iwizard7/vpn-indicator/releases)\n[![macOS](https://img.shields.io/badge/platform-macOS%2012+-orange.svg)](https://github.com/iwizard7/vpn-indicator)\n[![Swift](https://img.shields.io/badge/swift-5.9+-brightgreen.svg)](https://swift.org)\n[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](LICENSE)\n\nМощный индикатор статуса VPN для macOS с широкими возможностями настройки и автоматизации.\n\n## ✨ Возможности\n\n### 🎯 Основные функции\n- **Мониторинг VPN статуса** в реальном времени\n- **Индикатор в меню-баре** с цветными иконками\n- **Звук при отключении** VPN\n- **Уведомления** о изменениях статуса\n- **Автоматический запуск** при входе в систему\n\n### 🎨 Кастомизация\n- **10 тем иконок**: Circles, Locks, Shields, Power, WiFi, Checkmarks, Hearts, Stars, Gray, Minimal\n- **Пользовательские иконки** - установите свои emoji\n- **Выбор звука** отключения (Basso, Funk, Ping, Purr, Tink, None)\n- **Настраиваемые уведомления**\n\n### 🚀 Управление VPN\n- **Автоматическое обнаружение** установленных VPN клиентов\n- **Быстрый запуск** VPN приложений\n- **Управление подключением** через меню\n- **Поддержка популярных VPN**: V2Box, V2RayU, ClashX, ProtonVPN, NordVPN и др.\n\n### 📊 Статистика и мониторинг\n- **Время подключения** с момента активации\n- **Статистика трафика** (загрузка/выгрузка)\n- **IP адрес** VPN соединения\n- **Умные уведомления** (длительные сессии, большой трафик)\n\n## 🛠️ Установка\n\n### Требования\n- macOS 12.0 или новее\n- Swift 5.9+\n- Xcode 14+ (для разработки)\n\n### Сборка из исходников\n```bash\n# Клонировать репозиторий\ngit clone https://github.com/iwizard7/vpn-indicator.git\ncd vpn-indicator\n\n# Собрать проект\nswift build\n\n# Запустить\nswift run\n```\n\n### Автоматический запуск\nПриложение поддерживает автоматический запуск при входе в систему через Launch Agents.\n\n## 📖 Использование\n\n### Основное меню\n1. **Кликните на иконку** в меню-баре\n2. Выберите **Icon Theme** для изменения внешнего вида\n3. Настройте **Disconnect Sound** для звукового сигнала\n4. Включите **Notifications** для уведомлений\n5. Используйте **VPN Management** для управления клиентами\n\n### Темы иконок\n- 🔴 🟢 **Circles** - классические цветные круги\n- 🔒 🔓 **Locks** - замки (открыт/закрыт)\n- 🛡️ ❌ **Shields** - щиты для защиты\n- ⚡ 💤 **Power** - питание (включено/спящий режим)\n- 📶 ❌ **WiFi** - беспроводная сеть\n- ✅ ❌ **Checkmarks** - галочки\n- 💚 💔 **Hearts** - сердечки\n- ⭐ ❌ **Stars** - звездочки\n- ⚫ ⚪ **Gray** - серые круги\n- ● ○ **Minimal** - минималистичные точки\n\n### Пользовательские иконки\n1. Выберите **Custom Icons** → **Set Custom Icons**\n2. Введите emoji для каждого статуса\n3. Нажмите **Set Icons**\n\n## 🔧 Настройка\n\n### Для разработчиков\n```swift\n// Изменение интервала проверки статуса\nprivate let statusCheckInterval: TimeInterval = 3.0\n\n// Добавление новой темы иконок\ncase \"newtheme\":\n    return (\"🎯\", \"⏳\", \"❌\")\n```\n\n### Добавление поддержки нового VPN\n```swift\nlet vpnClients = [\n    (\"NewVPN\", \"/Applications/NewVPN.app\", \"NewVPN\"),\n    // ... добавить в список\n]\n```\n\n## 🛡️ Безопасность\n\n- **Нет хранения паролей** или учетных данных\n- **Локальные настройки** хранятся в UserDefaults\n- **Нет сетевых запросов** к внешним серверам\n- **Открытый исходный код** для аудита безопасности\n\n## 📋 Совместимость\n\n### Поддерживаемые VPN клиенты\n- ✅ V2Box\n- ✅ V2RayU\n- ✅ ClashX / ClashX Pro\n- ✅ Surge\n- ✅ ShadowsocksX-NG\n- ✅ ProtonVPN\n- ✅ ExpressVPN\n- ✅ NordVPN\n- ✅ Tunnelblick\n- ✅ Viscosity\n- ✅ OpenConnect\n\n### Системные требования\n- **macOS**: 12.0+\n- **Архитектура**: Intel, Apple Silicon\n- **Память**: ~10MB RAM\n- **Диск**: ~5MB\n\n## 🐛 Устранение неполадок\n\n### Иконка не отображается\n```bash\n# Проверить статус\nscutil --nc list\n\n# Перезапустить приложение\npkill -f VPNIndicator\nswift run\n```\n\n### Неправильный статус VPN\n- Убедитесь, что VPN клиент запущен\n- Проверьте системные настройки сети\n- Перезапустите приложение\n\n### Проблемы с уведомлениями\n- Проверьте настройки уведомлений в Системных настройках\n- Убедитесь, что приложение имеет права на уведомления\n\n## 🤝 Вклад в проект\n\n1. Fork репозиторий\n2. Создайте feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit изменения (`git commit -m 'Add some AmazingFeature'`)\n4. Push в branch (`git push origin feature/AmazingFeature`)\n5. Создайте Pull Request\n\n## 📄 Лицензия\n\nЭтот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).\n\n## 🙏 Благодарности\n\n- Apple за macOS и Swift\n- Сообщество разработчиков за вклад в экосистему\n- Пользователям за обратную связь и предложения\n\n---\n\n**VPN Indicator** - ваш надежный помощник в мире VPN! 🔒✨","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiwizard7%2Fvpn-indicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiwizard7%2Fvpn-indicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiwizard7%2Fvpn-indicator/lists"}