Skip to main content

Getting Started

Synapse is a high-performance XDR with eBPF-powered firewall and reverse proxy built with Rust. Protect your Linux servers with kernel-level packet filtering and threat intelligence.

Quick Start

Ubuntu / Debian Install

curl -fSL https://raw.githubusercontent.com/gen0sec/synapse/refs/heads/main/install.sh | sh

Run Synapse

# Run with config file
synapse -c /etc/synapse/config.yaml

# Set mode via environment variable (default: agent)
export MODE="proxy" # or "agent"

Installation Methods

Ansible

git clone https://github.com/gen0sec/synapse.git
cd synapse/moat/ansible
cp hosts.example hosts
# Edit hosts and add your server details
ansible-playbook playbook.yml -e gen0sec_api_token=your_key_here

Supports Debian/Ubuntu and RedHat/CentOS/Fedora with optional ClamAV, Redis, and Fail2Ban.

Kubernetes (Helm)

helm repo add gen0sec https://helm.gen0sec.com
helm install synapse-stack

Killercoda Playground

curl -sSL https://raw.githubusercontent.com/gen0sec/synapse/main/scenarios/synapse-operator/synapse.sh | bash -s -- --api-key <YOUR_API_KEY>

Docker

docker run \
--cap-add=SYS_ADMIN --cap-add=BPF --cap-add=NET_ADMIN \
-e API_KEY="your-api-key" \
-e MODE="proxy" \
synapse -c /etc/synapse/config.yaml
Required Capabilities

Docker containers need SYS_ADMIN, BPF, and NET_ADMIN capabilities for XDP/eBPF support.

Modes

Synapse runs in two modes: Agent (default) and Proxy.

FeatureProxyAgent
HTTP/HTTPS Reverse ProxyYesNo
TLS & ACME CertificatesYesNo
Upstreams & Load BalancingYesNo
WAF, Rate Limiting, CAPTCHAYesNo
Content Scanning (ClamAV)YesNo
XDP Firewall & Access RulesYesYes
Threat Intelligence & GeoIPYesYes
JA4+ FingerprintingFullNetwork-level
BPF Stats & TCP FingerprintingYesYes
File/Syslog LoggingYesYes

Agent Mode (Default)

Standalone agent focused on access rules enforcement without HTTP/HTTPS proxy. Ideal for network-level protection where you don't need request proxying.

mode: "agent"  # default, can be omitted

Use cases:

  • Network-level firewall protection without proxying
  • Access rules enforcement at the edge
  • Kernel-level IP blocking without HTTP overhead
  • Integration with existing reverse proxies or load balancers

Proxy Mode

Full-featured reverse proxy with HTTP/HTTPS support, forwarding requests to upstream servers while applying access rules and threat intelligence at the kernel level.

mode: "proxy"

proxy:
address_http: "0.0.0.0:80"
address_tls: "0.0.0.0:443"
upstream:
conf: "/etc/synapse/upstreams.yaml"

Requirements

RequirementMinimumRecommendedNotes
Kernel4.18+5.4+XDP support required
glibc2.31+2.35+For binary releases
Architecturex86_64x86_64, aarch64ARM64 supported
Memory128 MB512 MB+Depends on traffic
Disk100 MB500 MB+For logs and MMDB files
DependencyRequiredPurpose
libbpfYeseBPF program loading
RedisYes (Proxy)Caching, certificate store
ClamAVOptionalContent scanning

Tested Distributions

DistributionVersionStatus
Ubuntu24.04 LTSTested, Recommended
Ubuntu22.04 LTSTested
Ubuntu20.04 LTSTested
Debian12 (Bookworm)Tested
RHEL/Rocky/Alma9.xTested
Fedora39+Compatible
Amazon Linux2023Compatible

Post-Installation

1. Configure API Key

# Get your API key from https://dash.gen0sec.com/settings/api-keys
sudo nano /etc/synapse/config.yaml
platform:
api_key: "your-api-key"

2. Start the Service

sudo systemctl start synapse
sudo systemctl enable synapse
sudo systemctl status synapse

3. Verify

# Check logs
sudo journalctl -u synapse -f

Next Steps

Resources