gayanvoice / android-vpn-client-ics-openvpn

⭐ Create your Android VPN App by using Android Studio and publish to Google Play Store 🤖
https://gayanvoice.medium.com/develop-a-vpn-app-in-java-using-android-studio-6f1f2d66031e
MIT License
585 stars 318 forks source link
android android-studio androidx java openvpn openvpn-client vpn vpn-client

android-vpn-client-ics-openvpn Image of insights

Build Status API GitHub code size in bytes Image of insights

Set up 🚀 GitHub Profile Views Counter counter to track how many people have viewed your GitHub profile
Android VPN Client using ics-openvpn

Go to the Medium article to see how to configure the project https://medium.com/@kuruppu.gayan/develop-a-vpn-app-in-java-using-android-studio-6f1f2d66031e?sk=57ebd1c9175d5f56bd8e328731b5ac74

The client app is based on OpenVPN protocol, and you can create your own android VPN apps like Turbo VPN, Thunder VPN, or Hotspot Shield Free VPN.

The app can calculate the daily usage of data, connected time, check connection speed from notifications, change the interface into night-mode, multiple servers, remote-config and visual-effects.

Does not support Android 10

The servers are now offline! So the servers are waiting for a connection. Get an OpenVPN file and paste the file in filedetails.json. Create your own JSON file and host in a server.

Links

Get the APK files from the following app-stores

  1. https://play.google.com/store/apps/details?id=com.buzz.vpn
  2. https://buzz-vpn-fast-free-unlimited-secure-vpn-proxy.en.uptodown.com/android
  3. https://www.amazon.com/Buzz-VPN-Free-Pop-up-Ads/dp/B07T3X677T

Images

Android VPN Client using ics-openvpn

Watch

Introduction

In this android app, you can develop your own android vpn client. The project is based up on https://github.com/schwabe/ics-openvpn.

This repository contains the files related to the app. The master branch contains the app's source code (the code the app's developers edit).

The remainder of this document contains how to deploy the app on production and configuring the source code.

Develop

Follow https://github.com/gayanvoice on GitHub

1 Select checkout project from version control

https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/step-1-checkout-project-from-version-control.png

2 Enter the link of the repository and select project folder

https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/step-2-enter-the-link-of-the--git-repository.png

3 Click Yes to open the repositoy on the project

https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/step-3-click-yes-to-open-the-repository.png

4 Build started

https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/step-4-build-started.png

5 Build finished

https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/step-5-build-finished.png

Deploy

Install OpenVPN server for multiple users by few steps. Go to this repository and clone. Run the script OpenVPN Install for Multiple Users

Remote config

App details

Load the details of the app from the following link app details. Go to appdetails.json.

File details

Load the OpenVPN files from the following link file details. Go to filedetails.json.

Configure appdetails.json

{
  "ads":"true",
  "update":[{
    "version":"2.8.1600",
    "title":"This app is now Open Source",
    "description":"The App is available at github.com/gayankuruppu/android-vpn-client-ics-openvpn",
    "size":"https://git.io/JeY69"
  }],
  "blocked":[
    {"id":0, "app":"com.android.game"},
    {"id":1, "app":"com.utorrent.client"},
    {"id":2, "app":"com.torrent.client"},
    {"id":3, "app":"com.tor.client"},
    {"id":4, "app":"com.insta.client"},
    {"id":5, "app":"com.facebook.client"},
    {"id":6, "app":"com.get.client"}
  ],
  "free":[
    {"id":0, "file":0, "city":"Essen","country":"Germany","image":"germany","ip":"51.68.191.75","active":"true","signal":"a"},
    {"id":1, "file":0, "city":"Hamburg","country":"Germany","image":"germany","ip":"51.68.191.75","active":"true","signal":"b"},
    {"id":2, "file":1, "city":"Los Angeles CA","country":"United States","image":"unitedstates","ip":"205.185.119.100","active":"true","signal":"c"}
  ]
}

The appdetails.json file has four main parts.

Configure filedetails.json

{
  "ovpn_file":[
    {"id":0,"file":"client
    dev tun
    proto udp
    ...
    d4ec4105a39c814bd980c9c0e0b8efb4
    -----END OpenVPN Static key V1-----
    </tls-auth>"},
    {"id":1,"file":""}]
}

Run the app

References

  1. OpenVPN for Android - GitHub
  2. Develop a VPN App in Java using Android Studio - Medium