{"id":15797422,"url":"https://github.com/james-see/veil","last_synced_at":"2025-07-22T13:06:42.510Z","repository":{"id":71861176,"uuid":"79187717","full_name":"james-see/veil","owner":"james-see","description":"the uncollectible website","archived":false,"fork":false,"pushed_at":"2018-06-03T22:52:54.000Z","size":20,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-10-12T00:31:07.806Z","etag":null,"topics":["html5","javascript","privacy","scraping","webapp"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/james-see.png","metadata":{"files":{"readme":"README.rst","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":"2017-01-17T04:21:12.000Z","updated_at":"2023-04-05T02:48:01.000Z","dependencies_parsed_at":"2023-06-13T14:00:13.733Z","dependency_job_id":null,"html_url":"https://github.com/james-see/veil","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"739d22b37a25a225e84ee6fcb2ff3cbc70e023ae"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/james-see/veil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-see%2Fveil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-see%2Fveil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-see%2Fveil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-see%2Fveil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/james-see","download_url":"https://codeload.github.com/james-see/veil/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/james-see%2Fveil/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266499289,"owners_count":23938827,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["html5","javascript","privacy","scraping","webapp"],"created_at":"2024-10-05T00:08:00.440Z","updated_at":"2025-07-22T13:06:42.490Z","avatar_url":"https://github.com/james-see.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"veil\n====\n\n*the uncollectible website*\n\n``example using veil6.html after pressing period(.) key to show content and then releasing key``\n\n.. image:: https://cloud.githubusercontent.com/assets/616585/25074501/0ac19fa0-22ca-11e7-995a-279b6f3ae458.gif\n   :width: 40pt\n\nwhat\n----\n\nVeil is a project that attempts to build an uncollectable webpage. The goals of Veil are:\n\n1. block curl\n2. block wget\n3. block phantomjs\n4. block google \u0026 other traditional search engine crawlers\n5. block a python script that ignores robots.txt \u0026 spoofs user behavior and user agents\n6. block screenshot captures\n7. block click \u0026 drag capturing\n8. block mobile captures\n\nwhy\n---\n\nBuilding custom web scraping robots is one thing. But building sites that can defend themselves from said robots is another.\n\nbuild plan\n----------\n\nSimply veil1.html, veil2.html etc. will exist in examples folder as the project progresses with more features and more capabilities. This iterative approach to tackling this issues is best to track progress and to build from previous versions.\n\nissues\n------\n\nAt the end of the day, if you want to collect a VEIL-enabled site, you can point a camera at your screen and capture it that way. If Veil succeeds in forcing the operator to do that as their only means, then this project will be considered a success.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-see%2Fveil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjames-see%2Fveil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-see%2Fveil/lists"}