{"id":16343699,"url":"https://github.com/makefu/prison-break","last_synced_at":"2026-01-24T03:36:36.634Z","repository":{"id":138159581,"uuid":"177957856","full_name":"makefu/prison-break","owner":"makefu","description":"Free yourself from the chains of having to acknowledging Terms of Service (AGBs) every time you connect to a captive portal","archived":false,"fork":false,"pushed_at":"2023-05-30T22:16:04.000Z","size":58,"stargazers_count":35,"open_issues_count":2,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-27T16:30:49.841Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","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/makefu.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2019-03-27T09:09:52.000Z","updated_at":"2024-11-13T14:13:58.000Z","dependencies_parsed_at":"2024-07-22T16:47:52.174Z","dependency_job_id":null,"html_url":"https://github.com/makefu/prison-break","commit_stats":{"total_commits":33,"total_committers":1,"mean_commits":33.0,"dds":0.0,"last_synced_commit":"15079bb094d37eeba92e17abfb98523076c5800c"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fprison-break","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fprison-break/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fprison-break/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makefu%2Fprison-break/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makefu","download_url":"https://codeload.github.com/makefu/prison-break/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239484208,"owners_count":19646429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-11T00:25:26.564Z","updated_at":"2026-01-24T03:36:31.602Z","avatar_url":"https://github.com/makefu.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prison Break from Captive Portals\n\nFree yourself from the chains of having to acknowledging AGBs every time you connect to a captive portal.\n\n## Supported Plugins\n\n* **Hotsplots**\n  * Free Wifi in Stuttgart S-Bahn\n  * should work for all Hotsplots Access Points (only tested with WIFI@DB)\n* **WIFIonICE**\n  * Free Wifi in Deutsche Bahn ICE\n  * from Icomera AB\n\n## Related Projects\n\n* [py-iwd-autocapptiveauth by `onny`]( https://git.project-insanity.org/onny/py-iwd-autocaptiveauth ) - uses DBUS instead of network-manager hooks which makes it integrate better with different wifi managers\n\n## Installation\n\n### NixOS\nWith NixOS 19.03 add to your `configuration.nix`:\n```\n{\n  # .1 configure prison-break as dispatcher script\n  networking.networkmanager.dispatcherScripts = [\n    { source = \"${nur.repos.makefu.prison-break}/bin/prison-break\"; }\n  ];\n\n  # 2. Set up [NUR](https://github.com/nix-community/NUR/)\n  nixpkgs.config.packageOverrides = pkgs: {\n    nur = import (builtins.fetchTarball \"https://github.com/nix-community/NUR/archive/master.tar.gz\") {\n      inherit pkgs;\n    };\n  };\n}\n```\n\n\n### Legacy OS\nIf you have no problems working on a tainted system\n```\npython setup.py install\ninstall -m755 -uroot /usr/bin/prison-break /etc/NetworkManager/dispatcher.d/99prison-break\n```\n## Testing\nprison-break provides a couple of means to override the default behavior such\nas providing a path to the `CONNECTION_FILENAME`:\n\n```\nprison-break --force-run   # do not bail out on missing CONNECTION_FILENAME\nprison-break --force-token # continue even if the challenge token is correct\nprison-break --force-match # contineu even if no plugin matched the connection profile as potential access point\n```\n## Logs\n\nThis is how a connection may look like for you when the script is started\nvia nm-dispatcher:\n```\nApr 04 16:39:09 x nm-dispatcher[16291]: INFO:cli:CONNECTION_FILENAME set, checking if any plugin matches connection pattern\nApr 04 16:39:09 x nm-dispatcher[16291]: INFO:hotsplots:Unsecured wifi, might be hotsplots!\nApr 04 16:39:09 x nm-dispatcher[16291]: INFO:cli:at least one plugin matched Connection for being a possible AGB prison\nApr 04 16:39:11 x nm-dispatcher[16291]: INFO:cli:Running Plugin prisonbreak.plugins.hotsplots\nApr 04 16:39:11 x nm-dispatcher[16291]: INFO:hotsplots:Checking for hotsplots Portal\nApr 04 16:39:11 x nm-dispatcher[16291]: INFO:hotsplots:Got Redirected and follow http://192.168.44.1:80/logon?username=agb_accepted\u0026response=14105ecbad6c2576a7746758fd76\u003e\nApr 04 16:39:11 x nm-dispatcher[16291]: INFO:cli:prisonbreak.plugins.hotsplots successful?\nApr 04 16:39:12 x nm-dispatcher[16291]: INFO:cli:prisonbreak.plugins.hotsplots successful!\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakefu%2Fprison-break","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakefu%2Fprison-break","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakefu%2Fprison-break/lists"}