All Projects → chiehmin → Minminguard

chiehmin / Minminguard

Licence: gpl-3.0
The best advertisement blocker on Android!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Minminguard

SoundCloudAdAway
Removes ads in the SoundCloud Android app.
Stars: ✭ 25 (-94.06%)
Mutual labels:  ad-blocker, xposed
Taichi Magisk
A Magisk module providing magic power over TaiChi.
Stars: ✭ 386 (-8.31%)
Mutual labels:  xposed
Kakaotalkadblock
AdBlock for KakaoTalk Desktop Client
Stars: ✭ 283 (-32.78%)
Mutual labels:  ad-blocker
Wechatbotxposed
微信回复机器人,Xposed模块
Stars: ✭ 335 (-20.43%)
Mutual labels:  xposed
Fakelocation
Xposed module to mock locations per app.
Stars: ✭ 300 (-28.74%)
Mutual labels:  xposed
Wework
xposed 企业微信 个人微信 hook 自动抢回复 消息防撤回 会话 好友列表 群管理 朋友圈 机器人 SDK
Stars: ✭ 352 (-16.39%)
Mutual labels:  xposed
Epic
Dynamic java method AOP hook for Android(continution of Dexposed on ART), Supporting 5.0~11
Stars: ✭ 3,434 (+715.68%)
Mutual labels:  xposed
Edxposed
Elder driver Xposed Framework.
Stars: ✭ 4,458 (+958.91%)
Mutual labels:  xposed
Resilience
Resilience is an ad blocker for your computer.
Stars: ✭ 379 (-9.98%)
Mutual labels:  ad-blocker
Hosts
🔒 Consolidating and extending hosts files from several well-curated sources. Optionally pick extensions for porn, social media, and other categories.
Stars: ✭ 19,363 (+4499.29%)
Mutual labels:  ad-blocker
Xposedbridge
The Java part of the Xposed framework.
Stars: ✭ 3,420 (+712.35%)
Mutual labels:  xposed
Fuckview
[Deprecated] An app which can block any views you want to block in any apps.It's experimental.
Stars: ✭ 303 (-28.03%)
Mutual labels:  xposed
Rebatebot
RebateBot, based on WeChat to establish robot channels and users to quickly generate rebate links through chat
Stars: ✭ 361 (-14.25%)
Mutual labels:  xposed
Corepatch
Disable signature verification For Android
Stars: ✭ 277 (-34.2%)
Mutual labels:  xposed
Androididchanger
Xposed Module for Changing Android Device Info
Stars: ✭ 394 (-6.41%)
Mutual labels:  xposed
Adaway
AdAway is a free and open source ad blocker for Android.
Stars: ✭ 3,649 (+766.75%)
Mutual labels:  ad-blocker
Xposedinstaller
No description or website provided.
Stars: ✭ 3,441 (+717.34%)
Mutual labels:  xposed
Xposedtools
These tools can be used to compile and package the Xposed framework.
Stars: ✭ 355 (-15.68%)
Mutual labels:  xposed
Taichi
A framework to use Xposed module with or without Root/Unlock bootloader, supportting Android 5.0 ~ 11.
Stars: ✭ 4,588 (+989.79%)
Mutual labels:  xposed
Hosts
Hostfile blocklist for ads and tracking, updated regularly
Stars: ✭ 398 (-5.46%)
Mutual labels:  ad-blocker

icon MinMinGuard

Build Status

Introduction

MinMinGuard is an Ad-remover made with Xposed Framework for Android. MinMinGuard can completely remove both the ads inside apps and the empty space caused by those ads. Conventional ads removing apps are only able to block the ad content, but the space taken by the ad will still remain unused (black). MinMinGuard successfully removes that black space, which extends the app window and makes your user-experience better!

Comparison

Discussion and Supports

If you have any idea or need some supports, you are welcome to post on the Xda Developers forum or chat in the Gitter Room.

Join the chat at https://gitter.im/MinMinGuard/MinMinGuard

Developing and Contributing

Adding a new ad network into support

You may find some apps' ads are not blocked and removed by MinMinGuard. This may cause by the apps use non-supported ad networks(some local ads providers ex: Vpon in Taiwan). In this case you can help me by doing a reverse engineering on the app and add the non-supported ad network into support.

public abstract class Blocker {
    /**
     *
     * @param packageName
     * @param lpparam
     * @param removeAd
     * @return True if currrent handling app using this adnetwork. False otherwise.
     */
    abstract public boolean handleLoadPackage(final String packageName, XC_LoadPackage.LoadPackageParam lpparam, final boolean removeAd);
    abstract public String getBanner();
    abstract public String getBannerPrefix();
    public String getName() {
        return getClass().getSimpleName();
    }
}

You can implement a ad network blocker by extending Blocker class. Method handleLoadPackage is used for API based blocking to intercept api call for loading ads from adview. You can leverage ApiBlocking.removeBanner and ApiBlocking.blockAdFunction to remove banner view and block ad functions. Method getBanner and getBannerPrefix are used for Name based blocking. You can opt to return null and name based blocking will not be triggered.

public class Flurry extends Blocker {

  public static final String BANNER = "com.flurry.android.FlurryAds";
  public static final String BANNER_PREFIX = "com.flurry.android";

  public static final String NATIVE_AD = "com.flurry.android.ads.FlurryAdNative";

	@Override
	public String getBannerPrefix() {
		return BANNER_PREFIX;
	}

	@Override
	public String getBanner() {
		return BANNER;
	}
	public boolean handleLoadPackage(final String packageName, LoadPackageParam lpparam, final boolean removeAd) {
    boolean result = false;
    result |= ApiBlocking.removeBanner(packageName, BANNER, "displayAd", lpparam, removeAd);
    result |= ApiBlocking.blockAdFunction(packageName, BANNER, "fetchAd", lpparam, removeAd);
    result |= ApiBlocking.blockAdFunction(packageName, NATIVE_AD, "fetchAd", lpparam, removeAd);
		return result;
	}
}
public static Blocker[] blockers = {
        /* Popular adnetwork */
        new Ad2iction(), new Adbert(), new Adfurikun(), new AdMarvel(), new Admob(), new AdmobGms(), new Amazon(),
        new Amobee(), new AppBrain(), new Bonzai(), new Chartboost(), new Domob(), new Facebook(), new Flurry(),
        new GmsDoubleClick(), new Hodo(), new ImpAct(), new Inmobi(), new Intowow(), new KuAd(), new mAdserve(),
        new Madvertise(), new MasAd(), new MdotM(), new Millennial(), new Mobclix(), new MoPub(), new Nend(),
        new Og(), new Onelouder(), new OpenX(), new SmartAdserver(), new Smarti(), new Startapp(), new Tapfortap(),
        new TWMads(), new UnityAds(), new Vpadn(), new Vpon(), new Waystorm(), new Yahoo()
};

Above is a classic example. After you complete the new blocker, you have to remember to add it to the blockers array at the Main class to activiate the new blocker.

Contributors

Your name will be listed here if you contribute some significant changes into the project.

Legal and Licensing

MinMinGuard is licensed under the GPL-3.0 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].