Git Product home page Git Product logo

xanosfx / simple-edl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jbhoorasingh/simple-edl

0.0 0.0 0.0 61 KB

Simple EDL (External Dynamic Lists) is a modern, web-based application designed to simplify the management and deployment of external dynamic lists for security and network management purposes. It provides a user-friendly interface for creating, editing, and managing lists that can dynamically update IP addresses, URLs, and domain names.

Python 52.30% HTML 47.11% Dockerfile 0.59%

simple-edl's Introduction

Simple External Dynamic List Toolkit

This is side project to create and manage external dynamic list which can be reference in policies on Palo Alto and Checkpoint firewalls.

This is written in Python using the Django framework.

Why bother?

Why not? I have worked on various application leveraging Flask (flask-restx); the development of flask-restx has stalled/slowed, so I wanted to challenge myself to learn a new framework.

The choice was between Django and FastAPI - I choose Django because I'm not sure of the long-term maintenance of FastAPI with all the mini-me spawns showing up.

I decided to create this EDL toolkit because:

  1. The poll/blog tutorial is just not my style.
  2. Speaking to some of my peers, I realized most want to leverage Palo Alto's EDL but are just using a text file on a webserver
  3. Some think that MindMeld is a pain to maintain, and they don't want t pay for Autofocus

TLDR; Wanted to learn another Python web framework, Django > FastAPI, didn't want to create a poll/blog for my first Django project

Live Demo

Any data entered into the live demo will be deleted every 24 hours.

Demo Site Username Password
http://demo1.simpleedl.com/gui/ demouser1 bl3buS1tEnTEmEKT1n

If you are thinking about trying this out - please consider using the Digital Ocean referral link below. You will get $200 credit for 60 days, and I will get $25 credit to help run this demo.

DigitalOcean Referral Badge

You can also support this project by buying me a coffee.

Buy Me A Coffee

Quick Start

Development (No Docker)

# Clone repo
git clone https://github.com/jbhoorasingh/simple-edl.git

# Set up python environment
python -m venv venv
source ./venv/bin/activate
pip install -r requirments.txt

# Migrate database - this will create a temp sqlite3 db
python manage.py makemigrations
python manage.py migrate

# create superuser
python manage.py createsuperuser

Environment File

.env
DJANGO_DEBUG=True
DJANGO_SECRET_KEY=KeKeDoYouLoveMe_NoIDont
DJANGO_ALLOWED_HOSTS="localhost,127.0.0.1"
DJANGO_TIME_ZONE=UTC
DJANGO_DB_ENGINE=django.db.backends.postgresql
DJANGO_DB_NAME=simple_edl
DJANGO_DB_USER=simple_edl
DJANGO_DB_PASSWORD=HelloW0rld2024YouShouldChangeThisPlzPlz
DJANGO_DB_HOST=db
DJANGO_DB_PORT=5432
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/0
.env.db

Separating out Database so we can easily decouple

POSTGRES_USER=r_networking_ping # Change if desired. Has to match SQL_USER in .env
POSTGRES_PASSWORD=ChangeMePlease # Please change! Has to match SQL_USER in .env
POSTGRES_DB=r_networking_pingn # Change if desired. Has to match SQL_USER in .env

Development (Docker)

Docker Compose Up

docker-compose -f docker-compose.dev.yml up --build

Docker Compose Create Super User (Optional)

docker-compose -f docker-compose.dev.yml exec web python manage.py createsuperuser

Acknowledgements

Dockerize Django Guide [TODO] - https://blog.logrocket.com/dockerizing-django-app/

simple-edl's People

Contributors

jbhoorasingh 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.