{"id":15148409,"url":"https://github.com/tchubaba/pausepi","last_synced_at":"2026-02-19T17:31:22.554Z","repository":{"id":250808180,"uuid":"835493056","full_name":"tchubaba/pausepi","owner":"tchubaba","description":"Pause Pi-hole ad blocking the easy way","archived":false,"fork":false,"pushed_at":"2025-03-15T01:23:31.000Z","size":27177,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-24T03:39:48.963Z","etag":null,"topics":["ad-blocker","pause","pi-hole"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tchubaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-07-30T00:38:48.000Z","updated_at":"2025-03-15T01:14:53.000Z","dependencies_parsed_at":"2025-02-09T05:32:43.735Z","dependency_job_id":"6bcbe44d-4d86-4703-82dc-faacddfae7c2","html_url":"https://github.com/tchubaba/pausepi","commit_stats":{"total_commits":39,"total_committers":2,"mean_commits":19.5,"dds":0.05128205128205132,"last_synced_commit":"8d6b668b92be2993ce282b900c6bb7f36fd32d74"},"previous_names":["tchubaba/pausepi"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/tchubaba/pausepi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchubaba%2Fpausepi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchubaba%2Fpausepi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchubaba%2Fpausepi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchubaba%2Fpausepi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tchubaba","download_url":"https://codeload.github.com/tchubaba/pausepi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tchubaba%2Fpausepi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29624514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["ad-blocker","pause","pi-hole"],"created_at":"2024-09-26T13:03:34.892Z","updated_at":"2026-02-19T17:31:22.516Z","avatar_url":"https://github.com/tchubaba.png","language":"PHP","readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/tchubaba/pausepi/master/public/images/pausepi.png\" width=\"220\" height=\"236\" alt=\"PausePi\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n# PausePi\n\n## Overview\n\nThe Pi-hole ad blocker is an effective tool for blocking ads network-wide, but it can sometimes interfere with online services like video streaming or opening some web pages. Of course you can pause ad blocking from the Pi-hole admin dashboard, but it is a hassle, especially if you have more than one configured in your network. It's also inconvenient for other users who may not have access to the Pi-hole's dashboard. \n\nTo address these issues, we introduce PausePi, a tool that allows you to temporarily pause Pi-hole's ad blocking from a single web page.\n\n## Features\n\n* Pause ad blocking for one or multiple Pi-holes simultaneously\n* Adjustable pause duration (default: 30 seconds) via URL parameter\n* Includes an easy-to-use configuration tool for managing your Pi-holes' information\n* Configurable minimum and maximum pause durations via environment variables\n* Deployable as a Docker container\n* Supports Pi-hole versions 5 and 6\n\n## Installation\n\nPausePi is a Laravel 11 application. To deploy it, you can either use the provided docker \ncontainer or install it natively.\n\n### Docker Container\nTo deploy it as a Docker container (this assumes Docker is already installed):\n* Clone this repository to a directory of your choice.\n* CD into this directory and run the following command:\n```shell\ndocker compose up -d --build\n```\n\n### Native install\n\n* Clone this repository to a directory of your choice.\n* Set up a PHP 8.3+ environment with the required extensions and server configuration (see [Laravel's documentation](https://laravel.com/docs/11.x/deployment#server-requirements)).\n* Install the PHP `sqlite3` and `http` extensions.\n* Install Composer (look [here](https://getcomposer.org/download/))\n* CD into the directory and run the following commands:\n```shell\ncp .env.example .env\ncomposer install --no-dev --optimize-autoloader --no-interaction\nphp artisan key:generate\nphp artisan migrate --force\n```\n\n## Configuration\n\nTo enable communication between the application and your Pi-holes, you will need to provide the necessary configuration information. This includes the IP addresses of the Pi-holes and their corresponding API tokens (for version 5) or password (for version 6). The API token can be retrieved from the Pi-hole's administrative dashboard by navigating to Settings \u003e API \u003e Show API Token. To configure them, run the included PausePi Manager from the command line:\n\nIf running the docker container\n```shell\ndocker exec -it pausepi-php php /var/www/artisan pausepi:manager\n```\n\nIf running natively\n```shell\nphp artisan pausepi:manager\n```\n\nThis tool allows you to view configured Pi-holes, as well as add, edit, or remove them. Note that if you ever change the Pi-hole admin password, the API Token will change as well and you will need to re-run this manager to update it (version 5 only). Also note that, at this time, this does not support version 6 2FA. When using 2FA, it is recommended to configure an app password to use with PausePi.\n\n## Usage\n\nOnce installed and configured, pause ad blocking by visiting your web server's URL in your browser. PausePi will attempt to pause all configured Pi-holes simultaneously. From there, you will also:\n\n* View the current status of pausing, including which Pi-holes were successfully paused\n* See a timer indicating when ad blocking will resume\n\n\nYou can also adjust the pause duration by adding a parameter to the URL. For example, to pause for 60 seconds, you would add 60 to the URL: http://pausepi/60. The default maximum pause duration is 5 minutes (300 seconds), but this can be adjusted via environment variables if needed.\n\nTo adjust the minimum and maximum pause durations, update the following values in your .env file:\n\n* PAUSEPI_MIN_TIMEOUT_SECONDS: sets the minimum pause duration in seconds (also serves as the default) and\n* PAUSEPI_MAX_TIMEOUT_SECONDS: sets the maximum pause duration in seconds\n\nFor example, to set a minimum pause duration of 15 seconds and a maximum duration of 10 minutes, you would update your .env file as follows:\n\n```dotenv\n# PausePi specific config\nPAUSEPI_MIN_TIMEOUT_SECONDS=15\nPAUSEPI_MAX_TIMEOUT_SECONDS=600\n```\n## Contributing\n\nIf you'd like to contribute to this project or suggest improvements, please feel free to submit your ideas. You can also open a pull request for new features or bug fixes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftchubaba%2Fpausepi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftchubaba%2Fpausepi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftchubaba%2Fpausepi/lists"}