{"id":15471397,"url":"https://github.com/sobolevn/require-vpn-plugin","last_synced_at":"2025-05-07T03:25:45.171Z","repository":{"id":245723377,"uuid":"819055383","full_name":"sobolevn/require-vpn-plugin","owner":"sobolevn","description":"FireFox plugin to require an existing VPN connection before accessing specified hosts","archived":false,"fork":false,"pushed_at":"2025-03-21T12:57:04.000Z","size":21,"stargazers_count":24,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-02T18:09:23.954Z","etag":null,"topics":["firefox","firefox-addon","firefox-extension","firefox-plugin","firefox-secure-proxy","vpn"],"latest_commit_sha":null,"homepage":"https://addons.mozilla.org/addon/require-vpn","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sobolevn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"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},"funding":{"open_collective":"wemake-python-styleguide","github":"wemake-services","custom":"https://boosty.to/sobolevn"}},"created_at":"2024-06-23T16:44:58.000Z","updated_at":"2025-05-02T16:36:31.000Z","dependencies_parsed_at":"2024-11-09T08:01:53.045Z","dependency_job_id":"e958072f-903c-42e4-a1c2-8159f741fdea","html_url":"https://github.com/sobolevn/require-vpn-plugin","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"4be2d75a979618464f32ca4ce069b4f6fe497b06"},"previous_names":["sobolevn/require-vpn-plugin"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Frequire-vpn-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Frequire-vpn-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Frequire-vpn-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sobolevn%2Frequire-vpn-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sobolevn","download_url":"https://codeload.github.com/sobolevn/require-vpn-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252805496,"owners_count":21807013,"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":["firefox","firefox-addon","firefox-extension","firefox-plugin","firefox-secure-proxy","vpn"],"created_at":"2024-10-02T02:18:58.472Z","updated_at":"2025-05-07T03:25:45.162Z","avatar_url":"https://github.com/sobolevn.png","language":"JavaScript","funding_links":["https://opencollective.com/wemake-python-styleguide","https://github.com/sponsors/wemake-services","https://boosty.to/sobolevn"],"categories":[],"sub_categories":[],"readme":"# require-vpn\n\nFireFox plugin to require an existing VPN connection before accessing specified hosts.\n\nInstall from Mozilla's official MarketPlace: https://addons.mozilla.org/addon/require-vpn\n\n## Example\n\nLet's say you have a website with a sensitive data (your bank account, work project, password store, etc) that you don't want to accidentally access with an untrusted network.\n\nThis used to happen quite often with my frequent bussiness trips:\n- I have some existing open tabs with my private data\n- Then I connect to a public wifi on a train or in a bar\n- My data could have been leaked\n- Then I remember that I have to activate my VPN :)\n\nTo fight this problem you can use `require-vpn` plugin.\nHere's how it works:\n- It creates a request about your current IP to some `IP_CHECKER_URL`\n- If your IP matches your `VPN_IP`, you are good to go and visit `BLOCKED_HOSTS`\n- If not, you would be redirected to `PROXY_URI` (or if it is not available, the request won't make it to the original server and will be just blocked)\n\n## Configuration\n\n- `VPN_IP` - your VPN IP, which is expected; can be a new-line separated list of IPs. Can also contain IP masks like `192.168.*` which will match any IPs starting with `192.168.`\n- `BLOCKED_HOSTS` - a new-line separated list with hostnames of blocked resources, default: `['example.com']`\n- `IP_CHECKER_URL` - a URL to any service that will receive a `GET` request and return your API in plain text, default: `https://icanhazip.com`\n- `PROXY_URI` - a URI for your proxy server to where a redirect will be made, see [here](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/ProxyInfo) what formats are supported, default: `http://localhost:63555`\n\n## Contributing\n\nAt the moment PRs are not expected. It works for me.\nIf you use Chrome, Opera, etc - then you can test this plugin and report if it is supported.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsobolevn%2Frequire-vpn-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsobolevn%2Frequire-vpn-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsobolevn%2Frequire-vpn-plugin/lists"}