{"id":21714792,"url":"https://github.com/pilgrimtabby/orwell","last_synced_at":"2026-04-17T00:02:30.133Z","repository":{"id":248063045,"uuid":"827647274","full_name":"pilgrimtabby/orwell","owner":"pilgrimtabby","description":"Block and unblock websites to maximize your productivity (MacOS and Linux).","archived":false,"fork":false,"pushed_at":"2024-07-25T18:24:40.000Z","size":77,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T19:36:16.570Z","etag":null,"topics":["bash","bash-script","dns","linux","macos","productivity","productivity-booster","shell","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pilgrimtabby.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":"2024-07-12T05:00:30.000Z","updated_at":"2024-07-25T18:24:43.000Z","dependencies_parsed_at":"2024-07-12T06:31:43.566Z","dependency_job_id":"452700a7-f4b3-4953-9727-1b73f40e498c","html_url":"https://github.com/pilgrimtabby/orwell","commit_stats":null,"previous_names":["pilgrimtabby/orwell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pilgrimtabby/orwell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimtabby%2Forwell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimtabby%2Forwell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimtabby%2Forwell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimtabby%2Forwell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pilgrimtabby","download_url":"https://codeload.github.com/pilgrimtabby/orwell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimtabby%2Forwell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31909235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"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":["bash","bash-script","dns","linux","macos","productivity","productivity-booster","shell","shell-script"],"created_at":"2024-11-26T00:38:55.088Z","updated_at":"2026-04-17T00:02:30.011Z","avatar_url":"https://github.com/pilgrimtabby.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Orwell\n\nBlock and unblock websites at the DNS level to maximize productivity.\n\nCompatible with Linux (tested on Ubuntu 20.04 LTS) and MacOS (tested on MacOS Ventura).\n\nI wrote this program for personal use and there might be bugs; feel free to add an issue or pull request.\n\n# Usage\n\nThere are two blacklists, the togglable one (accessed using `-a` and `-t`) and the permanent one (accessed using `-x`). The permanent one is always active; the toggleable one can be enabled and disabled with the `-t` flag. This is useful if you want to allow some sites sometimes while always blocking others.\n\nOrwell operates on the DNS level (see [Warning](#warning)), so it can't block individual pages on a website. For instance, you can't block individual groups on Facebook; you have to either block Facebook entirely or leave it unblocked.\n\n## Options\n\nUse flag `-a` to add URL(s) to the toggleable blacklist (use `-t` to enable/disable).\n\n- Usage: `orwell.sh -a \u003cURL\u003e \u003cURL\u003e` ...\n- Example: `orwell.sh -a www.google.com` adds google.com to the blacklist.\n\nUse flag `-x` to add URL(s) to the permanent blacklist.\n\n- Usage: `orwell.sh -x \u003cURL\u003e \u003cURL\u003e` ...\n- Example: `orwell.sh -x www.google.com` adds google.com to the permanent blacklist.\n\nUse flag `-d` to delete URL(s) from both blacklists.\n\n- Usage: `orwell.sh -d \u003cURL\u003e \u003cURL\u003e` ...\n- Example: `orwell.sh -d www.google.com` deletes google.com from any blacklist where it is present.\n\nUse flag `-e` to empty either or both blacklists.\n\n- Usage: `orwell.sh -e blacklist` to empty the toggleable blacklist\n- `orwell.sh -e p-blacklist` to empty the permanent blacklist\n- `orwell.sh -e all` to empty both blacklists\n\nUse flag `-l` to output the contents of either or both blacklists.\n\n- Usage: `orwell.sh -l` or `orwell.sh -l all` to output both blacklists' contents\n- `orwell.sh -l blacklist` to output the contents of the toggleable blacklist\n- `orwell.sh -l p-blacklist` to output the contents of the permanent blacklist\n\nUse flag `-t` to toggle toggleable blacklist status (enforced or not enforced).\n\nUse flag `-s` to show toggleable blacklist status (enforced or not enforced).\n\nUse flag `-v` to display current version number.\n\nUse flag `-h` to show the help message.\n\n## Examples\n\nLet's say you're easily distracted while working. You can block your favorite news and social media sites:\n\n    orwell.sh -a nytimes.com msnbc.com foxnews.com wsj.com reddit.com instagram.com\n\nMaybe you're trying to shake an online shopping habit. You can keep certain sites blocked always:\n\n    orwell.sh -x amazon.com ebay.com etsy.com temu.com\n\nWhen you open your laptop to get something done, you can block your favorite sites by toggling the first blacklist:\n\n    orwell.sh -t\n\n(You might have to restart your browser and/or wait a few minutes.)\n\nLater, you can re-enable them:\n\n    orwell.sh -t\n\nIf you can't remember what sites are blocked, you can print them to the console:\n\n    orwell.sh -l\n\nAnd so on. Use it however you want.\n\n### Why does Orwell ask for my password?\n\nOrwell uses your password to flush the DNS cache and edit `/etc/hosts` (see [Warning](#warning) below). This program doesn't gather or store any of your information or data.\n\n# Installation\n\nDownload the source code and move `orwell.sh` somewhere safe, like `/usr/local/bin`. You may need to run `chmod +x orwell.sh` to make the program executable.\n\n# Warning\n\nOrwell works by modifying your `/etc/hosts` file and flushing the DNS cache. This should be generally harmless, but there is a small chance something could go wrong.\n\nOrwell stores a backup of your `/etc/hosts` file in `~/.config/orwell/backup_file`. If you need to, you can use this file to restore `/etc/hosts` to its original state.\n\nTo uninstall Orwell, just delete it. You may also want to delete its configuration files, which are stored in `~/.config/orwell`. All modifications made to `/etc/hosts` are preceded with a comment that says \"Orwell config\", so if you want/need to delete those modifications, you can open `/etc/hosts` using `sudo nano` or another text editor program.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpilgrimtabby%2Forwell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpilgrimtabby%2Forwell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpilgrimtabby%2Forwell/lists"}