Satu Slash di depan semuanya.

Web server. Reverse proxy. Ingress controller.

Slash adalah web server, reverse proxy, dan Kubernetes Ingress controller yang ditulis dari nol dengan Rust. HTTP/3 dan HTTPS otomatis langsung aktif, dikonfigurasi dengan satu file pendek.

Setiap request, ditangani sekali.

Slash menangani terminasi TLS, memeriksa request, mengompres respons, lalu meneruskannya ke situs, aplikasi PHP, container, atau pod. Satu proses, satu konfigurasi, tanpa modul yang perlu dikompilasi.

Server pada umumnya

Beginilah server pada umumnya hari ini.

File konfigurasi yang tidak ingin disentuh siapa pun. Sertifikat diperpanjang oleh cron job. Modul firewall dikompilasi manual.

Setiap situs baru adalah satu blok lagi yang disalin dari situs sebelumnya, lalu reload, lalu berharap tidak ada koneksi yang putus.

Slash menggantinya dengan satu file yang dapat Anda baca dalam satu menit.

Slashfile

Empat situs. Lima baris.

Slashfile
email admin@example.com

example.com, www.example.com    proxy localhost:3000
blog.example.com                wordpress /var/www/blog
api.example.com                 laravel /var/www/api
docs.example.com                files /srv/docs

Itu Slashfile yang lengkap: HTTPS otomatis dari Let’s Encrypt, HTTP/3, PHP lewat php-fpm, dan file statis.

slash check memvalidasinya dengan nomor baris dan saran untuk salah ketik. slash reload memvalidasi lagi, lalu menukar konfigurasi baru secara atomik tanpa memutus koneksi.

Posisinya

Sajikan sendiri, atau berdiri di depannya.

Web server
File statis dibaca langsung, PHP berjalan lewat php-fpm dengan preset WordPress dan Laravel. Satu binary menggantikan Nginx atau Apache di satu server.
Reverse proxy
Di depan Node.js, Go, Java, Python, atau container Docker. Slash menangani TLS, WAF, load balancing, dan health check; aplikasi Anda cukup bicara HTTP biasa.
Ingress controller
slash-ingress berjalan di sebelah Slash di pod, membaca objek Ingress v1 dan memahami anotasi umum ingress-nginx, sehingga Ingress yang ada berpindah tanpa perubahan.

HTTP/1.1, HTTP/2, HTTP/3, WebSocket, gRPC, TCP, UDP, dan TLS passthrough berdasarkan SNI.

AssaultCuirass WAF

Zirah untuk setiap request.

Heavy-Duty, Memory-Safe Web Application Firewall Powered by Rust.

AssaultCuirass menjalankan aturan request OWASP CRS v4 di engine Rust milik Slash sendiri. Tanpa ModSecurity, dan setiap regular expression berjalan dalam waktu linear, sehingga request yang sengaja dirancang tidak bisa membuatnya macet.

  • 89.5% serangan diblokir pada paranoia level 1
  • 0.13 ms biaya per request bersih
  • 37,000 payload di set pengujian
Slashfile
shop.example.com    proxy localhost:3000
    waf                           # detect: log only
    /api  waf block               # answer 403 here
    waf skip 942430 ARGS:search   # a false positive

SPMPlus

Panel, kalau Anda butuh.

SPMPlus (Slash Proxy Manager Plus) adalah reverse proxy manager opsional untuk Slash. Proxy dan panel berjalan sebagai proses terpisah, jadi Slash tetap melayani pengunjung saat panel dihentikan atau diperbarui.

Setiap perubahan divalidasi, ditampilkan sebagai diff, ditukar secara atomik, dan dicatat di riwayat versi. Admin masuk dengan passkey atau TOTP.

Bawaan

Tidak ada yang perlu dipasang terpisah.

  • Let’s Encrypt: HTTP-01, TLS-ALPN-01, DNS-01 (Cloudflare) dan ARI, atau unggah sertifikat Anda sendiri
  • Load balancing round-robin dengan health check aktif dan pasif
  • Kompresi zstd, Brotli, dan gzip, plus micro-cache
  • Rate limiting per rute, dijawab dengan 429 dan Retry-After
  • Preset security header per host, aktif secara default
  • IP klien asli di balik load balancer: trusted proxy, PROXY protocol v1/v2
  • File statis dan single-page app; dotfile dan symlink yang keluar folder tidak pernah disajikan
  • Hot reload: divalidasi dulu, lalu ditukar secara atomik
  • TLS 1.3, argon2id, secret dienkripsi saat disimpan

Performa

Diukur, bukan dijanjikan.

  • 92,169 request per detik, 1.000 koneksi HTTP/1.1
  • 0 error dengan 10.000 pengguna HTTPS bersamaan
  • 28 MB Slash saat idle
  • 60 KB atau kurang per koneksi terbuka

bench/concurrency.sh di satu i5-10600 (6 core) pada WSL2; load generator, upstream uji, dan Slash berbagi CPU yang sama.

Server Anda memiliki satu pekerjaan.
Biarkan Slash melakukannya.