Privacy-respecting meta search for adult video content. No tracking, no logging, no analytics. Aggregates results from 51 video sites with bang shortcuts for targeted searches.
Repository: https://github.com/apimgr/vidveil
| Feature | Description |
|---|---|
| Privacy First | No tracking, no logging, no analytics |
| 53+ Engines | Aggregates results from 53+ adult video sites |
| Bang Search | Use !ph, !xh, !rt to search specific sites |
| Fast APIs | Direct JSON API integration with PornHub, RedTube, Eporner |
| SSE Streaming | Real-time result streaming as engines respond |
| Thumbnail Proxy | All thumbnails proxied to prevent engine tracking |
| Autocomplete | Bang shortcuts autocomplete as you type |
| Tor Support | Built-in Tor hidden service support |
| Admin Panel | Full web-based administration |
| Single Binary | No external dependencies, embedded assets |
| Docker Ready | Alpine-based container with tini |
docker run -d \
--name vidveil \
-p 64580:80 \
-v ./rootfs/config:/config:z \
-v ./rootfs/data:/data:z \
ghcr.io/apimgr/vidveil:latestcurl -O https://raw.githubusercontent.com/apimgr/vidveil/main/docker/docker-compose.yml
docker compose up -dDownload the latest binary for your platform from Releases.
# Linux (amd64)
curl -LO https://github.com/apimgr/vidveil/releases/latest/download/vidveil-linux-amd64
chmod +x vidveil-linux-amd64
./vidveil-linux-amd64A companion CLI client (vidveil-cli) is available for interacting with the server API from the terminal.
# Download latest release
curl -LO https://github.com/apimgr/vidveil/releases/latest/download/vidveil-linux-amd64-cli
chmod +x vidveil-linux-amd64-cli
sudo mv vidveil-linux-amd64-cli /usr/local/bin/vidveil-cli# Connect to server (creates ~/.config/apimgr/vidveil/cli.yml)
vidveil-cli --server https://x.scour.li --token YOUR_API_TOKEN# Show help
vidveil-cli --help
# Search (launches interactive TUI)
vidveil-cli search "query"
# List engines
vidveil-cli engines
# View bangs
vidveil-cli bangsThe CLI automatically launches an interactive TUI (Terminal User Interface) with keyboard navigation, dark theme, and real-time updates.
Configuration file location (created on first run):
| Platform | Path |
|---|---|
| Linux (root) | /etc/apimgr/vidveil/server.yml |
| Linux (user) | ~/.config/apimgr/vidveil/server.yml |
| macOS | ~/Library/Application Support/apimgr/vidveil/server.yml |
| Windows | %AppData%\apimgr\vidveil\server.yml |
| Docker | /config/server.yml |
| Variable | Description | Default |
|---|---|---|
MODE |
production or development |
production |
PORT |
Listen port | 80 |
CONFIG_DIR |
Config directory | Platform-specific |
DATA_DIR |
Data directory | Platform-specific |
GET /api/v1/search?q={query}&page={page}&engines={engines}
Parameters:
q- Search query (supports bangs like!ph amateur)page- Page number (default: 1)engines- Comma-separated engine names (optional)
Response:
{
"ok": true,
"data": {
"query": "!ph amateur",
"search_query": "amateur",
"has_bang": true,
"bang_engines": ["pornhub"],
"results": [...],
"engines_used": ["pornhub"],
"search_time_ms": 450
}
}GET /api/v1/search/stream?q={query}
Returns Server-Sent Events with results as each engine responds.
GET /api/v1/bangs
GET /api/v1/bangs/autocomplete?q={partial}
GET /api/v1/engines
GET /api/v1/engines/{name}
GET /healthz
GET /api/v1/healthz
| Endpoint | Description |
|---|---|
/openapi |
Swagger UI |
/openapi.json |
OpenAPI 3.0 spec (JSON) |
/graphql |
GraphQL endpoint |
/graphiql |
GraphQL playground |
Use bang shortcuts to search specific engines:
| Bang | Engine | Example |
|---|---|---|
!ph |
PornHub | !ph amateur |
!xh |
xHamster | !xh milf |
!rt |
RedTube | !rt blonde |
!xv |
XVideos | !xv teen |
!ep |
Eporner | !ep hd |
!yp |
YouPorn | !yp pov |
Multiple bangs: !ph !rt amateur searches both PornHub and RedTube.
Full list: See /api/v1/bangs for all 53+ engine shortcuts.
| Engine | Bang | Method |
|---|---|---|
| PornHub | !ph |
Webmasters API |
| RedTube | !rt |
Public API |
| Eporner | !ep |
v2 JSON API |
| XVideos | !xv |
HTML parsing |
| XNXX | !xn |
HTML parsing |
| xHamster | !xh |
JSON extraction |
| Engine | Bang |
|---|---|
| YouPorn | !yp |
| PornMD | !pmd |
| PornHat | !phat |
4Tube, Fux, PornTube, YouJizz, SunPorno, TXXX, Nuvid, TNAFlix, DrTuber, EMPFlix, HellPorno, AlphaPorno, PornFlip, ZenPorn, GotPorn, HDZog, XXXYMovies, LoveHomePorn, PornerBros, NonkTube, NubilesPorn, PornBox, PornTop, Pornotube, PornHD, XBabe, PornOne, PornTrex, HQPorner, VJAV, FlyFLV, Tube8, XTube, AnyPorn, SuperPorn, TubeGalore, Motherless
Access at /admin (setup token shown on first run).
| Route | Section | Description |
|---|---|---|
/admin |
Dashboard | Overview and statistics |
/admin/server/settings |
Settings | Server configuration |
/admin/server/branding |
Branding | Logo, title, themes |
/admin/server/ssl |
SSL/TLS | Let's Encrypt, certificates |
/admin/server/email |
SMTP configuration | |
/admin/server/scheduler |
Scheduler | Scheduled tasks |
/admin/server/logs |
Logs | Access and error logs |
/admin/server/database |
Database | SQLite management |
/admin/server/security/* |
Security | Auth, tokens, rate limiting, firewall |
/admin/server/network/* |
Network | Tor, GeoIP, blocklists |
/admin/server/system/* |
System | Backup, maintenance, updates |
/admin/server/users/* |
Users | Admin management |
/admin/server/engines |
Engines | Search engine configuration |
vidveil [options]
Options:
--help Show help
--version Show version
--status Show server status
--mode <mode> Set mode (production/development)
--port <port> Set listen port
--address <addr> Set listen address
--config <dir> Set config directory
--data <dir> Set data directory
--service <cmd> Service management (start/stop/restart/install/uninstall)
--maintenance <cmd> Maintenance (backup/restore)
--update [check|yes] Check for or perform updates- Docker (required for builds)
- Make
- Incus or Docker (for testing)
make dev # Quick build to temp directory
make host # Build with version to binaries/
make build # Full cross-platform build
make test # Run unit tests./tests/run_tests.sh # Auto-detects incus/docker
./tests/incus.sh # Full OS test with systemd (PREFERRED)
./tests/docker.sh # Quick Docker test| OS | Architecture |
|---|---|
| Linux | amd64, arm64 |
| macOS | amd64, arm64 |
| Windows | amd64, arm64 |
| FreeBSD | amd64, arm64 |
MIT License - see LICENSE.md
This software is provided for legal use only. Users are responsible for ensuring compliance with applicable laws and regulations in their jurisdiction.