{"id":13398949,"url":"https://github.com/ukanth/afwall","last_synced_at":"2026-03-01T06:06:52.674Z","repository":{"id":5239967,"uuid":"6417181","full_name":"ukanth/afwall","owner":"ukanth","description":"AFWall+ (Android Firewall +) - iptables based firewall for Android ","archived":false,"fork":false,"pushed_at":"2026-02-23T14:07:11.000Z","size":38513,"stargazers_count":3275,"open_issues_count":191,"forks_count":483,"subscribers_count":156,"default_branch":"beta","last_synced_at":"2026-02-23T21:45:41.418Z","etag":null,"topics":["afwall","android","android-firewall","block","crowdin","firewall","iptables"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mholt/PapaParse","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ukanth.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-10-27T13:20:30.000Z","updated_at":"2026-02-23T14:42:10.000Z","dependencies_parsed_at":"2024-04-10T22:48:20.692Z","dependency_job_id":"0ddcad03-65fd-468c-909b-8aae2def36e5","html_url":"https://github.com/ukanth/afwall","commit_stats":{"total_commits":1706,"total_committers":40,"mean_commits":42.65,"dds":"0.24618991793669398","last_synced_commit":"4f5e5cbbff0ca1023a75c7c95faa4a8e938cf942"},"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/ukanth/afwall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukanth%2Fafwall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukanth%2Fafwall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukanth%2Fafwall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukanth%2Fafwall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ukanth","download_url":"https://codeload.github.com/ukanth/afwall/tar.gz/refs/heads/beta","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ukanth%2Fafwall/sbom","scorecard":{"id":907723,"data":{"date":"2025-08-11","repo":{"name":"github.com/ukanth/afwall","commit":"7781903380d125a8fbfd9c7ec51b093350ebe532"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":5,"reason":"Found 9/17 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/android.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":0,"reason":"binaries present in source code","details":["Warn: binary detected: app/src/main/res/raw/busybox_arm:1","Warn: binary detected: app/src/main/res/raw/busybox_mips:1","Warn: binary detected: app/src/main/res/raw/busybox_x86:1","Warn: binary detected: app/src/main/res/raw/ip6tables_arm:1","Warn: binary detected: app/src/main/res/raw/ip6tables_mips:1","Warn: binary detected: app/src/main/res/raw/ip6tables_x86:1","Warn: binary detected: app/src/main/res/raw/iptables_arm:1","Warn: binary detected: app/src/main/res/raw/iptables_mips:1","Warn: binary detected: app/src/main/res/raw/iptables_x86:1","Warn: binary detected: app/src/main/res/raw/nflog_arm:1","Warn: binary detected: app/src/main/res/raw/nflog_arm64:1","Warn: binary detected: app/src/main/res/raw/nflog_mips:1","Warn: binary detected: app/src/main/res/raw/nflog_x86:1","Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/ukanth/afwall/android.yml/beta?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/ukanth/afwall/android.yml/beta?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/android.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ukanth/afwall/android.yml/beta?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v3.6.1 not signed: https://api.github.com/repos/ukanth/afwall/releases/181985244","Warn: release artifact v3.6.0 not signed: https://api.github.com/repos/ukanth/afwall/releases/119001782","Warn: release artifact v3.5.3 not signed: https://api.github.com/repos/ukanth/afwall/releases/70699204","Warn: release artifact v3.5.2 not signed: https://api.github.com/repos/ukanth/afwall/releases/43017011","Warn: release artifact v3.6.1 does not have provenance: https://api.github.com/repos/ukanth/afwall/releases/181985244","Warn: release artifact v3.6.0 does not have provenance: https://api.github.com/repos/ukanth/afwall/releases/119001782","Warn: release artifact v3.5.3 does not have provenance: https://api.github.com/repos/ukanth/afwall/releases/70699204","Warn: release artifact v3.5.2 does not have provenance: https://api.github.com/repos/ukanth/afwall/releases/43017011"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T17:55:56.075Z","repository_id":5239967,"created_at":"2025-08-24T17:55:56.075Z","updated_at":"2025-08-24T17:55:56.075Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29962001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T05:59:08.471Z","status":"ssl_error","status_checked_at":"2026-03-01T05:58:04.208Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afwall","android","android-firewall","block","crowdin","firewall","iptables"],"created_at":"2024-07-30T19:00:32.941Z","updated_at":"2026-03-01T06:06:52.660Z","avatar_url":"https://github.com/ukanth.png","language":"Java","readme":"# AFWall+ (Android Firewall+)\n\n[![Android CI](https://github.com/ukanth/afwall/workflows/Android%20CI/badge.svg?branch=beta)](https://github.com/ukanth/afwall/actions) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/afwall/localized.png)](https://crowdin.net/project/afwall) ![License](https://img.shields.io/github/license/ukanth/afwall) ![F-Droid](https://img.shields.io/f-droid/v/dev.ukanth.ufirewall) ![Downloads](https://img.shields.io/github/downloads/ukanth/afwall/total) ![Repo Size](https://img.shields.io/github/repo-size/ukanth/afwall)\n\n[![Build AFWall+ Binaries](https://github.com/ukanth/afwall/actions/workflows/build-binaries.yml/badge.svg)](https://github.com/ukanth/afwall/actions/workflows/build-binaries.yml)\n\n\u003e **Your Privacy, Your Control** - AFWall+ gives you complete control over which apps can access the internet on your Android device.\n\n---\n\n\n## Support AFWall+ Development\n\nAFWall+ is developed and maintained by volunteers. If you find it useful, please consider supporting the project:\n\n### How to Donate\n\n**Why donate?** AFWall+ is free and open-source. Your support helps:\n- Continue development and add new features\n- Fix bugs and keep the app stable\n- Support more Android versions and devices\n- Maintain documentation and help the community\n\n**Donation options:**\n- **PayPal**: [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=6E4VZTULRB8GU)\n- **Google Play**: Purchase the [unlocker key](https://play.google.com/store/apps/details?id=dev.ukanth.ufirewall.donate) for extra features\n- **Amazon Gift Cards**: `cumakt+amazon at gmail.com` (not preferred)\n- **Bitcoin**: `bc1q54nf3y9zmdcpasxx9sywkprd6309rfhav3mape`\n- **Ethereum**: `0x5e65649C2B26eD816fCeD25a8E507C90D4b1D697`\n\nAfter donating, please send your receipt to contact@portgenix.com to receive an unlocker. Please allow 1-2 days for a response.\n\n### Other Ways to Help\n- Star this repository\n- Report bugs and test new features\n- Contribute translations on [Crowdin](http://crowdin.net/project/afwall)\n- Improve documentation\n- Help other users in forums\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/ukanth/afwall/0502e6f17ceda08069720ff2f260902690e65e9b/screenshots/Main_2.0.png\" width=\"300\" alt=\"AFWall+ Screenshot\"\u003e\n\u003c/p\u003e\n\n\n## What is AFWall+?\n\n**AFWall+ (Android Firewall+)** is a powerful, open-source firewall application for rooted Android devices. Built on Linux's robust `iptables` framework, AFWall+ provides **granular network control** at the system level - something impossible with standard Android permissions.\n\n\n### Core Purpose\n- Block unwanted network access by apps, even if they have internet permission\n- Prevent data leaks and unauthorized background connections\n- Monitor network activity with comprehensive logging\n- Save battery and data by controlling which apps can connect\n- Enhance privacy by blocking tracking and analytics\n\n\n### How It Works\nAFWall+ operates at the Linux kernel level using `iptables` rules to:\n1. Intercept all network requests before they leave your device\n2. Apply custom firewall rules based on your preferences\n3. Allow or block connections per app, per network type (WiFi, mobile, VPN)\n4. Log blocked attempts for monitoring and analysis\n\nThis approach is much more powerful than app-level solutions because it works regardless of how apps try to connect to the internet.\n\n---\n\n\n## Download\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=dev.ukanth.ufirewall\"\u003e\n    \u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" alt=\"Get it on Google Play\" height=\"80\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://f-droid.org/packages/dev.ukanth.ufirewall/\"\u003e\n    \u003cimg src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" alt=\"Get it on F-Droid\" height=\"80\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ukanth/afwall/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-Releases-blue?style=for-the-badge\u0026logo=github\" alt=\"GitHub Releases\" height=\"80\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n**Release Notes**: Check the [changelog](https://github.com/ukanth/afwall/blob/beta/Changelog.md) for what's new in each version.\n\n---\n\n\n## Key Features\n\n\n### Granular Control\n- Per-app network rules: Allow or block individual apps\n- Network type filtering: Different rules for WiFi, mobile data, VPN, tethering\n- IPv4 \u0026 IPv6 support\n- Custom rule scripting for advanced users\n\n\n### User Experience\n- Clean, intuitive interface\n- Quick search and filtering\n- Bulk operations for multiple apps\n- Profile management for different rule sets\n\n\n### Monitoring \u0026 Logging\n- Real-time network monitoring\n- Detailed connection logs\n- Notification system for blocked attempts\n- Export/import rules for backup or sharing\n\n\n### Advanced Features\n- Boot protection: Apply rules before apps start\n- Startup delay management\n- Multi-user support\n- Tasker/Locale integration for automation\n- Password protection\n- Tor and VPN detection\n\n\n### Network Types Supported\n- Mobile Data (3G/4G/5G), including roaming detection\n- WiFi (home, work, public hotspots)\n- VPN (all types and providers)\n- Tethering (WiFi hotspot, USB, Bluetooth)\n- Tor (onion routing support)\n- LAN (local network access)\n\n---\n\n\n## System Requirements\n\n\n### Compatibility\n- Android versions: 5.0 (API 21) to 14+ (actively maintained)\n  - Legacy support: Android 4.x (version 2.9.9), Android 2.x (version 1.3.4.1)\n- Root access: Required (Magisk, SuperSU, LineageOS su)\n- Architectures: ARM, ARM64, x86, x86_64\n- Storage: ~15MB app + ~5MB for binaries\n\n\n### Root Methods Supported\n- Magisk (recommended)\n- LineageOS built-in su\n- SuperSU (legacy)\n- KingRoot (not recommended)\n\n\n### Limitations\n- Requires root access (no root = no functionality)\n- Not an antivirus (doesn't scan files for malware)\n- Not an ad-blocker (blocks network access, not ads within allowed connections)\n- VPN conflicts: Some VPN apps may interfere with firewall rules\n- System-level apps: Some system processes may bypass rules if they have root access\n\n---\n\n\n## Quick Start Guide\n\n\n### 1. Pre-Installation\n```bash\n# Verify root access\nsu -c \"id\"\n# Should return: uid=0(root) gid=0(root)\n```\n\n### 2. Installation\n- Install AFWall+ from your preferred source\n- Grant root permission when prompted\n- Enable the firewall on the main screen\n\n### 3. Basic Configuration\n1. Enable the firewall (toggle the main switch)\n2. Configure apps (tap apps to allow WiFi or mobile data)\n3. Apply rules (tap the apply button)\n4. Test connectivity (verify apps work as expected)\n\n### 4. Essential Settings\n- Boot startup delay: Prevents rule conflicts during boot\n- Notification settings: Control alert behavior\n- Log settings: Enable if you want connection monitoring\n\n---\n\n\n## Advanced Configuration\n\n\n### Custom Rules\nAFWall+ supports custom iptables rules for advanced users:\n\n```bash\n# Example: Allow specific IP range\n-A afwall-wifi -d 192.168.1.0/24 -j ACCEPT\n\n# Example: Block specific port\n-A afwall -p tcp --dport 443 -j REJECT\n```\n\n\n### Profiles\nCreate different rule sets for different scenarios:\n- Home: Relaxed rules for trusted network\n- Work: Restrictive rules for corporate network\n- Public: Maximum security for public WiFi\n- Travel: Balanced rules for mobile use\n\n\n### Logging Configuration\n- Packet logging: Uses nflog for detailed connection tracking\n- Log rotation: Automatic cleanup of old logs\n- Export options: Save logs for external analysis\n\n---\n\n\n## 🌍 Language Support\n\nAFWall+ is available in **40+ languages** thanks to our community translators:\n\n🇺🇸 English • 🇪🇸 Español • 🇫🇷 Français • 🇩🇪 Deutsch • 🇮🇹 Italiano • 🇷🇺 Русский • 🇨🇳 中文 • 🇯🇵 日本語 • 🇰🇷 한국어 • 🇵🇹 Português • 🇳🇱 Nederlands • 🇵🇱 Polski • 🇹🇷 Türkçe • 🇸🇦 العربية • 🇮🇳 हिंदी • And many more!\n\n**Want to help translate?** Join our [Crowdin translation project](http://crowdin.net/project/afwall).\n\n---\n\n\n## Development\n\n\n### Building from Source\n\n\n#### Prerequisites\n- Android SDK (API level 21+)\n- Java 17+\n- Git\n- Android NDK (for native binaries)\n\n\n#### Quick Build\n```bash\ngit clone https://github.com/ukanth/afwall.git\ncd afwall\n./gradlew clean assembleDebug\n```\n\n\n#### Native Binaries\nTo compile iptables, busybox, and other native components:\n```bash\n# Requires Android NDK\nexport NDK=/opt/android-ndk-r25\nmake -C external NDK=$NDK\n```\n\n\n### Project Structure\n```\nafwall/\n├── app/src/main/java/dev/ukanth/ufirewall/\n│   ├── Api.java                    # Core iptables interface\n│   ├── MainActivity.java           # Main UI\n│   ├── InterfaceTracker.java       # Network state monitoring\n│   ├── util/BootRuleManager.java   # Boot rule application\n│   ├── service/                    # Background services\n│   ├── broadcast/                  # System event receivers\n│   └── log/                        # Logging subsystem\n├── app/src/main/res/raw/           # Native binaries (iptables, busybox)\n├── external/                       # Native binary sources\n└── scripts/                        # Build scripts\n```\n\n\n### Testing\n```bash\n# Run lint checks\n./gradlew lint\n\n# Run unit tests\n./gradlew test\n\n# Install debug build\n./gradlew installDebug\n```\n\n---\n\n\n## Contributing\n\nWe welcome contributions! Here's how you can help:\n\n\n### Bug Reports\n- Check [existing issues](https://github.com/ukanth/afwall/issues) first\n- Follow our [bug report guide](https://github.com/ukanth/afwall/wiki/HOWTO-Report-Bug)\n- Include device info, Android version, and logs\n\n\n### Feature Requests\n- Open an issue with the \"enhancement\" label\n- Describe the use case and expected behavior\n- Consider if it fits AFWall+'s scope and philosophy\n\n\n### Code Contributions\n```bash\n# Standard GitHub workflow\n1. Fork the repository\n2. Create a feature branch: git checkout -b feature-name\n3. Make your changes and test thoroughly\n4. Submit a pull request with a clear description\n```\n\n\n### Translations\n- Join our [Crowdin project](http://crowdin.net/project/afwall)\n- No technical knowledge required\n- Help make AFWall+ accessible worldwide\n\n---\n\n\n## Community \u0026 Support\n\n### Discussion Forums\n- **XDA Thread**: [Official community discussion](http://forum.xda-developers.com/showthread.php?t=1957231)\n- **GitHub Issues**: Technical problems and feature requests\n- **Wiki**: [Comprehensive documentation](https://github.com/ukanth/afwall/wiki)\n\n### Frequently Asked Questions\nBefore reporting issues, check our [FAQ](https://github.com/ukanth/afwall/wiki/FAQ) for common solutions.\n\n### Getting Help\n1. Check the FAQ and wiki\n2. Search existing GitHub issues\n3. Ask on XDA forums\n4. Create a new GitHub issue (last resort)\n\n---\n\n\n## Technical Details\n\n\n### Architecture\nAFWall+ uses a layered architecture:\n\n1. **UI Layer**: Android activities and fragments for user interaction\n2. **Service Layer**: Background services for rule application and monitoring\n3. **Core Layer**: iptables rule generation and management\n4. **System Layer**: Native binaries and root shell interface\n\n\n### Key Components\n- BootRuleManager: Robust boot-time rule application with race condition prevention\n- InterfaceTracker: Network interface monitoring and change detection\n- Api.java: Central iptables command generation and execution\n- FirewallService: Background service for continuous monitoring\n- LogService: Network packet logging and analysis\n\n\n### Android Integration\n- Broadcast Receivers: Monitor system events (boot, network changes, app installs)\n- Content Providers: Share configuration data securely\n- Notification System: User alerts for blocked connections\n- Quick Settings Tile: Fast firewall toggle (Android 7+)\n\n---\n\n\n## Acknowledgements\n\nAFWall+ builds upon the work of many open-source projects and contributors:\n\n\n### Origins\n- Original concept: Derived from [DroidWall](http://code.google.com/p/droidwall) by Rodrigo Rosauro\n- Current maintainer: [Umakanthan Chandran](https://github.com/ukanth)\n\n\n### Libraries \u0026 Dependencies\n| Component | License | Purpose |\n|-----------|---------|---------|\n| [iptables](http://netfilter.org/projects/iptables/) | GPL v2 | Linux firewall framework |\n| [BusyBox](http://www.busybox.net) | GPL v2 | Unix utilities |\n| [libsuperuser](https://github.com/Chainfire/libsuperuser) | Apache 2.0 | Root access management |\n| [libsu](https://github.com/topjohnwu/libsu) | Apache 2.0 | Modern root interface |\n| [Material Dialogs](https://github.com/afollestad/material-dialogs) | MIT | UI components |\n| [DBFlow](https://github.com/Raizlabs/DBFlow) | MIT | Database ORM |\n| [PrettyTime](https://github.com/ocpsoft/prettytime) | Apache 2.0 | Human-readable timestamps |\n\n\n### Contributors\nThanks to all contributors who have helped improve AFWall+ over the years!\n\n---\n\n\n## License\n\nAFWall+ is released under the **GNU General Public License v3.0**.\n\n```\nCopyright (C) 2009-2011 Rodrigo Zechin Rosauro\nCopyright (C) 2011-2024 Umakanthan Chandran\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n```\n\n**Full license text**: See the [LICENSE](LICENSE) file or [gnu.org/licenses/gpl-3.0](https://www.gnu.org/licenses/gpl-3.0.html)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eMade with ❤️ for Android privacy and security\u003c/i\u003e\u003cbr\u003e\n  \u003cstrong\u003eAFWall+ - Your Network, Your Rules\u003c/strong\u003e\n\u003c/p\u003e\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=6E4VZTULRB8GU"],"categories":["Firewalls","Java","\u003ca id=\"946d766c6a0fb23b480ff59d4029ec71\"\u003e\u003c/a\u003e防护\u0026\u0026Defense","Apps","\u003ca id=\"0abd611fc3e9a4d9744865ca6e47a6b2\"\u003e\u003c/a\u003e工具","🌐 Network and Connectivity"],"sub_categories":["Notable Mentions","\u003ca id=\"ce6532938f729d4c9d66a5c75d1676d3\"\u003e\u003c/a\u003e防火墙\u0026\u0026FireWall","Firewall Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukanth%2Fafwall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fukanth%2Fafwall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fukanth%2Fafwall/lists"}