Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 630b9fdf authored by Guillaume Jacquart's avatar Guillaume Jacquart Committed by Guillaume Jacquart
Browse files

/e/ make appList a bypassTor list.

parent 629698ec
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -350,20 +350,15 @@ public class OrbotVpnManager implements Handler.Callback, OrbotConstants {
    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    private void doLollipopAppRouting(VpnService.Builder builder) throws NameNotFoundException {
        var apps = TorifiedApp.getApps(mService, prefs);
        var perAppEnabled = false;
        var canBypass = !isVpnLockdown(mService);

        if (canBypass) {
            for (TorifiedApp app : apps) {
            if (app.isTorified() && (!app.getPackageName().equals(mService.getPackageName()))) {
                if (prefs.getBoolean(app.getPackageName() + OrbotConstants.APP_TOR_KEY, true)) {
                    builder.addAllowedApplication(app.getPackageName());
                }

                perAppEnabled = true;
                if (app.isBypassTor()) {
                    builder.addDisallowedApplication(app.getPackageName());
                }
            }

        if (!perAppEnabled && canBypass) {
            builder.addDisallowedApplication(mService.getPackageName());
            for (String packageName : OrbotConstants.BYPASS_VPN_PACKAGES)
                builder.addDisallowedApplication(packageName);
+8 −8
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ public class TorifiedApp implements Comparable {
    private Drawable icon;
    private String packageName;

    private boolean torified = false;
    private boolean bypassTor = false;
    private boolean usesInternet = false;
    private int[] enabledPorts;

@@ -111,7 +111,7 @@ public class TorifiedApp implements Comparable {
            //app.setIcon(pMgr.getApplicationIcon(aInfo));

            // check if this application is allowed
            app.setTorified(Arrays.binarySearch(tordApps, app.getPackageName()) >= 0);
            app.setBypassTor(Arrays.binarySearch(tordApps, app.getPackageName()) >= 0);
        }

        Collections.sort(apps);
@@ -125,9 +125,9 @@ public class TorifiedApp implements Comparable {
               insensitive they'd appear at the end of the grid of apps, a position where users
               would likely not expect to find them.
             */
            if (o1.isTorified() == o2.isTorified())
            if (o1.isBypassTor() == o2.isBypassTor())
                return o1.getName().compareToIgnoreCase(o2.getName());
            if (o1.isTorified()) return -1;
            if (o1.isBypassTor()) return -1;
            return 1;
        });
    }
@@ -140,12 +140,12 @@ public class TorifiedApp implements Comparable {
        this.usesInternet = usesInternet;
    }

    public boolean isTorified() {
        return torified;
    public boolean isBypassTor() {
        return bypassTor;
    }

    public void setTorified(boolean torified) {
        this.torified = torified;
    public void setBypassTor(boolean bypassTor) {
        this.bypassTor = bypassTor;
    }

    public int[] getEnabledPorts() {