DANTE.CONF(5)

πŸ“¦
version 1.4.4 Β· 2 versions
, in ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ NAME ✨

dante.conf β€” the socks client configuration file syntax, bestie πŸ’…

(aka page 5 of the File Formats Manual, in case you were wondering where to look πŸŽ€)


πŸ¦‹ DESCRIPTION πŸ¦‹

So the configuration file for the socks client library is literally how you control logging and which server gets picked. That's it, that's the whole vibe. It's split into two parts: global settings and routes.

Oh and btw, any line can be commented out using the standard comment character # β€” go ahead, silence it, she deserves a break 😌


🌸 FORMAT 🌸

The global settings are giving keyword + colon + value. Very demure. Very mindful.

  • debug β€” set this field to 1 and boom, debugging is turned on πŸ”₯
  • logoutput β€” controls where the client library sends its logoutput. Can be syslog, stdout, stderr, a filename, or honestly a combination of them. The default is no logging at all. Heads up tho: the value syslog may conflict with the program being socksified if that program also uses syslog πŸ‘€
  • resolveprotocol β€” the protocol used to resolve hostnames. Valid values are udp, tcp and fake. The default is udp.
  • route.badexpire β€” how long the "bad" marking of a route should remain set before it is removed. Default is 300 seconds.
  • route.maxfail β€” how many times a route can fail before it gets marked as bad. Default is 1.
  • timeout.connect β€” the number of seconds the client will wait for a connect to the proxy server to complete. The default is 0, indicating the client should use the system's default.

πŸ‘‘ ROUTES πŸ‘‘

Routes are specified with a route keyword. Inside a pair of parenthesis ({}) a set of keywords control the behavior of the route. Each route can contain three address specifications: from, to and via. A route is selected for a connection based on the values within the route block. It's giving casting call, honestly πŸ’–

When searching for a route to match the client's request, the library will first look for a direct route. Then for a socks_v4 route, a socks_v5 route, a http route, and lastly for a upnp route. Order matters, bestie, it's a whole line-up 🌈

Depending on how the library is configured and environment variables set (see the manual for socksify(1)), there may or may not be an automatic fallback to an auto-generated direct route if no other route is found. So like… don't just assume, okay? 😭

The route block can contain the following:

πŸŽ€ ADDRESSES πŸŽ€

Each address field can consist of a IP-address (and where meaningful, a netmask, separated from the IP-address by a '/' sign.), a hostname, a domainname (designated by the leading '.'), or an interfacename (where meaningful). Each address can also be followed by a optional port specifier. Flexible queen πŸ’…

  • from β€” the route is used only by requests coming from the address given as value.
  • to β€” the route is used only by requests going to the address given as value.
  • via β€” address of the proxy server that should be used as a gateway for the connection, or the special value direct to indicate the connection should be direct rather than go via any proxy server.

In the case of upnp, the address can also be the name of the interface to use for discovering the upnp controlpoint, if the full url for the IGD is not yet known, or the special value broadcast to indicate the client should broadcast for an upnp-router on all available network interfaces. Main character behavior, no cap πŸ“‘

  • port β€” parameter to from, to and via. Accepts the keywords eq/=, ne/!=, ge/>=, le/<=, gt/>, lt/< followed by a number. A portrange can also be given as port <start #> - <end #>, which will match all port numbers within the range <start #> and <end #>.

✨ Options ✨

  • clientcompatibility β€” enables certain options for compatibility with broken servers. Valid values are: necgssapi, for compatibility with servers implementing gssapi the NEC socks way. Yes we're being nice to the broken ones πŸ™ˆ
  • command β€” the server supports the given commands. Valid commands are bind, bindreply, connect, udpassociate and udpreply. The default is all commands supported by the protocols set for the route.

Can be used instead of, or to complement, protocol.

  • gssapi.enctype β€” which encryption to enforce for GSSAPI-authenticated communication. Possible values are clear, integrity, or confidentiality. The default is to try for confidentially, but accept whatever the server offers except clear, as clear is not part of the SOCKS GSSAPI standard.
  • gssapi.servicename β€” which servicename to use when involving GSSAPI. Default is "rcmd".
  • method β€” list of authentication methods the client supports and which to offer the server. Currently supported values are none, gssapi, and username. The default is all supported methods.
  • protocol β€” the protocols the server supports. Supported values are tcp and udp. The default is all supported protocols.
  • proxyprotocol β€” the proxy protocols the server supports. Currently supported values are socks_v4, socks_v5, http, and upnp. The default is socks_v4 and socks_v5. Note that if the socks server requires any form of authentication, you need to explicitly set this to socks_v5, as v4 does not support authentication. ⚠️ literally write it down.

🌈 EXAMPLES 🌈

See the example directory in the distribution. (Yes bestie, that's the whole section, go look at the files 😌)


πŸ’œ ENVIRONMENT πŸ’œ

  • SOCKS_USERNAME β€” use the value of SOCKS_USERNAME as the username when doing username authentication.
  • SOCKS_PASSWORD β€” use the value of SOCKS_PASSWORD as the password when doing username authentication. Not recommended as other users on the system might be able to see your password. 🚨 girly pop please, don't do this one.
  • SOCKS_AUTOADD_LANROUTES β€” if this variable is set to "no", the client will not try to auto-add direct routes for all addresses on the LAN. The default is to add them.
  • SOCKS_DISABLE_THREADLOCK β€” if this variable is set, the client will not perform threadlocking. The default is for the client to attempt to figure out for itself whether the application to socksify needs threadlocking or not.

Some additional environment variables are documented in socksify(1).

πŸ“ FILES πŸ“

/etc/dante.conf


🫢 AUTHORS 🫢

For inferno Nettverk A/S:

  • Michael Shuldman
  • Karl-Andre' Skevik

⭐ SEE ALSO ⭐

socksify(1), danted(8), danted.conf(5)

Information about new releases and other related issues can be found on the Dante WWW home page: http://www.inet.no/dante/


πŸ’€ BUGS πŸ’€

See the accompanying BUGS file. New ones should be reported to dante-bugs@inet.no.


okay that's the whole page, you ate that πŸ“

Signing off with love: this was the DANTE.CONF(5) page from the File Formats Manual, dated July 29 2013 β€” yes it's an old queen but she still serves βœ¨πŸ’…

πŸ“¦ where this page comes from