Closed
Description
root@ebers:~/Workspace/ebers/view# proxychains4 chromium-browser --user-data-dir=/tmp/chromium
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
[proxychains] DLL init: proxychains-ng 4.8.1
Haven't any error, but chromium isn't work.
I tested with Version 39.0.2171.65 Ubuntu 14.04 (64-bit).
I also try build from latest code of chromium and proxychains-ng, but receiving same results.
Help me!
Activity
hiendv commentedon Oct 24, 2015
👍
I have the same problem with google-chrome
rofl0r commentedon Oct 25, 2015
try opening a shell, enter:
dx0x58 commentedon Oct 30, 2015
Same problem. Ubuntu 15.04 x64
rofl0r commentedon Oct 30, 2015
anyone tried what i said above ?
dx0x58 commentedon Oct 31, 2015
Yes, i tried. The same result.
rofl0r commentedon Nov 8, 2015
we need to figure out what chromium does that is incompatible with proxychains.
a start would be if someone that has it installed can paste the output of "strace -f chromium" (while connecting to a single random site and then closing the browser - dont do it with several tabs open as that will heavily bloat strace's output)
sapphonie commentedon Nov 24, 2015
Here's what chromium does with proxychains:
http://pastebin.com/beDyp3P5
Normal chromium is too big to pastebin
rofl0r commentedon Nov 24, 2015
thanks for the strace output.
now we know that chromium uses a perl wrapper that searches for plugins and then starts the real binary:
additionally we see that pulseaudio is used which does its own (eventually incompatible?) dlsym() tricks
if the problem is due to one of the above findings, it may help to try to
sapphonie commentedon Dec 10, 2015
I think it might be a problem with proxychains, as anything chromium based (including opera, chrome, vivaldi, chromium, &tc) gives a
nanosleep({0, 2000001}, NULL) = 0
after a while with strace
rofl0r commentedon Dec 11, 2015
to find out for sure we need a voluntary who can test chromium with
and someone who can build chromium without support for pulseaudio,
and/or somebody who knows/reads chromium code to find out if its doing something weird
like doing the connect syscall directly or using raw sockets etc
rofl0r commentedon Jun 9, 2016
i fixed a related problem a few days ago. you may wanna check out latest git and report if the problem still exists.
roastduck commentedon Jun 9, 2016
Tested with Chrome, but still doesn't work.
greenSnot commentedon Nov 26, 2016
+1
1600 commentedon Feb 16, 2017
Unsolved still.
rofl0r commentedon Feb 16, 2017
well, then i suppose someone should attach his debugger and find out why.
i won't be that someone because chromium sources are > 2GB and compiling it from source takes hours.
11 remaining items
sashage commentedon Jun 23, 2018
I use Shadowsocks (https://github.com/shadowsocks/shadowsocks-libev)
rofl0r commentedon Jul 13, 2018
it's unlikely we'll ever get the chromium sandbox compatible with proxychains.
however there's a way to get proxychains working with chromium and that is running proxychains4 on a HTTP or SOCKS proxy like tinyproxy or microsocks (see comment #45 (comment)) and then putting the http server adress into chromium's network config or using a SOCKS server via the trick mentioned in #45 (comment). in such scenario proxychains can route the connections of the proxy server software over your chain of proxies.
intika commentedon Jan 16, 2019
Original proxychains v3/v4.3 works with chrome based apps... i think it's probably because of this feature (
fixes programs that do dns-lookups in child processes like irssi. to achieve this, support for compilation without pthreads was sacrified.
) added in 4.3... need to debug further to see what's going onThis feature should be optional anyway
EDIT: indeed i was right this is what get chromium in trouble 25afe98
EDIT II: use v4.3 https://github.com/rofl0r/proxychains-ng/tree/v4.3 if needed to make it work with chromium
EDIT III: temporary solution v4.3 with CVE-2015-3887 patch https://github.com/Intika-Linux-Network/Proxychains-NG
rofl0r commentedon Jan 16, 2019
interesting find. thanks for digging.
that's not original at all. please do not link to that abomination any more. instead link to the v4.3 tag in this repo.
that's a bold statement for someone who never contributed code to this project, even though i agree that it would be nice to have a switch to toggle it. but it will be a lot of work to do it.
in all fairness it's not proxychains-ng's fault that chrome goes out of its way to make it hard to hook to its processes by using all kinds of sandboxing features.
that's why i generally suggest that people use proxychains-ng to proxify a local socks or http proxy like microsocks or tinyproxy, and put that local proxy's ip into the browser's proxy settings, which is totally reliable.
intika commentedon Jan 16, 2019
Indeed it's kind a lot i trayed yesterday to make it optional, but i abandoned after 1h... i will see what i can do if i have the time.
Yes agree chrome and similar have a proxy setting, in this case proxychains-ng would be useful to make sure there is no leak.
Proxychains is melted with all the dev that worked on the project i thought @haad was netcreature-from-sourceforge the original developer i did not dig deeper to check who is who
Note for newcomer: netcreature is the original developer (v3) @rofl0r took over providing v4.x (ng version) and @haad contributed to the code...
It's funny to compare those 2 files https://github.com/rofl0r/proxychains-ng/blob/master/AUTHORS and https://github.com/haad/proxychains/blob/master/AUTHORS
On its repo:
And here
loooool
rofl0r commentedon Jan 16, 2019
a "traditional mode" basically would need to use the old
proxyresolv
script (which depends ondig
for TCP-based DNS resolution but it could be changed to use eitherdig
ordrill
- the latter is a modern replacement which has much less cruft), and would be incapable of resolving .onion hosts when used with tor (and would be much slower).rofl0r commentedon Sep 23, 2020
i've implemented this now: 2ab6319
additionally i've implemented another new remote DNS mode which should fix issues with crapware like chromium forever: 7fe8139
please test!
nickchen120235 commentedon Aug 19, 2021
Confirmed this method works for discord (which is based on React and the Electron framework).
This also works for Google Chrome
My setup
1015efa
(latest commit at the time of writing)./configure
)Edit: sample systemd service file for the dns daemon
qrzbing commentedon Dec 7, 2021
Hi, I meet similar errors too. When I try to use proxychains4 for chrome on WSL2 in Win11 like this:
where pc means
proxychains4 -q -f ~/proxychains4.conf
, I got this error:rofl0r commentedon Dec 8, 2021
s/meet/encounter/. you can meet a person, but not a thing. it seems all chinese dicts get that wrong.
since @nickchen120235 confirmed that proxy_dns_daemon fixes the issue, i'm taking the opportunity to close this.
baptx commentedon May 13, 2025
@arpitjindal97 Your solution will not chain proxies, unless you use a proxy with an upstream proxy, for example with mitmproxy.
Anyway, Chromium works with proxychains using the proxy_dns_daemon option in the configuration file (we need to use proxychains4, not proxychains3 and start proxychains4-daemon).
If you have both proxychains4 and proxychains3 installed, you need to use the correct config file, for example:
proxychains -f /etc/proxychains4.conf chromium