Production-ready application firewall that gives Linux users the same outbound connection control they had on Windows.
Linux by default allows ALL outbound connections. Any application can connect to any server without your knowledge or permission. This is a security risk.
Douane intercepts every outbound connection and shows you a GUI popup. You decide which applications can access the network - Allow or Deny, Once or Always.
Integrates with netfilter/iptables NFQUEUE to intercept actual packets in real-time
Matches packets to processes via /proc filesystem for accurate app detection
Cached rules provide instant decisions for known connections
Enhanced dialogs show hostname, port description, process info, and risk level
Full-featured GUI with beautiful progress dialogs, instant rule reload, and pkexec integration for secure permissions
Permanent rules stored in UFW for persistence across reboots
Auto-deny after 30 seconds (configurable) to prevent hanging connections
Safe testing mode that shows popups but always allows connections. Rules are automatically saved!
All decisions are saved immediately to disk, even in learning mode. No data loss on restart!
Guided setup with whiptail dialogs - choose mode, autostart, and start now during installation
Delete rules and they take effect immediately via SIGHUP - no restart needed!
Application tries to connect
Packet queued to NFQUEUE
Daemon identifies app
GUI shows popup
User decides
# Clone the repository
git clone https://github.com/shipdocs/Douane-Application-firewall-for-Linux.git
cd Douane-Application-firewall-for-Linux
# Build the package
./build_deb.sh
# Install
sudo dpkg -i douane-firewall_2.0.0_all.deb
# Fix dependencies if needed
sudo apt-get install -f
# Install system dependencies
sudo apt-get update
sudo apt-get install -y python3 python3-pip \
python3-tk build-essential \
libnetfilter-queue-dev iptables ufw
# Install Python dependencies
pip3 install -r requirements.txt
# Configure UFW
sudo ./setup_firewall.sh
# Run the firewall
sudo python3 douane_firewall.py
Search for "Douane Firewall" in your application menu and click to launch. Enter your password when prompted.
When an app tries to connect, a popup appears showing the application name, destination, and risk level.
Choose "Allow Once", "Allow Always", or "Deny". Your decision is saved and applied instantly.
Open the Control Panel to view, edit, or delete saved rules. Monitor logs and adjust settings.
Start protecting your Linux system from unauthorized outbound connections today.