~bigbes/shroud

ref: 999bf1cb8045e0b245640d8f284d92f41b31b8a8 shroud/internal d---------
999bf1cb — Eugene Blikh 2 months ago
feat(reality): add autodetect command for decoy server

Add REALITY decoy server auto-detection with two scanning modes:
subnet scan (/24 around server IP) and domain list scan.
- Add vless autodetect CLI command with --write flag to update config.
- Add domain list mode for custom target selection.
- Add public IP detection via external services.
- Update install.sh to auto-configure REALITY with --vless flag.
- Track TLS handshake latency in ScanResult for best server selection.
3defea82 — Eugene Blikh 2 months ago
feat(vless): add scan command for reality targets

Add CLI subcommand to scan TLS servers and identify those suitable for REALITY decoy configuration.
- Add vless scan command with multiple input sources (--addr, --in, --url).
- Implement TLS 1.3 and HTTP/2 ALPN feasibility check.
- Add GeoIP country code lookup for scanned hosts.
- Update geoip2-golang dependency to v1.13.0.
3804bcf4 — Eugene Blikh 2 months ago
feat(vless): add VLESS+REALITY transport support

Add VLESS over REALITY as a third VPN transport alongside Shadowsocks and AmneziaWG.

- Implement VLESS protocol parser, TCP relay, and REALITY-based TLS server.
- Add x25519 keypair and short ID generation with tests.
- Add MMDB manager for automatic download and daily update of GeoIP databases.
- Integrate VLESS server lifecycle into main serve command and API handlers.
- Add CLI subcommands: vless keygen, vless info, vless share.
- Extend store with VLESSKeyData and REALITY server keys persistence.
- Update config with vless section and MMDB URL/cache/auto-update settings.

false
5afb3bad — Eugene Blikh 2 months ago
feat: add optional shadowsocks and outline smart dialer config

Add support for optional Shadowsocks server and Outline Smart Dialer configuration.
- Make Shadowsocks server optional with enabled flag in config.
- Add Outline Smart Dialer YAML config endpoint for AWG fallback transport.
- Migrate to new outline import paths (golang.getoutline.org).
- Refactor ACME settings into separate config section.
- Add AWG hostname and mux_enabled options for flexible deployment.
- Generate random AWG obfuscation parameters in install script.
- Update README with dependencies table and new API endpoint.
f351e0e2 — Eugene Blikh 2 months ago
refactor: rename project to shroud

Rename project from outline-distro to shroud for better branding.

- Update module path in go.mod from outline-distro to shroud.
- Rename binary, service file, and all installation paths.
- Update all import paths across internal packages.
- Add comprehensive README.md with usage and architecture docs.
- Update install script and systemd unit file for new naming.
- Update config example with new cert cache path.
ca7efb0f — Eugene Blikh 2 months ago
Initial commit: Shadowsocks + AmneziaWG VPN server

Single-binary Go replacement for the Outline VPN server stack.
Supports Shadowsocks (via outline-ss-server library) and AmneziaWG
with HTTP/3 mux for DPI resistance (MuxBind shares UDP port between
AWG and a real QUIC/HTTP/3 server with Let's Encrypt).

Includes systemd unit, install script for Ubuntu, and REST API
compatible with the Outline Manager.

false