{ "info": { "author": "Chris Haumesser", "author_email": "chris.haumesser@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet" ], "description": "bound\n=====\n\n``bound`` pulls data from `The Big Blocklist\nCollection `__ and generates an\n`unbound `__ configuration file\nthat refuses lookup of the selected domains.\n\nThis is useful for blocking ads and malware, in much the same way as\n`pi-hole `__. You might prefer this method over\npi-hole if:\n\n- you're already using unbound\n- you don't love dnsmasq (which pi-hole is based on)\n- you don't think a DNS resolver should require a web server\n- you distrust thousands of lines of bash to make major changes to your\n system\n\nIf the above don't apply to you, or you're looking for an opinionated,\nad-blocking resolver with a pretty user interface and automated\ninstaller, `pi-hole `__ is probably what you want.\n\nRequirements\n------------\n\n1. a gnu/linux or \\*bsd operating system\n2. a working unbound installation\n3. python3.6+ (for debian-like systems:\n ``sudo apt-get install python3``)\n4. python3 `requests `__ library (for\n debian-like systems: ``sudo apt-get install python3-requests``)\n\nInstallation\n------------\n\n``python setup.py install``\n\nUsage\n-----\n\n``bound`` is intended to be used with blocklists from `The Big Blocklist\nCollection `__.\n\nRun without any options, ``bound`` will:\n\n1. download the latest \"ticked\" list from the Big Blocklist Collection\n2. download all of the blocklists listed in the \"ticked\" list\n3. parse, deduplicate, and assemble a list of domains from the retrieved\n blocklists\n4. remove any safelisted domains from the list\n5. write ``/etc/unbound/unbound.conf.d/blocklist.conf`` to configure\n unbound for blocking the listed domains\n6. check the unbound configuration, and exit in case of any errors\n7. restart unbound\n\nTo accomplish the above, you will probably need to run ``bound`` as the\nroot user.\n\nThere are options that support running as a non-root user, as well as\nspecifying the blocklist URL, an optional safelist URL, and local\nblocklist and safelist files.\n\nFor a description of all the options, run ``bound -h``.\n\nSupported File Formats\n----------------------\n\n``bound`` supports blocklists and safelists in the following formats:\n\none domain per line\n~~~~~~~~~~~~~~~~~~~\n\n::\n\n advanbusiness.com\n aoldaily.com\n aolon1ine.com\n applesoftupdate.com\n arrowservice.net\n\none domain per line, with inline comments\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n quantummetric.com # Cydia/Bigboss\n cydia.saurik.com.cdngc.net # Cydia/Bigboss\n production-ultimate-assets.ratecity.com.au # NewsCorp\n saber.srvcs.tumblr.com # Tumblr\n fd-fp3.wg1.b.yahoo.com # Tumblr\n\nhosts file format\n~~~~~~~~~~~~~~~~~\n\n::\n\n 127.0.0.1 0koryu0.easter.ne.jp\n 127.0.0.1 109-204-26-16.netconnexion.managedbroadband.co.uk\n 127.0.0.1 1866809.securefastserver.com\n 127.0.0.1 2amsports.com\n 127.0.0.1 4dexports.com\n\nsingle-digit hosts file format\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n 0 1app.blob.core.windows.net\n 0 2912a.v.fwmrm.net\n 0 29773.v.fwmrm.net\n 0 5be16.v.fwmrm.net\n 0 888casino.com\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wryfi/bound", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "bound", "package_url": "https://pypi.org/project/bound/", "platform": "", "project_url": "https://pypi.org/project/bound/", "project_urls": { "Homepage": "https://github.com/wryfi/bound" }, "release_url": "https://pypi.org/project/bound/1.0.1/", "requires_dist": [ "certifi (==2019.9.11)", "chardet (==3.0.4)", "idna (==2.8)", "requests (==2.22.0)", "urllib3 (==1.25.6)" ], "requires_python": "", "summary": "spam/scam domain blacklisting for unbound", "version": "1.0.1" }, "last_serial": 5932869, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "30d779cf0cb5c0155c349db5c73c0f07", "sha256": "ea32297c4b1698f3130129fb63e83617d24692434cf99c0a9cd74f439d13a923" }, "downloads": -1, "filename": "bound-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "30d779cf0cb5c0155c349db5c73c0f07", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8060, "upload_time": "2019-10-05T19:07:27", "url": "https://files.pythonhosted.org/packages/e0/81/3631c9f410038826e5d4157f99048600bc33478988232c39c9758ee2e712/bound-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac7595f007c87b0db99f501f5bab1e4b", "sha256": "d1f36cbe7d7aa5f7955043db799b8f35d5d0174888bec3b711049fecafca8730" }, "downloads": -1, "filename": "bound-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ac7595f007c87b0db99f501f5bab1e4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9779, "upload_time": "2019-10-05T19:07:30", "url": "https://files.pythonhosted.org/packages/e5/33/a08bc17894434d7f8f999f22c0fac352ed5a836c1ee357f615174c86ea97/bound-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "30d779cf0cb5c0155c349db5c73c0f07", "sha256": "ea32297c4b1698f3130129fb63e83617d24692434cf99c0a9cd74f439d13a923" }, "downloads": -1, "filename": "bound-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "30d779cf0cb5c0155c349db5c73c0f07", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8060, "upload_time": "2019-10-05T19:07:27", "url": "https://files.pythonhosted.org/packages/e0/81/3631c9f410038826e5d4157f99048600bc33478988232c39c9758ee2e712/bound-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac7595f007c87b0db99f501f5bab1e4b", "sha256": "d1f36cbe7d7aa5f7955043db799b8f35d5d0174888bec3b711049fecafca8730" }, "downloads": -1, "filename": "bound-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ac7595f007c87b0db99f501f5bab1e4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9779, "upload_time": "2019-10-05T19:07:30", "url": "https://files.pythonhosted.org/packages/e5/33/a08bc17894434d7f8f999f22c0fac352ed5a836c1ee357f615174c86ea97/bound-1.0.1.tar.gz" } ] }