http://qs321.pair.com?node_id=11113452


in reply to Connecting to a database using a socks proxy?

More than 5 years passed and here I am, having that same question again…

I cannot remember what I did 5 years ago as a workaround, but it's sad to see, no one seemed to have an answer :(


s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e

Replies are listed 'Best First'.
Re^2: Connecting to a database using a socks proxy?
by haukex (Archbishop) on Feb 26, 2020 at 19:38 UTC

    Which database is it? I'm not sure about DBI (I don't think it supports the environment variable ALL_PROXY=socks5h://host:port?), but as a general solution, I've had some success with proxychains (and/or proxychains-ng depending on which your Linux distro provides). On newer Debian/Ubuntu releases, there's a package proxychains4 (alternatively, just proxychains), install that, and in /etc/proxychains.conf change the socks4 entry to socks5 if necessary and adjust the IP and port. Then, for many (but not all) programs, you can just do e.g. proxychains4 perl ... and it will try to intercept the networking to send it through the SOCKS proxy.

      Postgres is what I want to use.

      I saw that there is a DBD::Proxy but as far as I understood this is only for DBI::ProxyServer.

      I also wonder whether or not IO::Socket::Socks::Wrapper could be a way to go…

      Will think about proxychain but I'm not sure it's worth the effort. As it's mainly for testing purposes, I think I will (again?) go for port-forwarding.


      s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
      +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
Re^2: Connecting to a database using a socks proxy?
by marto (Cardinal) on Feb 26, 2020 at 19:37 UTC

    Just think, had you posted your solution.workaround in reply to your own question you wouldn't be in this situation ;)

      I come back for my own stub/test code a couple times a year. :P

      You ar right. And usually I do.

      So since I didn't, I think my workaround was not worth mentioning like: Using port forwarding instead of a socks proxy.


      s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
      +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e