Giter VIP home page Giter VIP logo

dga_pi-hole's Introduction

Overview

A simple experimental setup was developed to improve Pi-hole’s ability to detect DGA domains using a deep learning model. The Pi-hole blocklist was enriched by the deep learning model, which was trained on DNS requests queried by Pi-hole. If the model detected a DGA domain, a Python script would create a new custom blocklist that would be merged with the default blocklist in gravity. It is recommended to run the model and enrich the blocklist first, as the model cannot operate in real-time.

Table of Contents

  1. Installation
  2. Usage
  3. Folders & Files
  4. Dependencies
  5. Contributing

Installation

Docker images are available for this project, allowing you to pull them without building from scratch. You can find the image at the following URL: https://hub.docker.com/repository/docker/ipcagr1d/pi-hole_dga/general

If you prefer to build from scratch, you can follow these steps:

Clone the repositories and their dependencies by running the get_dependency.sh script. Then, initialize the pre-configured (or modify as needed) Pi-hole container by navigating to the pi-hole folder and running docker-compose up. Initialize the DGA detection module and re-train it if necessary. Copy the module to the running Pi-hole container and set up a cron job.

2. Usage

To use the modified Pi-hole, you can first run the Python script to generate an initial custom blocklist. Then, add the URL of the blocklist to the Pi-hole configuration and set up a cron job.

In terms of functionality, there are no changes from the standard Pi-hole.

3. Folders & Files

  • pi-hole contains the Docker Compose file for the Pi-hole container, you can change the container configurations from this file.
  • env_check.ps1 and set_machine_dns_win.ps1 are optional. This will check your network cofigurations to check the fundamentals config for the container.
  • get_dependency.sh is for dependency of the modified Pi-hole containg the functionalities from another repo to add the model and the script.

4. Dependencies

  • Docker Desktop
  • Python

5. Contributing

Contributions to the project are welcome. If you encounter any issues or have suggestions for improvements, please submit them through the project's GitHub repository.

dga_pi-hole's People

Contributors

ipcagr1d avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.