pass-with-high-score/blockads-android
GitHub: pass-with-high-score/blockads-android
一款基于本地 VPN 的 Android 全局广告拦截应用,无需 root 即可实现系统级 DNS 过滤
Stars: 39 | Forks: 3
## 截图
## 功能
* 通过 DNS 过滤实现全局广告拦截 —— 无需 root 权限
* 多种内置过滤列表(StevenBlack, AdGuard DNS, EasyList 等)
* 区域感知默认设置 —— 自动启用适合您语言的过滤器
* 实时 DNS 查询日志,支持搜索和过滤
* 安全防护 —— 拦截钓鱼、恶意软件和恶意广告域名
* 深色 / 浅色 / 系统主题,支持 Material 3 动态配色
* 7 种强调色选项 + Material You 动态主题
* 快速设置磁贴和主屏幕小部件
* 自定义拦截/允许规则和白名单
* 按应用过滤(对选定的应用绕过 VPN)
* 支持 DNS-over-HTTPS (DoH),提供多个服务商
* 按计划自动更新过滤列表(6h / 12h / 24h / 48h)
* 导出 / 导入设置备份
* 开机自动重连
* 多语言支持(English, Vietnamese, Japanese, Korean, Chinese, Thai, Spanish)
* 100% 本地化 —— 所有数据均保留在您的设备上
## 构建说明
### 环境要求
* [Android Studio](https://developer.android.com/studio) Ladybug 或更新版本
* JDK 17 或更高版本
* Android SDK 36 (最低 SDK 24)
### 步骤
1. 克隆仓库:
git clone https://github.com/pass-with-high-score/blockads-android.git
cd blockads-android
2. 在 Android Studio 中打开项目
3. 同步 Gradle 并在设备或模拟器上运行应用
4. 从命令行构建:
./gradlew assembleDebug
./gradlew bundleRelease # 需要签名密钥
## 工作原理
BlockAds 在您的设备上创建一个本地 VPN。DNS 查询通过它进行路由,并使用内存高效的 Trie 数据结构与过滤列表进行匹配。匹配的查询在本地被拦截。所有其他流量正常通过 —— 没有任何数据离开您的设备。
## 许可证
本项目采用 **GNU General Public License v3.0** 授权。
您可以在许可证条款下自由使用、修改和分发它。
有关详细信息,请参阅完整的 [LICENSE](LICENSE) 文件。
### 帮助我们翻译 BlockAds
想用您的母语使用 BlockAds?
请提交 issue 或发送包含您翻译内容的 PR。
## Star History
[](https://www.star-history.com/#pass-with-high-score/blockads-android&Date)
标签:DNS过滤, F-Droid, Jetpack Compose, Kotlin, Material Design 3, Redis利用, 免费软件, 去广告工具, 反追踪, 安卓应用, 广告拦截, 无Root, 无数据收集, 本地VPN, 流量过滤, 目录枚举, 移动安全, 系统级拦截, 网络安全, 网络安全, 防恶意软件, 隐私保护, 隐私保护