{"id":23219188,"url":"https://github.com/solutionforest/filament-firewall","last_synced_at":"2026-02-02T12:19:02.562Z","repository":{"id":166346273,"uuid":"639721023","full_name":"solutionforest/filament-firewall","owner":"solutionforest","description":"This package provides a whitelist and blacklist feature to restrict access to your Laravel application and Filament admin panel. For additional functionality, please refer to the Laravel Firewall package.","archived":false,"fork":false,"pushed_at":"2025-10-22T03:16:02.000Z","size":108,"stargazers_count":44,"open_issues_count":0,"forks_count":13,"subscribers_count":1,"default_branch":"3.x","last_synced_at":"2025-10-22T05:31:27.020Z","etag":null,"topics":["filament-plugin","filamentadmin","filamentphp","firewall","firewall-configuration","firewall-management"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solutionforest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","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":"2023-05-12T04:41:46.000Z","updated_at":"2025-10-22T03:15:59.000Z","dependencies_parsed_at":"2023-11-22T05:23:46.958Z","dependency_job_id":"589c9319-da54-4717-bd36-6196b6c30bdb","html_url":"https://github.com/solutionforest/filament-firewall","commit_stats":{"total_commits":22,"total_committers":4,"mean_commits":5.5,"dds":"0.36363636363636365","last_synced_commit":"8b994b8fc2472dd31ef36656687a9e3aaffd6034"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/solutionforest/filament-firewall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionforest%2Ffilament-firewall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionforest%2Ffilament-firewall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionforest%2Ffilament-firewall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionforest%2Ffilament-firewall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solutionforest","download_url":"https://codeload.github.com/solutionforest/filament-firewall/tar.gz/refs/heads/3.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionforest%2Ffilament-firewall/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29012396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T10:37:29.253Z","status":"ssl_error","status_checked_at":"2026-02-02T10:37:28.644Z","response_time":58,"last_error":"SSL_read: 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":["filament-plugin","filamentadmin","filamentphp","firewall","firewall-configuration","firewall-management"],"created_at":"2024-12-18T21:20:06.138Z","updated_at":"2026-02-02T12:19:02.555Z","avatar_url":"https://github.com/solutionforest.png","language":"PHP","funding_links":[],"categories":["Plugins"],"sub_categories":["Administration \u0026 Management"],"readme":"\u003e [!IMPORTANT]\n\u003e Please note that we will only be updating to version 4.x, excluding any bug fixes.\n\n## About Solution Forest\n\n[Solution Forest](https://solutionforest.com) Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.\n\nWe have built a collection of best-in-class products:\n\n- [InspireCMS](https://inspirecms.net): A full-featured Laravel CMS with everything you need out of the box. Build smarter, ship faster with our complete content management solution.\n- [Filaletter](https://filaletter.solutionforest.net): Filaletter - Filament Newsletter Plugin\n- [Website CMS Management](https://filamentphp.com/plugins/solution-forest-cms-website): A hands-on Filament CMS plugin for those who prefer more manual control over their website content management.\n\n# Filament Firewall\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/solution-forest/filament-firewall.svg?style=flat-square)](https://packagist.org/packages/solution-forest/filament-firewall)\n[![Total Downloads](https://img.shields.io/packagist/dt/solution-forest/filament-firewall.svg?style=flat-square)](https://packagist.org/packages/solution-forest/filament-firewall)\n\nThis package provides a whitelist and blacklist feature to restrict access to your Laravel application and Filament admin panel. For additional functionality, please refer to the [Laravel Firewall package](https://github.com/akaunting/laravel-firewall).\n\n![filament-firewall-package-1](https://github.com/solutionforest/filament-firewall/assets/68525320/153b1478-003f-4ef9-bebc-8ed249647e9f)\n![filament-firewall-package-2](https://github.com/solutionforest/filament-firewall/assets/68525320/1cde3993-77e1-4e64-8e4c-9727f1a40801)\n\n## Supported Filament versions\n\n| Filament Version | Plugin Version |\n| ---------------- | -------------- |\n| v2               | 1.x.x          |\n| v3               | 2.x.x          |\n| v4               | 3.x.x          |\n| v5               | 4.x.x          |\n\n## Getting Started\n\n1. Install the package using the `composer require` command:\n\n   ```php\n   composer require solution-forest/filament-firewall\n   ```\n\n2. To publish the configuration files and migrations files for this plugin, as well as automatically run migration, enter the following command:\n\n   ```php\n   php artisan filament-firewall:install\n   ```\n\n3. This package comes with `WhitelistRangeMiddleware`. You need to register it in `$middleware`:\n\n   **For Laravel version 11.x and above:**\n\n   ```php\n   // in bootstrap/app.php\n   -\u003ewithMiddleware(function (Middleware $middleware) {\n        $middleware-\u003eappend(\\SolutionForest\\FilamentFirewall\\Middleware\\WhitelistRangeMiddleware::class);\n   })\n   ```\n\n   **For Laravel versions below 11.x:**\n\n   ```php\n   // in app/Http/Kernel.php\n   protected $middleware = [\n        ...\n        \\SolutionForest\\FilamentFirewall\\Middleware\\WhitelistRangeMiddleware::class,\n   ];\n   ```\n\n4. You can change the setting in the `config/filament-firewall.php` file to skip the middleware `WhitelistRangeMiddleware` check.\n\n5. For additional configuration options, you can refer to the [Laravel Firewall configuration file](https://github.com/akaunting/laravel-firewall/blob/master/src/Config/firewall.php) to customize more firewall settings. Some key configuration options include:\n   - `config('firewall.enabled')` - Controls whether the firewall is enabled (default: `true`)\n   - `config('firewall.middleware')` - Middleware configuration settings\n\n6. Register the plugin in your Panel provider:\n\n   \u003e **Important: Register the plugin in your Panel provider after version 2.x**\n\n   ```bash\n    use SolutionForest\\FilamentFirewall\\FilamentFirewallPlugin;\n\n    public function panel(Panel $panel): Panel\n    {\n        return $panel\n            -\u003eplugin(FilamentFirewallPlugin::make());\n    }\n   ```\n\n## Usage\n\n- On the IP Firewall page, you have the ability to add IPs to either a whitelist or a blocklist. The `WhitelistRangeMiddleware` middleware will automatically handle whitelist IP access. If you need to block a range of IPs while allowing a specific IP, such as blocking _172.19.0.0/24_ except for _172.19.0.1_, you'll need to create a new **Deny** access record and specify the IP and prefix as _'172.19.0.0'_ and _'24'_. Additionally, you'll need to add an **Allow** access record for the specific IP _'172.19.0.1'_.\n\n![filament-firewall-package-2](https://github.com/solutionforest/filament-firewall/assets/68525320/1cde3993-77e1-4e64-8e4c-9727f1a40801)\n\n- Get whitelist / blacklist records\n\n  ```php\n  // whitelist\n  \\SolutionForest\\FilamentFirewall\\Facade\\FilamentFirewall::getWhiteList();\n\n  // blacklist\n  \\SolutionForest\\FilamentFirewall\\Facade\\FilamentFirewall::getBlackList();\n  ```\n\n- Determine whether an IP address is included in a whitelist or blacklist\n\n  ```php\n  // whitelist\n  \\SolutionForest\\FilamentFirewall\\Facade\\FilamentFirewall::withinWhiteList($ip);\n\n  // blacklist\n  \\SolutionForest\\FilamentFirewall\\Facade\\FilamentFirewall::withinBlackList($ip);\n  ```\n\n## Publishing translations\n\n```bash\nphp artisan vendor:publish --tag=filament-firewall-translations\n```\n\n## Security Vulnerabilities\n\nIf you discover any security related issues, please email info+package@solutionforest.net instead of using the issue tracker.\n\n## License\n\nPlease see [License File](LICENSE.md) for more information.\n\n## Credits\n\n- [Laravel Firewall](https://github.com/akaunting/laravel-firewall)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutionforest%2Ffilament-firewall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolutionforest%2Ffilament-firewall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutionforest%2Ffilament-firewall/lists"}