# proxy.py-uxspoilers-plugin
A plugin for [proxy.py](https://pypi.org/project/proxy.py/) to spoil UX of web browsing
You can spoil User Experience of e.g. YouTube with a combination of [proxy.py](https://pypi.org/project/proxy.py/) plus [proxy.py-uxspoilers-plugin](https://pypi.org/project/proxy.py-uxspoilers-plugin/) and a kind of following [PAC](https://en.wikipedia.org/wiki/Proxy_auto-config)/[WPAD](https://en.wikipedia.org/wiki/Web_Proxy_Auto-Discovery_Protocol) file.
```javascript
function FindProxyForURL(url, host)
{
if (shExpMatch(host, "*youtube*") || shExpMatch(host, "*.googlevideo.com"))
{
return "PROXY ip-of-your-proxy:8899";
}
return "DIRECT";
}
```
Run your proxy server like this:
```console
proxy --hostname=0.0.0.0 --pac-file /path/to/wpad.dat --plugin uxspoilers.FixedRustyPumpPlugin --pause-seconds 3
```
Your `/etc/dhcp/dhcpd.conf` should look like this:
```ini
option wpad code 252 = text;
host target-device {
option wpad "http://ip-of-your-proxy:8899/wpad.dat";
hardware ethernet 2e:8d:8d:xx:xx:xx;
}
```
Or you may configure your browser's [PAC](https://en.wikipedia.org/wiki/Proxy_auto-config) with `http://ip-of-your-proxy:8899/wpad.dat` manually.
## Installation
[![PyPI Version ](https://img.shields.io/pypi/v/proxy.py-uxspoilers-plugin.svg)](https://pypi.org/project/proxy.py-uxspoilers-plugin/)
[![PyPI Downloads ](https://img.shields.io/pypi/dm/proxy.py-uxspoilers-plugin.svg)](https://pypi.org/project/proxy.py-uxspoilers-plugin/)
```console
pip3 install proxy.py-uxspoilers-plugin
proxy --help --plugin uxspoilers.RandomRustyPumpPlugin
```
### Docker
[![Docker Pulls](https://img.shields.io/docker/pulls/sakuraiyouhei/proxy.py-uxspoilers-plugin)](https://hub.docker.com/r/sakuraiyouhei/proxy.py-uxspoilers-plugin/)
[![Image Size ](https://img.shields.io/docker/image-size/sakuraiyouhei/proxy.py-uxspoilers-plugin)](https://hub.docker.com/r/sakuraiyouhei/proxy.py-uxspoilers-plugin/)
```console
docker run -it sakuraiyouhei/proxy.py-uxspoilers-plugin --help --plugin uxspoilers.RandomRustyPumpPlugin
```
Raw data
{
"_id": null,
"home_page": "https://github.com/sakurai-youhei/proxy.py-uxspoilers-plugin",
"name": "proxy.py-uxspoilers-plugin",
"maintainer": "Youhei Sakurai",
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": "sakurai.youhei@gmail.com",
"keywords": "",
"author": "Youhei Sakurai",
"author_email": "sakurai.youhei@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/35/16/c9726ac3b25d040da73e1505b6783e1c4f7a886ad74250084df9f109ab5b/proxy.py-uxspoilers-plugin-2021.5.18.post4.tar.gz",
"platform": "any",
"description": "# proxy.py-uxspoilers-plugin\n\nA plugin for [proxy.py](https://pypi.org/project/proxy.py/) to spoil UX of web browsing\n\nYou can spoil User Experience of e.g. YouTube with a combination of [proxy.py](https://pypi.org/project/proxy.py/) plus [proxy.py-uxspoilers-plugin](https://pypi.org/project/proxy.py-uxspoilers-plugin/) and a kind of following [PAC](https://en.wikipedia.org/wiki/Proxy_auto-config)/[WPAD](https://en.wikipedia.org/wiki/Web_Proxy_Auto-Discovery_Protocol) file.\n\n```javascript\nfunction FindProxyForURL(url, host)\n{\n if (shExpMatch(host, \"*youtube*\") || shExpMatch(host, \"*.googlevideo.com\"))\n {\n return \"PROXY ip-of-your-proxy:8899\";\n }\n return \"DIRECT\";\n}\n```\n\nRun your proxy server like this:\n\n```console\nproxy --hostname=0.0.0.0 --pac-file /path/to/wpad.dat --plugin uxspoilers.FixedRustyPumpPlugin --pause-seconds 3\n```\n\nYour `/etc/dhcp/dhcpd.conf` should look like this:\n\n```ini\noption wpad code 252 = text;\nhost target-device {\n option wpad \"http://ip-of-your-proxy:8899/wpad.dat\";\n hardware ethernet 2e:8d:8d:xx:xx:xx;\n}\n```\n\nOr you may configure your browser's [PAC](https://en.wikipedia.org/wiki/Proxy_auto-config) with `http://ip-of-your-proxy:8899/wpad.dat` manually.\n\n## Installation\n\n[![PyPI Version ](https://img.shields.io/pypi/v/proxy.py-uxspoilers-plugin.svg)](https://pypi.org/project/proxy.py-uxspoilers-plugin/)\n[![PyPI Downloads ](https://img.shields.io/pypi/dm/proxy.py-uxspoilers-plugin.svg)](https://pypi.org/project/proxy.py-uxspoilers-plugin/)\n\n```console\npip3 install proxy.py-uxspoilers-plugin\nproxy --help --plugin uxspoilers.RandomRustyPumpPlugin\n```\n\n### Docker\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/sakuraiyouhei/proxy.py-uxspoilers-plugin)](https://hub.docker.com/r/sakuraiyouhei/proxy.py-uxspoilers-plugin/)\n[![Image Size ](https://img.shields.io/docker/image-size/sakuraiyouhei/proxy.py-uxspoilers-plugin)](https://hub.docker.com/r/sakuraiyouhei/proxy.py-uxspoilers-plugin/)\n\n```console\ndocker run -it sakuraiyouhei/proxy.py-uxspoilers-plugin --help --plugin uxspoilers.RandomRustyPumpPlugin\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "",
"version": "2021.5.18.post4",
"project_urls": {
"Homepage": "https://github.com/sakurai-youhei/proxy.py-uxspoilers-plugin"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a1bdf3e01f06f63d2df2acd42d7cb44af2189497e48e63074cc7cdede38ef102",
"md5": "fc835d3bc3e1cf33ef4c0d8a40f875ca",
"sha256": "1dff21b56963a47f53f8aa4272befb0cd52273815a7e4bda89b146e6b15d23e6"
},
"downloads": -1,
"filename": "proxy.py_uxspoilers_plugin-2021.5.18.post4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc835d3bc3e1cf33ef4c0d8a40f875ca",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5335,
"upload_time": "2023-07-30T13:43:15",
"upload_time_iso_8601": "2023-07-30T13:43:15.295155Z",
"url": "https://files.pythonhosted.org/packages/a1/bd/f3e01f06f63d2df2acd42d7cb44af2189497e48e63074cc7cdede38ef102/proxy.py_uxspoilers_plugin-2021.5.18.post4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3516c9726ac3b25d040da73e1505b6783e1c4f7a886ad74250084df9f109ab5b",
"md5": "c4fd7c8a39cd473237cab4ec807dfe7e",
"sha256": "7c25a53fc165afb5797256aa90526198dd1e89586a797c9825ecba1b153e4edb"
},
"downloads": -1,
"filename": "proxy.py-uxspoilers-plugin-2021.5.18.post4.tar.gz",
"has_sig": false,
"md5_digest": "c4fd7c8a39cd473237cab4ec807dfe7e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 3507,
"upload_time": "2023-07-30T13:43:16",
"upload_time_iso_8601": "2023-07-30T13:43:16.153661Z",
"url": "https://files.pythonhosted.org/packages/35/16/c9726ac3b25d040da73e1505b6783e1c4f7a886ad74250084df9f109ab5b/proxy.py-uxspoilers-plugin-2021.5.18.post4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-30 13:43:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sakurai-youhei",
"github_project": "proxy.py-uxspoilers-plugin",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "proxy.py-uxspoilers-plugin"
}