Simple command to get clean HTTPS local domains for your projects
myapp.test → localhost:3000
myapp.test/api → localhost:8080
dashboard.test → localhost:5173
app.loc → localhost:4000
curl -sL https://slim.sh/install.sh | shor build from source
git clone https://github.com/kamranahmedse/slim.git
cd slim
make build
make installRequires Go 1.25 or later.
Create a custom HTTPs Domain for local development using slim start
slim start myapp --port 3000
# https://myapp.test → localhost:3000To share your local project on a public URL
slim share --port 3000
# https://cheeky-panda.slim.showStart or stop a local service using
slim startorslim stop
slim start myapp --port 3000 slim start api --port 8080 slim stop myapp # stop one domain slim stop # stop all domains
If you don't specify the TLD, you get a
.testdomain. Specify a full domain to use any TLD:
slim start app.loc --port 3000 # https://app.loc → localhost:3000 slim start my.demo --port 4000 # https://my.demo → localhost:4000
Note: Avoid
.local— it's reserved for mDNS and can cause slow DNS resolution on macOS/Linux.
Route different URL paths to different upstream ports on a single domain:
slim start myapp --port 3000 --route /api=8080 --route /ws=9000
Define all services for a project in a
.slim.yamlfile at the project root:
services: - domain: myapp port: 3000 routes: - path: /api port: 8080 - domain: dashboard port: 5173 - domain: app.loc port: 4000 log_mode: minimal # full | minimal | off cors: true # enable CORS headers on proxied responses
slim up # start all services slim up --config /path/to/.slim.yaml # specify a config path slim down # stop all project services
Expose a local server to the internet with a public
slim.showURL. Requiresslim loginfirst.
slim share --port 3000 # random subdomain slim share --port 3000 --subdomain demo # https://demo.slim.show slim share --port 3000 --password secret # password protected slim share --port 3000 --ttl 30m # auto-expires after 30 minutes slim share --port 3000 --domain myapp.example.com # custom domain
slim list # inspect running domains slim list --json slim logs # view access logs slim logs --follow myapp # tail logs for a domain slim logs --flush # clear log file slim doctor # run diagnostic checks
$ slim doctor
✓ CA certificate valid, expires 2035年02月28日
✓ CA trust trusted by OS
✓ Port forwarding active (80→10080, 443→10443)
✓ Hosts: myapp.test present in /etc/hosts
! Daemon not running
✓ Cert: myapp.test valid, expires 2027年06月03日
Run slim update to update to latest version.
Remove everything: CA, certs, hosts entries, port-forward rules, config
slim uninstall