Technology and tools
Deflect is our DDoS-mitigation service for NGOs, civil society groups, activist bloggers and independent media. Our service is a free, open source and an effective solution to mitigate DDoS attacks. Deflect could not exist without the continued support from the open source community. We would like to take this opportunity to thank our service providers and partners.
Debian is a Unix-like computer operating system that is composed entirely of free software, most of which is under the GNU General Public License and packaged by a group of individuals participating in the Debian Project. Our edge servers work like a charm on Debian.
Apache Traffic Server (ATS)
Apache Traffic Server™ software is a fast, scalable and extensible HTTP/1.1 and HTTP/2.0 compliant caching proxy server. We use ATS to cache and proxy Deflect edge servers.
NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. It is also known for its, stability, rich feature set, simple configuration, and low resource consumption. We use NGINX for our managed WordPress framework eQPress.
Elasticsearch is a search engine based on Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is released as open source under the terms of the Apache License. Elasticsearch is developed alongside a data-collection and log-parsing engine called Logstash, and an analytics and visualisation platform called Kibana. The three products are designed for use as an integrated solution, referred to as the "Elastic Stack" (formerly the "ELK stack"). We use the stack for Deflect and Deflect Labs.
Search Guard by Floragunn
Search Guard® is an Open Source security suite for Elasticsearch and the entire Elastic Stack that offers encryption, authentication, authorization, audit logging and multi tenancy. Whether you just want to encrypt data in transit, authenticate users against Active Directory, use Kerberos or JSON web tokens for Single Sign On or need to monitor and log malicious access attempts, Search Guard is your one-stop solution. The Community edition comes for free!
Nagios, now known as Nagios Core, is a free and open source computer-software application that monitors systems, networks and infrastructure. Nagios Core offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.
Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time. It uses no agents and no additional custom security infrastructure, so it's easy to deploy - and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English.
GitHub is a Web-based Git version control repository hosting service. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project. We use GitHub on a daily basis to maintain our Deflect Documentation and code repositories for our other projects.
CircleCI is used to automate our software development processes, using continuous integration and continuous delivery so we can focus on what matters: building great things, not waiting for great things to build. We use it for Deflect Documentation and our other projects.
Read the Docs
Read the Docs hosts documentation for the open source community. They support Sphinx docs written with reStructuredText and CommonMark. The code is pulled from your Subversion, Bazaar, Git, and Mercurial repositories. It then builds documentation and hosts it for you. Think of it as Continuous Documentation. We use Read the Docs to add and push new Deflect Documentation language versions live.
Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license. It was originally created for the Python documentation, and it has excellent facilities for the documentation of software projects in a range of languages. Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils. We use reStructuredText in GitHub for our Deflect Documentation.