wg-obfuscator - simple obfuscator for WireGuard #189

Open
opened 2025-10-04 20:56:47 +03:00 by skobkin · 0 comments
Owner

Docker Compose example:

version: '3.8'

services:
  wg-obfuscator:
    image: clustermeerkat/wg-obfuscator:latest
    volumes:
      - ./.wg-obfuscator.conf:/etc/wg-obfuscator/wg-obfuscator.conf
    ports:
      - "13255:13255/udp"
    container_name: wg-obfuscator-container
    restart: unless-stopped

How it works

   ┌───────────────────────────┐             ┌───────────────────────────┐
   │      Peer A (1.2.3.4)     │             │      Peer B (5.6.7.8)     │
   │  ┌─────────────────┐      |             │  ┌─────────────────┐      |
   │  │ WireGuard       │      |             │  │ WireGuard       │      |
   │  │ ListenPort=1111 |      |             │  │ ListenPort=6666 |      |
   │  └─────▲───────────┘      |             │  └─────▲───────────┘      |
   │        │                  │             │        │                  │
   │  ┌─────▼───────────────┐  │             │  ┌─────▼───────────────┐  │
   │  │ source-lport=2222   |  │             │  │ local port=5555     │  │
   │  │                     |  │             │  │                     │  │
   │  │ Obfuscator          |  │             │  │ Obfuscator          |  │
   │  │ static-bind         |  │             │  │ static-bind         |  │
   │  │ 127.0.0.1:1111:3333 |  │             │  │ 1.2.3.4:3333:5555   |  │
   │  │                     |  │             │  │                     │  │
   │  │ local port=3333     │  |             │  │ source-lport=4444   |  │
   │  └─────▼───────────────┘  │             │  └─────▼───────────────┘  │
   │        │                  │             │        │                  │
   └────────┼──────────────────┘             └────────┼──────────────────┘
            │                                         │
            │         UDP/obfuscated traffic          │
            │<--------------------------------------->│
- [Github](https://github.com/ClusterM/wg-obfuscator) - [`clustermeerkat/wg-obfuscator`](https://hub.docker.com/r/clustermeerkat/wg-obfuscator) - [Running in Docker on Linux](https://github.com/ClusterM/wg-obfuscator?tab=readme-ov-file#running-docker-container-on-linux) - [Configuration](https://github.com/ClusterM/wg-obfuscator?tab=readme-ov-file#configuration) - [Caveats and Recommendations](https://github.com/ClusterM/wg-obfuscator?tab=readme-ov-file#running-docker-container-on-mikrotik-routers-routeros-74) Docker Compose [example](https://github.com/ClusterM/wg-obfuscator?tab=readme-ov-file#example-docker-composeyml): ```yaml version: '3.8' services: wg-obfuscator: image: clustermeerkat/wg-obfuscator:latest volumes: - ./.wg-obfuscator.conf:/etc/wg-obfuscator/wg-obfuscator.conf ports: - "13255:13255/udp" container_name: wg-obfuscator-container restart: unless-stopped ``` ## How it works ``` ┌───────────────────────────┐ ┌───────────────────────────┐ │ Peer A (1.2.3.4) │ │ Peer B (5.6.7.8) │ │ ┌─────────────────┐ | │ ┌─────────────────┐ | │ │ WireGuard │ | │ │ WireGuard │ | │ │ ListenPort=1111 | | │ │ ListenPort=6666 | | │ └─────▲───────────┘ | │ └─────▲───────────┘ | │ │ │ │ │ │ │ ┌─────▼───────────────┐ │ │ ┌─────▼───────────────┐ │ │ │ source-lport=2222 | │ │ │ local port=5555 │ │ │ │ | │ │ │ │ │ │ │ Obfuscator | │ │ │ Obfuscator | │ │ │ static-bind | │ │ │ static-bind | │ │ │ 127.0.0.1:1111:3333 | │ │ │ 1.2.3.4:3333:5555 | │ │ │ | │ │ │ │ │ │ │ local port=3333 │ | │ │ source-lport=4444 | │ │ └─────▼───────────────┘ │ │ └─────▼───────────────┘ │ │ │ │ │ │ │ └────────┼──────────────────┘ └────────┼──────────────────┘ │ │ │ UDP/obfuscated traffic │ │<--------------------------------------->│ ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
skobkin/docker-stacks#189
No description provided.