{"id":20879212,"url":"https://github.com/7c/torfilter","last_synced_at":"2026-03-17T07:38:15.683Z","repository":{"id":228227955,"uuid":"773343879","full_name":"7c/torfilter","owner":"7c","description":"tor network exit-nodes list for ip reputation purposes","archived":false,"fork":false,"pushed_at":"2026-03-11T08:00:14.000Z","size":1358198,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-11T08:42:00.248Z","etag":null,"topics":["list","privacy","tor","torproject"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/7c.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-17T12:16:41.000Z","updated_at":"2026-03-11T08:00:17.000Z","dependencies_parsed_at":"2026-03-04T01:03:42.275Z","dependency_job_id":null,"html_url":"https://github.com/7c/torfilter","commit_stats":null,"previous_names":["7c/torfilter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/7c/torfilter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Ftorfilter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Ftorfilter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Ftorfilter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Ftorfilter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/7c","download_url":"https://codeload.github.com/7c/torfilter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7c%2Ftorfilter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30617483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T04:46:40.957Z","status":"ssl_error","status_checked_at":"2026-03-17T04:46:32.538Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["list","privacy","tor","torproject"],"created_at":"2024-11-18T07:15:35.493Z","updated_at":"2026-03-17T07:38:15.666Z","avatar_url":"https://github.com/7c.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# TORFilter\nThe TOR network's exit nodes are monitored and listed for abuse prevention reasons; this list will be updated hourly. The list is separated into 'last seen' groups. For example, 'torfilter-1d' contains all exit nodes that have been seen in the last 24 hours.\n\n\n# Feed\nWe source our data from `https://www.dan.me.uk/tornodes`, `https://check.torproject.org/torbulkexitlist` (a TOR project feed), and from other automated research projects.\n\n# Charts\nwe generate different charts about available data in this repo. For example `counts-1h` shows the number of IPs updated in the last hour. This means if you took this list as base you can see how many IPs you would have inside. \n\n![counts-1h](https://torfilter.com/img/chart-counts-1h.png)\n\n![counts-6h](https://torfilter.com/img/chart-counts-6h.png)\n\n![counts-1d](https://torfilter.com/img/chart-counts-1d.png)\n\n![counts-1w](https://torfilter.com/img/chart-counts-1w.png)\n\n# Types\n## flat\nOne IP (IPv4 or IPv6) per line. (current)\n\n## cidr\n...coming soon...\n\nIPv6 especially enables exit nodes to randomize outgoing IP addresses within the large subnets available to them. Since TOR does not expose those CIDRs, it's challenging to identify the networks available to TOR exit nodes.\n\n# Formats\n## txt format\nFlat list of IP addresses. For example:\n\n[torfilter-1h-flat](lists/txt/torfilter-1h-flat.txt)\n\n## markdown format\nMarkdown version of same IP addresses list. For example:\n\n[torfilter-1h-flat](lists/markdown/torfilter-1h-flat.md)\n\n\n\n## json format\nThis format has more details about ip addresses:\n```json\n....\n{\n      \"ip\": \"23.....100\",\n      \"ipversion\": 4,\n      \"firstseen\": 1648437978,\n      \"lastseen\": 1710594950,\n      \"countrycode\": \"..\",\n      \"continentcode\": \"SA\",\n      \"city\": \"N....\",\n      \"ASN\": 2x0xx,\n      \"rdns\": \"tor-exit.....\"\n},\n...\n```\n\n*Disclaimer:* We are not responsible for any damage caused by the use of this list. Use it at your own risk. We do not recommend outright banning based on this list alone. Instead, you may want to use this list to help classify incoming requests, packets, or registrations in your services.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7c%2Ftorfilter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F7c%2Ftorfilter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7c%2Ftorfilter/lists"}