{"id":16786094,"url":"https://github.com/matheusfelipeog/froxy","last_synced_at":"2025-05-07T11:47:36.413Z","repository":{"id":50159855,"uuid":"290904550","full_name":"matheusfelipeog/froxy","owner":"matheusfelipeog","description":"Hide your IP with free proxies using Froxy 🔄","archived":false,"fork":false,"pushed_at":"2024-05-21T12:50:39.000Z","size":93,"stargazers_count":27,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-04T21:09:06.398Z","etag":null,"topics":["crawler","free-proxy","froxy","hide-ip","proxies","proxies-scraper","proxy","python","requests","requests-module","scraping"],"latest_commit_sha":null,"homepage":"","language":"Python","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/matheusfelipeog.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":"2020-08-27T23:34:57.000Z","updated_at":"2025-04-28T01:28:32.000Z","dependencies_parsed_at":"2024-05-21T13:56:03.598Z","dependency_job_id":null,"html_url":"https://github.com/matheusfelipeog/froxy","commit_stats":{"total_commits":80,"total_committers":5,"mean_commits":16.0,"dds":"0.050000000000000044","last_synced_commit":"dea62929920d87fb3e50bc8d3dd40952bd6884b9"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusfelipeog%2Ffroxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusfelipeog%2Ffroxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusfelipeog%2Ffroxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matheusfelipeog%2Ffroxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matheusfelipeog","download_url":"https://codeload.github.com/matheusfelipeog/froxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252399514,"owners_count":21741672,"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":["crawler","free-proxy","froxy","hide-ip","proxies","proxies-scraper","proxy","python","requests","requests-module","scraping"],"created_at":"2024-10-13T08:11:11.935Z","updated_at":"2025-05-07T11:47:36.384Z","avatar_url":"https://github.com/matheusfelipeog.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/froxy/\"\u003e\n        \u003cimg alt=\"PyPI - Status\" src=\"https://img.shields.io/pypi/status/froxy?style=for-the-badge\u0026color=black\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/froxy/\"\u003e\n        \u003cimg alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/froxy?style=for-the-badge\u0026color=black\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/matheusfelipeog/froxy/releases\"\u003e\n        \u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/matheusfelipeog/froxy?style=for-the-badge\u0026color=black\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/matheusfelipeog/froxy/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/matheusfelipeog/froxy?color=black\u0026style=for-the-badge\" alt=\"License MIT\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/matheusfelipeog/froxy/master/assets/froxy.png\" alt=\"Froxy logo\" width=\"500px\" /\u003e\u003cbr /\u003e\n    Hide your IP with free proxies\n\u003c/p\u003e\n\n\n## Index\n\n- [The goal](#the-goal)\n- [How it works?](#how-it-works)\n   - [Why are you using this API?](#why-are-you-using-this-api)\n- [Install](#install)\n- [Demo](#demo)\n   - [Warning](#-warning-)\n- [Documentation](#doc)\n- [Contributions](#contributions)\n- [License](#license)\n\n\n## The goal\n\nThis project aims to provide an interface for filter and using free proxies in your web scraping and web crawler projects with Python and [requests module](https://github.com/psf/requests).\n\n\n## How it works?\n\nFroxy uses the API available at [Proxy List](https://github.com/clarketm/proxy-list) and runs a filter to obtain only proxies and their information. Then it provides an interface to filter and use the filtered proxies.\n\n### Why are you using this API?\n\n- It free.\n- No query limit.\n- It has a variety of types of proxies.\n- It has an interesting amount of proxies.\n- It is updated daily.\n\nThank you for maintaining and making this API available [@clarketm](https://github.com/clarketm) ❤\n\n\n## Install\n\ninstall using pip:\n\n```bash\n$ pip install froxy\n```\n\nthen, see the [demo](#demo) or [documentation](#doc) for more information.\n\n\n## Demo\n\nThis is a demo use to get proxies with a filter:\n\n```python\nfrom froxy import Froxy\n\nfroxy = Froxy()\n\nfor proxy in froxy.https(): # Get proxies with protocol https\n    print(proxy)\n\n# Output\n['125.17.80.226', '8080', ['IN', 'H', 'S', '+']]  \n['31.204.180.44', '53281', ['RU', 'H', 'S', '-']] \n['213.108.173.247', '8080', ['RU', 'N', 'S', '-']]\n['109.169.151.131', '8080', ['RU', 'N', 'S', '+']]\n['149.129.240.8', '8080', ['SG', 'N', 'S', '-']],\n[...]\n```\n\nThis a demo use with requests module:\n\n```python\nimport requests\n\nfrom froxy import Froxy\n\nfroxy = Froxy()\nip, port = froxy.http()[0][:2] # Get first proxy (IP and PORT)\n\nproxies = {\n    \"http\": f'{ip}:{port}',\n    \"https\": f'{ip}:{port}'\n}\n\nr = requests.get('https://httpbin.org/ip', proxies=proxies)\nprint(f'Response: {r.json()}')\n\n# Output\nResponse: {'origin': '103.250.69.233'}\n```\n\n ### ⚠ Warning ⚠\n \n **Not all proxies work, so try to use only those that work use `try...except` as a \"filter\"**\n \n Basic example:\n ```python\nimport requests\n\nfrom froxy import Froxy\n\nfroxy = Froxy()\n\nfor proxy in froxy.http():\n    ip, port = proxy[:2]\n    \n    proxies = {\n        \"http\": f'{ip}:{port}',\n        \"https\": f'{ip}:{port}'\n    }\n    \n    try:\n        r = requests.get('https://httpbin.org/ip', proxies=proxies)\n        print(f'Response: {r.json()}')\n        \n    except Exception:\n        print('Fail, next...')\n        continue\n        \n# output\nResponse: {'origin': '103.250.69.233'}\nFail, next...\nFail, next...\nFail, next...\nFail, next...\nResponse: {'origin': '212.32.213.170'}\n...\n```\n\n\n## Doc\n\nUse `help` function for more information:\n\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e help(Froxy)\n```\n\n### `froxy.Froxy`\n\nA class for manipulating and filtering proxies.\n\nAll public method returns are made up of a list of lists in the following structure:\n\n```python\n# Structure\n[\n    [ip_adress, port, [country_code, anonymity, http_or_https, google_passed]],\n    ...\n]\n\n# Example:\n[\n    ['189.6.191.184', '8080', ['BR', 'N', 'S', '+']],\n    ...\n]\n```\n\n\n### `Froxy.country(...)`\n\nFilter proxies for country.\n\nSee all codes at: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.country('RS', 'US')\n# Example output\n[\n    ['255.255.255.255', '3000', ['RS', 'N', 'S!', '-'], \n    ['254.254.254.254', '8058', ['US', 'N', 'S!', '+'],\n    ...\n]\n```\n\n\n### `Froxy.anonymity(...)`\n\nFilter proxies by anonymity level.\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.anonymity('A', 'H')\n# Example output\n[\n    ['255.255.255.255', '3000', ['RS', 'H', 'S!', '-'],\n    ['254.254.254.254', '8058', ['US', 'A', 'S!', '+'],\n    ...\n]\n```\n\n\n### `Froxy.http(...)`\n\nFilter proxies by http protocol.\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.http()\n# Example output\n[\n    ['255.255.255.255', '3000', ['AA', 'H', '!', '-'], \n    ['254.254.254.254', '8058', ['ZZ', 'A', '', '+'],\n    ...\n]\n```\n\n\n### `Froxy.https(...)`\n\nFilter proxies by https protocol.\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.https()\n# Example output\n[\n    ['255.255.255.255', '3000', ['AA', 'H', 'S!', '-'], \n    ['254.254.254.254', '8058', ['ZZ', 'A', 'S', '+'],\n    ...\n]\n```\n\n\n### `Froxy.google(...)`\n\nFilter proxies by google passed.\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.google('+')\n# Example output\n[\n    ['255.255.255.255', '3000', ['AA', 'H', 'S!', '+'], \n    ['254.254.254.254', '8058', ['YY', 'N', '', '+'],\n    ...\n]\n```\n\n\n### `Froxy.get(...)`\n\nUse multiple proxy filters or get all proxies if the filter arguments are empty.\n\nUsage:\n```python\n\u003e\u003e\u003e from froxy import Froxy\n\u003e\u003e\u003e froxy = Froxy()\n\u003e\u003e\u003e froxy.get(\n        country=[1, 'US', 'BR'],\n        anonymity=[2, 'H'],\n        protocol=[2, 'https'],\n        google_passed=[1, '+']\n    )\n# Example output\n[\n    ['255.255.255.255', '3000', ['US', 'H', 'S!', '+'], \n    ['254.254.254.254', '8058', ['BR', 'A', 'S', '+'],\n    ['254.254.254.253', '6000', ['TT', 'H', '', '-'],\n    ['254.254.254.252', '4058', ['BR', 'H', '!', '-'],\n    ['255.255.255.251', '3000', ['RS', 'H', 'S', '-'], \n    ['254.254.254.250', '7058', ['ZZ', 'H', 'S!', '-'],\n    ['254.254.254.250', '7058', ['YY', 'N', '', '+']\n]\n```\n\nUse `help` function for more information or visit repository of [API](https://github.com/clarketm/proxy-list) for more details.\n\n\n## Contributions\n\nAll contributions are welcome!\n\nFound a problem, want to give a tip? open an [issue](https://github.com/matheusfelipeog/froxy/issues).\n\nDo you have a solution to the problem? Send me a PR.\n\nDid you like this project? Click on the little star 😄\n\n\n## License\n\nThis project is using the MIT license, see in [MIT LICENSE](./LICENSE).\n\nFor more information on the API used, visit [clarketm/proxy-list](https://github.com/clarketm/proxy-list).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusfelipeog%2Ffroxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatheusfelipeog%2Ffroxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatheusfelipeog%2Ffroxy/lists"}