{"id":28213345,"url":"https://github.com/vpnclient/vpnclient-react-native-app","last_synced_at":"2026-01-24T22:35:47.598Z","repository":{"id":292773501,"uuid":"981880622","full_name":"VPNclient/vpnclient-react-native-app","owner":"VPNclient","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-12T07:53:21.000Z","size":361,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T17:57:05.830Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VPNclient.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-05-12T03:35:01.000Z","updated_at":"2025-05-12T07:53:24.000Z","dependencies_parsed_at":"2025-06-11T17:44:35.446Z","dependency_job_id":"705345fe-1339-451d-a8e2-fec014ed145c","html_url":"https://github.com/VPNclient/vpnclient-react-native-app","commit_stats":null,"previous_names":["vpnclient/vpnclient-react-native-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VPNclient/vpnclient-react-native-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VPNclient%2Fvpnclient-react-native-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VPNclient%2Fvpnclient-react-native-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VPNclient%2Fvpnclient-react-native-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VPNclient%2Fvpnclient-react-native-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VPNclient","download_url":"https://codeload.github.com/VPNclient/vpnclient-react-native-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VPNclient%2Fvpnclient-react-native-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28738974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-05-17T20:10:28.882Z","updated_at":"2026-01-24T22:35:47.584Z","avatar_url":"https://github.com/VPNclient.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# VPNclient App (React-Native Implementation)\n\nA cross-platform, open-source VPN client with support for multiple protocols (Xray, WireGuard, OpenVPN) and advanced routing capabilities.\n\n## 🌟 Key Features\n\n### Core Functionality\n- **Multi-Protocol Support**: VMess, VLESS, Reality (Xray), WireGuard, OpenVPN\n- **Cross-Platform**: iOS, Android\n- **Subscription Management**: Import server lists via URL\n- **Advanced Routing**: Split tunneling, domain rules, app-level routing\n\n### Security\n- Kill Switch protection\n- Auto-connect on startup\n- No root/jailbreak required\n\n### Performance\n- Real-time connection stats\n- Server latency testing\n- Optimized native engine\n\n## 📦 Architecture Overview\n\n```mermaid\nflowchart LR\n\tsubgraph subGraph0[\"ReactNative Application\"]\n\t\tUI@{ label: \"VPNclient App (\u003cspan style=\\\"color:\\\"\u003eReactNative UI)\u003c/span\u003e\" }\n\tend\n\tsubgraph subGraph1[\"ReactNative Plugin\"]\n\t\tPlugin[\"VPNclient Engine ReactNative\"]\n\tend\n\tsubgraph subGraph2[\"Native Core\"]\n\t\tCore[\"VPNclient Engine Library\"]\n\tend\n\t\tUI --\u003e Plugin\n\t\tPlugin --\u003e Core\n\t\tCore --\u003e iOS[\"iOS\"] \u0026 Android[\"Android\"]\n\n\t\tUI@{ shape: rect}\n```\n\n**Technology Stack**:\n- **Frontend**: React Native, TypeScript\n- **State**: Zustand/Redux Toolkit\n- **Styling**: Restyle/NativeWind\n- **Testing**: Jest, Detox\n- **CI/CD**: GitHub Actions, Fastlane\n\n---\n## 🧱 Архитектура React Native приложения\n\n### 1. **Архитектурный стиль**\n\n* **Modular Monorepo** (если Web и Mobile): используйте **Turborepo** или **Nx** — легко переиспользовать логику и UI между web/mobile.\n* **Clean Architecture**: делите код на слои `presentation` / `application` / `domain` / `infrastructure`.\n\n### 2. **Навигация**\n\n* `@react-navigation/native` с **bottom-tabs + stack-nesting** (типично для e-commerce).\n* Deep Linking + Universal Links (важно для маркетинга и пушей).\n\n### 3. **Состояние**\n\n* `Zustand` или `Redux Toolkit` с RTK Query (удобно для кеширования API).\n* Не забывайте про **react-query** / `TanStack Query`, если делаете акцент на data fetching.\n\n### 4. **UI-компоненты**\n\n* **Atomic Design** подход — делите компоненты на `Atoms`, `Molecules`, `Organisms`.\n* Используйте `Restyle` или `NativeWind` для стилизации.\n\n### 5. **Работа с API**\n\n* REST-first, GraphQL только если бэкенд готов его поддерживать.\n* Автоматическая генерация типов через Swagger / OpenAPI.\n\n---\n\n## 🧪 Процессы разработки\n\n### 1. **CI/CD**\n\n* GitHub Actions или GitLab CI.\n* Автоматическая сборка на TestFlight и Google Play Internal (через EAS от Expo или fastlane).\n\n### 2. **Code Quality**\n\n* ESLint + Prettier + Husky + Lint-Staged.\n* Строгая типизация (TypeScript).\n* Codegen типов из API (Swagger / GraphQL).\n\n### 3. **Тестирование**\n\n* **Unit**: `Jest`, `Testing Library`.\n* **E2E**: `Detox` (для React Native).\n* Вводите покрытие критического UI и flows (логин, корзина, checkout).\n\n### 4. **Процессы**\n\n* Kanban/Agile + weekly sprint planning.\n* Внедрите CI/CD и Feature Flags (например, с `LaunchDarkly` или `ConfigCat`) для гибких релизов.\n\n---\n\n## 🚀 Getting Started\n\n### For End Users\nDownload from official stores:\n- [Google Play](https://play.google.com/store/apps/details?id=click.vpnclient)\n- [App Store (TestFlight)](https://testflight.apple.com/join/KQr4SeS7)\n\n### For Developers\n```bash\n# Clone repository\ngit clone https://github.com/VPNclient/VPNclient-react-native-app.git\ncd VPNclient-react-native-app\n\n# Install dependencies\nyarn install\n\n# Run on iOS/Android\nyarn ios\nyarn android\n```\n\n**Platform Requirements**:\n- Android 6.0+\n- iOS 15.6+\n- Node.js 18+\n\n\n## 📬 Support\n\n- [GitHub Issues](https://github.com/VPNclient/VPNclient-app/issues)\n- [Telegram Group](https://t.me/vpnclient_chat)\n- Email: support@vpnclient.click\n\n---\n\n\u003e Part of the **VPNclient Ecosystem**:\n\u003e - [Engine Core](https://github.com/VPNclient/VPNclient-engine)\n\u003e - [React Native Plugin](https://github.com/VPNclient/VPNclient-engine-react-native)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpnclient%2Fvpnclient-react-native-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpnclient%2Fvpnclient-react-native-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpnclient%2Fvpnclient-react-native-app/lists"}