dperson / torproxy

GNU Affero General Public License v3.0
522 stars 149 forks source link

allow spaces in custom env settings #78

Open 5andr0 opened 2 years ago

5andr0 commented 2 years ago

This patch will allow multiple arguments and spaces for custom settings.

some examples of settings requiring multiple arguments:

ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy managed
bridge obfs4 141.201.27.48:420 gibberish cert=more-gibberish iat-mode=0
ReachableAddresses accept *:80

for env in $(printenv | grep '^TOR_'); do The for loop uses space as a delimiter unless IFS is set to '\n' Another problem here is that arguments other than [0-9]+|false|true are encapsulated in quotes which will not work for those settings. In fact, there is not a single torrc setting that requires quotes. And even if necessary, the quotes could be added inside the environment var instead of forcing them on all non boolean/decimal values.