MuntashirAkon / AppManager

A full-featured package manager and viewer for Android
https://muntashirakon.github.io/AppManager/
Other
5.05k stars 282 forks source link

Add App Firewall #80

Closed MuntashirAkon closed 3 years ago

MuntashirAkon commented 4 years ago

Being an app manager, AM should support app firewall, preferably, for both root and non-root users.

Related implementations

Actually, there is already an iptables-based firewall implementation available within AM (thanks to AppOpsX). But it doesn't yet have a front-end.

Atrate commented 4 years ago

It is also possible to implement a firewall through Xposed (EdXposed) (to augument an iptables-based one, not replace it, since an Xposed-based fw will always be active, even on startup).

An example implementation is https://forum.xda-developers.com/xposed/modules/app-lightningwall-t2746254 by Defim, but it is not open-source.

MuntashirAkon commented 4 years ago

It is also possible to implement a firewall through Xposed (EdXposed) (to augument an iptables-based one, not replace it, since an Xposed-based fw will always be active, even on startup).

An example implementation is https://forum.xda-developers.com/xposed/modules/app-lightningwall-t2746254 by Defim, but it is not open-source.

Xposed is not supported by my device. So, no support for Xposed will be provided in AM.

0pLuS0 commented 4 years ago

Am should support firewalls in what way?

What is the request being asked here, I don't understand?

Thanks

MuntashirAkon commented 4 years ago

Am should support firewalls in what way?

This discussion here is purely technical. Once the implementation is completed, I'll add a user-friendly documentation in the docs site.

0pLuS0 commented 4 years ago

Ok, I was just hoping that a firewall was not going to be implemented into AM is all...

THANKS

P.S. I am Technical I am a Linux Geek of 20 years... :+1:

MuntashirAkon commented 4 years ago

Ok, I was just hoping that a firewall was not going to be implemented into AM is all...

An app manager should manage every aspects of an app, not just install/uninstall/backup/restore.

P.S. I am Technical I am a Linux Geek of 20 years... 👍

Then you should know that AM already uses Intent Firewall to block app components. Internet firewall is different but very similar concept.

0pLuS0 commented 4 years ago

Well I'm not an Android Geek, I haven't done much in Android, so I don't know much about the Intent Firewall.

So my understanding is that the the Intent Firewall is a component of the Android framework, so what is AM doing, adding it's own Firewall Rules to run off of the Intent Firewall?

I planned to run AFWall+ on a next release, how is this firewall going to work, with what is being done in AM, in regards to the Intent Firewall, might this cause any conflicts?

MuntashirAkon commented 4 years ago

I planned to run AFWall+ on a next release, how is this firewall going to work, with what is being done in AM, in regards to the Intent Firewall, might this cause any conflicts?

AFWall+ isn't an Intent Firewall, it's an Internet Firewall.

This isn't the place to describe everything about Android firewall system. For intent firewall, you can visit the external links provided in the FAQ section.

0pLuS0 commented 4 years ago

Yes I understand this isn't the place of these discussions.

I only have one question, so AFWall+ and the Intent Firewall can't create conflicts with each other?

THANKS

MuntashirAkon commented 4 years ago

I only have one question, so AFWall+ and the Intent Firewall can't create conflicts with each other?

No, these are completely different things.

0pLuS0 commented 4 years ago

Ok sorry my bad...

UltraBlackLinux commented 4 years ago

I would not want an afwall implementation - keep it apart please. App manager is not an app replacer - it's a toolkit-thing for managing apps - the most I would add is a link to afwall's github or an install button. I mean, if AM had weird random crashes, afwall would also die. AFwall is very important for me btw.

MuntashirAkon commented 4 years ago

I would not want an afwall implementation - keep it apart please.

You're again talking out of context here. I link the related implementations to study how they work or how they are related.

That being said, AM isn't going to implement AFWall+ because AM will not include methods which do not work. IPC on Android is very different from what you see in most operating systems and typical firewall doesn't really work for apps which badly want to connect to the Internet and you'll never know until you capture packets because the data usage will never display anything in the app settings.

MuntashirAkon commented 3 years ago

As I mentioned earlier, Android is built in such a way that it is impossible to stop an app from connecting to the Internet using the IP Tables on its own. The alternative way would be to use VPN style blocking like NetGuard (pDNSf or hosts based blocking are beyond the scope of this project). But I think NetGuard already offers the best service and implementing such feature in AM will further complicate things. In future, I may consider adding this functionality as a separate add-on. But the original issue can't be implemented. But the related branch will still be kept.

GuiSousa135 commented 6 months ago

And using the VPN function for block or allow internet traffic? as like the NetGuard app