Peach VPN v4.0版本的 MD5 值为:44c7a87caba90fec9b7945dd44651111
以下内容为反编译后的 MyVPNService.java 源代码,内容仅作参考
package com.peacholo.peach.Service;
import android.content.Intent;
import android.net.VpnService;
import android.os.ParcelFileDescriptor;
import com.google.android.gms.common.ConnectionResult;
import com.peacholo.peach.Activity.PrimaryActivity;
import com.peacholo.peach.R;
public class MyVPNService extends VpnService {
private ParcelFileDescriptor mInterface;
private ParcelFileDescriptor establishVPNConnection() {
VpnService.Builder builder = new VpnService.Builder(this);
builder.setSession(getString(R.string.app_name));
builder.addAddress("10.0.0.2", 32);
builder.addRoute("0.0.0.0", 0);
builder.setMtu(ConnectionResult.DRIVE_EXTERNAL_STORAGE_REQUIRED);
return builder.establish();
}
public void startVPN() {
try {
if (VpnService.prepare(getApplicationContext()) == null) {
this.mInterface = establishVPNConnection();
} else {
Intent intent = new Intent(this, (Class<?>) PrimaryActivity.class);
intent.setAction("android.net.VpnService.START");
intent.addFlags(268435456);
startActivity(intent);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void stopVPN() {
try {
ParcelFileDescriptor parcelFileDescriptor = this.mInterface;
if (parcelFileDescriptor != null) {
parcelFileDescriptor.close();
this.mInterface = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}