Minimalistic Android VPN App

Job ID: 39684100

Budget: $300 – $400 USD

I need a VPN app developed for Android, based on OpenVPN. The app should feature auto-reconnect and allow for custom connecting logic.

Key Requirements:
- Platform: Android
- Primary Features:
- Auto-reconnect
- Custom connecting logic
- Design Style: Minimalistic

Ideal Skills and Experience:
- Strong background in Android app development
- Experience with OpenVPN
- Proficiency in implementing auto-reconnect features
- Ability to design and develop custom connecting logic
- Strong UI/UX design skills with a focus on minimalistic aesthetics

# Project: Android Application with Modified OpenVPN Client Integration

## Technical Description

### Application Architecture
1. **Main Components**:
- Main Activity with input fields
- VPN service
- Modified OpenVPN client
- Server selection and configuration manager

### Core Functionality
1. **User Input Fields**:
- Subscription key (authorization token)
- API endpoint (URL for key retrieval)
- IP address field

2. **Application Workflow**:
- The user fills in the required fields.
- Upon connection:
- The VPN key is fetched via the API.
- The downloaded key replaces the default OpenVPN config.
- File validation is performed:
- Checks for the `remote` parameter.
- If validation fails, a fallback key is used.
- The optimal server is selected based on ping latency.
- After successful validation and setup:
- OpenVPN launches with the updated configuration.
- Routes and VPN tunnel are configured.

3. **OpenVPN Core Modifications**:
- Uses a patched kernel from the provided repository (`ics-openvpn-xor`).
- If direct integration is not possible:
- Extract required functions from the repository.
- Implement similar logic using standard OpenVPN.

4. **Final Deliverable**:
- Compiled APK file.

### Additional Aspects
- Logging
- Clear logs showing key stages:
- Key download status.
- Configuration validation.
- VPN connection attempts.
- Route setup.