package com.example.vpnapp;
import android.app.Activity;
import android.content.Intent;
import android.net.VpnService;
import android.os.Bundle;
import android.util.Log;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class VpnActivity extends Activity {
private static final String TAG = “VpnActivity”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startVpnService();
}
private void startVpnService() {
Intent intent = VpnService.prepare(this);
if (intent != null) {
startActivityForResult(intent, 0);
} else {
establishVpn();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
establishVpn();
} else {
Log.e(TAG, "VPN permission denied");
}
}
private void establishVpn() {
try {
VpnService.Builder builder = new VpnService.Builder();
builder.addAddress("10.0.0.2", 24); // Example IP address
builder.addDnsServer("dns2.emmanuel2507.nas64.de");
builder.setSession("MyVPNService");
builder.setBlocking(true);
builder.establish();
Log.i(TAG, "VPN established");
} catch (Exception e) {
Log.e(TAG, "Error establishing VPN", e);
}
}
}
Leave a Reply