{"id":13547502,"url":"https://github.com/equalitie/autodeflect","last_synced_at":"2025-06-21T05:35:26.476Z","repository":{"id":53065851,"uuid":"44329407","full_name":"equalitie/autodeflect","owner":"equalitie","description":"Ansible Deflect configuration automation","archived":false,"fork":false,"pushed_at":"2022-08-16T15:42:26.000Z","size":555,"stargazers_count":20,"open_issues_count":1,"forks_count":10,"subscribers_count":13,"default_branch":"development","last_synced_at":"2025-05-07T18:35:40.399Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equalitie.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}},"created_at":"2015-10-15T16:06:54.000Z","updated_at":"2025-02-06T16:00:36.000Z","dependencies_parsed_at":"2022-09-11T10:50:53.292Z","dependency_job_id":null,"html_url":"https://github.com/equalitie/autodeflect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/equalitie/autodeflect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fautodeflect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fautodeflect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fautodeflect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fautodeflect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equalitie","download_url":"https://codeload.github.com/equalitie/autodeflect/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equalitie%2Fautodeflect/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261070118,"owners_count":23105332,"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":[],"created_at":"2024-08-01T12:00:57.166Z","updated_at":"2025-06-21T05:35:21.465Z","avatar_url":"https://github.com/equalitie.png","language":"C","funding_links":[],"categories":["C","others"],"sub_categories":[],"readme":"autodeflect\n========\n\nAutodeflect is an automation system for DIY installations of the\n[Deflect](https://deflect.ca) anti-DDoS CDN system.\n\nDeflect is a lightweight but heavy-duty anti-DDoS content distribution\nnetwork that uses low-cost reverse proxies to absorb and mitigate DDoS\nattacks on webservers. The infrastructure is comprised of many parts,\nwith [Apache Traffic Server](https://trafficserver.apache.org/) being a\ncentral component used for caching resources and serving them. \n\nAutodeflect is a system for writing out the dynamic components of a\nDeflect configuration. This comprises:\n* Apache Traffic Server remap files\n* Bind-style zone file information (designed to be used with [Edgemanage](https://github.com/equalitie/edgemanage) for robust serving of content when servers experience instability or become unavailable). \n* icinga configuration for monitoring origin servers\n* site configuration rules for the [Banjax](https://github.com/equalitie/banjax) mitigation platform. \n* Scripted renewal of [Let's Encrypt](https://letsencrypt.org/) TLS certs\n\nConfiguration \n-------\n\nGlobal configuration of controller-side elements is accomplished via\nvariables. These are created with ```ansible-playbook init.yml```.\nComments document the majority of this configuration.\n\nSetup you inventory in ```config/inventory/inventory```\nThen run your playbook. ```ansible-playbook init.yml```.\nNote: You should only do this after autodeflect was install with\n```cityhall```\n\nClient configuration (sites protected behind your instance of Deflect)\nis accomplished via ```clients.yml```. In the Deflect system this file\nis generated via the [Deflect\nDashboard](https://dashboard.deflect.ca). This file can be written by\nhand or populated by some automated system. Some Day the Deflect\nDashboard source will be opened, but this is not that day.\n\nLimitations\n-------\n\nAutodeflect does *not* write out configuration for a Nagios\ninstallation, an Awstats setup or an Apache Traffic Server\nconfiguration set. Users should supply these configurations themselves\n(generally the stock configurations are fine, but vast improvements\ncan be obtained by tweaking them). In future static configuration\nfiles will be added to this repository.\n\nRequires:\n* python-passlib\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequalitie%2Fautodeflect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequalitie%2Fautodeflect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequalitie%2Fautodeflect/lists"}