Giter Site home page Giter Site logo

tkuennen / pffocus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tkcert/pffocus

0.0 2.0 0.0 296 KB

Generate meaningful output from your pfSense configuration backup, like Markdown documentation.

License: GNU General Public License v3.0

Makefile 1.45% Python 98.55%

pffocus's Introduction

pfFocus

pfFocus

Build Status

This simple tool allows you to convert a full configuration backup of a pfSense firewall into some meaningful output format, like Markdown or YAML. It enables you to focus on the important parts of your firewall configuration and allows you to get a quick overview of the most important settings.

Requirements

  • Python 3.5+
    • defusedxml==0.5.0
    • PyYAML==3.12

Screenshots

Before: Configuration backup as XML

Configuration backup as XML

After: Markdown documentation

System and Interfaces Filter rules

Features

pfFocus currently supports the following configuration sections:

  • Basic system information
  • List of interfaces, VLANs, bridges, gateways and static mappings
  • List of DHCP ranges and aliases
  • NAT rules with alias and interface resolution
  • Outbound NAT rules with alias and interface resolution
  • Filter rules with alias and interface resolution
  • DNS forwarder (DNSmasq) configuration
  • OpenVPN server and client configurations
  • Syslog and sysctl configuration

Usage

Main formatting tool: format.py

format.py

Examples:

./format.py -i config-backup.xml -f md -o test.md
./format.py -i config-backup.xml -f yaml -o test.yaml

Test parsing tool: parse.py

parse.py [-h] input_path

Examples:

./parse.py config-backup.xml

Roadmap

Some ideas for the future development of pfFocus:

  • Producing additional output formats, especially structured formats like CSV.
  • Using these structured formats to enable easy diff'ing of configurations.
  • Maybe functionality to correlate rule configurations of different firewalls.

Credits

  • Thomas Patzke (@thomaspatzke) for
    • valuable suggestions and feedback
  • Florian Roth (@Cyb3rOps) for
    • giving it the name pfFocus
    • the very nice and gorgeous logo

pffocus's People

Contributors

mback2k avatar khorsmann avatar kendokan avatar rrauenza avatar

Watchers

Travis Kuennen 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.