Lists
TSDProxy can be configured to proxy using a YAML configuration file. Multiple lists can be used, and they are referred to as target providers. Each target provider could be used to group the way you decide better to help you manage your proxies. Or can use a single file to proxy all your targets.
Caution
Configuration files are case sensitive
How to enable?
In your /config/tsdproxy.yaml, specify the lists you want to use, just
like this example where the critical
and media
providers are defined.
/config/tsdproxy.yaml
lists:
critical:
filename: /config/critical.yaml
defaultProxyProvider: tailscale1
defaultProxyAccessLog: true
media:
filename: /config/media.yaml
defaultProxyProvider: default
defaultProxyAccessLog: false
/config/critical.yaml
nas1:
ports:
443/https:
targets:
- http://nas1.local:5001
80/http:
targets:
- nas1.funny-name.ts.net
isRedirect: true
nas2:
ports:
443/https:
targets:
- https://nas2.local:5001
/config/media.yaml
music:
ports:
443/https:
targets:
- http://192.168.1.10:3789
video:
ports:
443/https:
targets:
- http://192.168.1.10:8080
photos:
ports:
443/https:
targets:
- http://192.168.1.10:8181
This configuration will create two groups of proxies:
- nas1.funny-name.ts.net and nas2.funny-name.ts.net
- Self-signed tls certificates
- Both use ’tailscale1’ Tailscale provider
- All access logs are enabled
- music.ts.net, video.ts.net and photos.ts.net.
- On the same host with different ports
- Use ‘default’ Tailscale provider
- Don’t enable access logs
Provider Configuration options
/config/tsdproxy.yaml
lists:
critical: # Name the target provider
filename: /config/critical.yaml # file with the proxy list
defaultProxyProvider: tailscale1 # (optional) default proxy provider
defaultProxyAccessLog: true # (optional) Enable access logs
Proxy list file options
/config/filename.yaml
proxyname: # Name of the proxy
proxyProvider: default # (optional) name of the proxy provider
tailscale: # (optional) Tailscale configuration for this proxy
authKey: asdasdas # (optional) Tailscale authkey
ephemeral: false # (optional) (defaults to false) Enable ephemeral mode
runWebClient: false # (optional) (defaults to false) Run web client
verbose: false # (optional) (defaults to false) Run in verbose mode
tags: "tag:example,tag:server" # (optional) tags to apply
# (will override the default provider tags)
ports:
port/protocol: #example 443/https, 80/http
targets: # list of targets (in this version only the first will be used)
- http://sub.domain.com:8111 # change to your target
tailscale: # (optional)
funnel: true # (optional) (defaults to false), enable funnel mode
isRedirect: true # (optional) (defaults to false), redirect to the target
tlsValidate: false # (optional) /defaults to true), disable targets TLS validation
dashboard:
visible: false # (optional) (defaults to true) doesn't show proxy in dashboard
label: "" # (optional), label to be shown in dashboard
icon: "" # (optional), icon to be shown in dashboard
Tip
TSDProxy will reload the proxy list when it is updated. You only need to restart TSDProxy if your changes are in /config/tsdproxy.yaml
Note
See available icons in icons.
Last updated on