>>10859Torsocks is basically a monkey patch: it is a hack that replaces the connect() system function at runtime with its own wrapper.
But if a program does some weird shit then torsocks's wrapper might break something. Or some part of a program might use a different method of connecting, which means torsocks's wrapper will be bypassed and the program will leak. Browsers have become almost their own operating systems, they probably reimplement large parts of the network stack. That's why I would be surprised if applying torsocks to firefox actually did work.
Try this:
torsocks curl -I https://www.example.com/
The above should output HTTP headers. If not then inspect with strace:
strace torsocks curl -I https://www.example.com/
Then look for the connect() calls, something like this:
connect(5, {sa_family=AF_INET, sin_port=htons(9050), sin_addr=inet_addr("127.0.0.1")}, 16)
There's other options than just torsocks though. The program might internally support SOCKS proxies without documenting it. Often they check the ALL_PROXY or all_proxy environment variables. So you can try running this:
ALL_PROXY="socks5h://127.0.0.1:9050" all_proxy="socks5h://127.0.0.1:9050" /path/to/my/program
As a last resort there's Whonix. Not practical, but very likely to work.