A Flutter application for managing VeilNet VPN connections across multiple platforms. VeilNet Conflux provides a user-friendly interface for connecting to network planes, managing organizations, and monitoring VPN status.
- π Authentication: Secure user authentication via Supabase
- π Multi-Platform VPN: Connect to VeilNet VPN on Windows, Linux, macOS, and Android
- π Connection Management: Monitor and control VPN connection status
- π’ Organization Management: Manage and switch between different organizations
- π Notifications: Stay informed with in-app notifications
- βοΈ Settings: Customize app preferences including dark mode
- π± Cross-Platform: Native support for desktop and mobile platforms
- Windows (x64)
- Linux
- macOS (Not Completed)
- Android
- Flutter SDK (3.9.2 or higher)
- Dart SDK (3.9.2 or higher)
- Platform-specific build tools:
- Android: Android Studio with Android SDK
- iOS/macOS: Xcode (macOS only)
- Windows: Visual Studio with C++ development tools
- Linux: CMake and build essentials
- Clone the repository:
git clone <repository-url>
cd conflux_app- Install Flutter dependencies:
flutter pub get- Generate code (for Riverpod providers and JSON serialization):
flutter pub run build_runner build --delete-conflicting-outputsflutter runflutter run -d windowsflutter run -d linuxflutter run -d macoslib/
βββ components/ # Reusable UI components
β βββ conflux/ # VPN connection components
β βββ notification/ # Notification components
β βββ org/ # Organization components
β βββ realm/ # Network realm components
β βββ profile/ # User profile components
β βββ settings/ # Settings components
β βββ team/ # Team management components
βββ models/ # Data models
βββ pages/ # Application pages/screens
β βββ auth_page.dart
β βββ main_page.dart
β βββ notification_page.dart
β βββ organisation_page.dart
βββ providers/ # Riverpod state providers
βββ views/ # View components
β βββ home_view.dart
β βββ plane_view.dart
β βββ setting_view.dart
βββ main.dart # Application entry point
The application uses Supabase for backend services. Configuration is currently hardcoded in main.dart. For production use, consider moving these to environment variables or a configuration file.
flutter build apk --release
# or for app bundle
flutter build appbundle --releaseflutter build windows --releaseflutter build linux --releaseflutter build macos --releaseKey dependencies include:
- hooks_riverpod: State management
- go_router: Navigation and routing
- supabase_flutter: Backend services and authentication
- dio: HTTP client
- freezed: Code generation for immutable classes
- flutter_animate: Animation utilities
See pubspec.yaml for the complete list of dependencies.
This project uses code generation for:
- Riverpod providers (
riverpod_generator) - JSON serialization (
json_serializable) - Freezed classes (
freezed)
Run code generation with:
flutter pub run build_runner build --delete-conflicting-outputsFor watch mode (auto-regenerate on file changes):
flutter pub run build_runner watch --delete-conflicting-outputsThe project uses custom_lint and flutter_lints for code quality. Run:
flutter analyzeSee LICENSE.md for details.
Contributions are welcome! Please ensure your code follows the project's linting rules and includes appropriate tests.
For issues and questions, please open an issue on the repository.