A high-performance Usenet binary poster written in Go, inspired by Nyuu-Obfuscation.
- Multi-server support with automatic failover
- Yenc encoding using rapidyenc for high performance
- Post checking with multiple attempts
- Configurable segment size
- Automatic retry on failure
- SSL/TLS support
- Connection pooling for better performance
- PAR2 support with configurable redundancy
- Multiple obfuscation policies
- Configurable group posting policies
- File watching and automatic posting
- Configurable posting schedules
# Create docker-compose.yml
curl -o docker-compose.yml https://raw.githubusercontent.com/kipsilabs/postie/main/docker-compose.yml
# Start Postie
docker-compose up -d
# Access web interface at http://localhost:8080For detailed documentation, installation instructions, configuration options, and usage examples, please visit the Postie Documentation Site.
- Go 1.26+
- Bun — used for the frontend (do not use npm)
- A C toolchain, because the native PAR2 encoder uses cgo. On Windows use MSYS2 with the MinGW-w64 GCC toolchain and build from the MSYS2 shell; on macOS the Xcode command line tools are enough.
Wails does not need to be installed separately — it is declared as a Go tool
dependency and runs via go tool wails.
The Go binaries embed the compiled frontend, so the frontend must be built
first. Skipping this step fails with
pattern all:frontend/build: no matching files found.
git clone https://github.com/kipsilabs/postie.git
cd postie
make build-frontend # cd frontend && bun i && bun run build
make build # CLI + web serverIndividual targets:
| Command | Builds | Output |
|---|---|---|
make build-cli |
CLI (./cmd/postie) |
./postie-cli |
make build-web |
Web server (./cmd/web) |
./postie-web |
make build-gui |
Desktop app via Wails | ./build/bin/postie (.app on macOS) |
Run make help for the full target list, and make check before opening a pull
request (it runs go generate, go mod tidy, golangci-lint and the race tests).
make dev # desktop app with hot reloadgo install cannot build this repository, because the embedded frontend assets
are not present in a fresh module cache. Use the release binaries, or build from
source as above.
This project is licensed under the MIT License - see the LICENSE file for details.

