mirror of
https://github.com/haad/proxychains
synced 2026-06-08 14:30:41 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 788ffd9d26 | |||
| 99dcfe085e | |||
| 89e8bfddf4 | |||
| adb13c7e79 | |||
| 2250ef66a8 |
@@ -38,7 +38,7 @@ PXCHAINS = proxychains4
|
||||
ALL_TOOLS = $(PXCHAINS)
|
||||
|
||||
|
||||
CFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS)
|
||||
CCFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS)
|
||||
CFLAGS_MAIN=-DLIB_DIR=\"$(libdir)\" -DINSTALL_PREFIX=\"$(prefix)\" -DDLL_NAME=\"$(LDSO_PATHNAME)\"
|
||||
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ echo libdir=$libdir>>config.mak
|
||||
echo includedir=$includedir>>config.mak
|
||||
if ismac ; then
|
||||
echo LDSO_SUFFIX=dylib>>config.mak
|
||||
echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak
|
||||
echo MAC_CFLAGS+=-DIS_MAC=1 -arch x86_64 -arch i386 >>config.mak
|
||||
echo LD_SET_SONAME=-Wl,-install_name,>>config.mak
|
||||
echo INSTALL_FLAGS=-m>>config.mak
|
||||
fi
|
||||
|
||||
+10
-8
@@ -128,17 +128,19 @@ int main(int argc, char *argv[]) {
|
||||
if(check_path(path))
|
||||
goto have;
|
||||
|
||||
/* Check for default config file in two locations {install_prefix}/etc /etc */
|
||||
// priority 4: $INSTALL_PREFIX/etc/proxychains.conf
|
||||
snprintf(pbuf, sizeof(pbuf), "%s/%s", INSTALL_PREFIX, PROXYCHAINS_CONF_FILE);
|
||||
snprintf(pbuf, sizeof(pbuf), "%s/etc/%s", INSTALL_PREFIX, PROXYCHAINS_CONF_FILE);
|
||||
path = pbuf;
|
||||
if(check_path(path))
|
||||
goto have;
|
||||
|
||||
// priority 5: /etc/proxychains.conf
|
||||
path = "/etc/proxychains.conf";
|
||||
snprintf(pbuf, sizeof(pbuf), "/etc/%s", PROXYCHAINS_CONF_FILE);
|
||||
path = pbuf;
|
||||
if(check_path(path))
|
||||
goto have;
|
||||
perror("couldnt find configuration file");
|
||||
perror("Couldn't find configuration file");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -174,12 +176,12 @@ int main(int argc, char *argv[]) {
|
||||
fprintf(stderr, LOG_PREFIX "preloading %s/%s\n", prefix, dll_name);
|
||||
|
||||
#ifndef IS_MAC
|
||||
snprintf(buf, sizeof(buf), "LD_PRELOAD=%s/%s", prefix, dll_name);
|
||||
putenv(buf);
|
||||
snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name);
|
||||
setenv("LD_PRELOAD", buf, 1);
|
||||
#else
|
||||
snprintf(buf, sizeof(buf), "DYLD_INSERT_LIBRARIES=%s/%s", prefix, dll_name);
|
||||
putenv(buf);
|
||||
putenv("DYLD_FORCE_FLAT_NAMESPACE=1");
|
||||
snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name);
|
||||
setenv("DYLD_INSERT_LIBRARIES", buf, 1);
|
||||
setenv("DYLD_FORCE_FLAT_NAMESPACE", "1", 1);
|
||||
#endif
|
||||
execvp(argv[start_argv], &argv[start_argv]);
|
||||
perror("proxychains can't load process....");
|
||||
|
||||
+93
-13
@@ -1,26 +1,106 @@
|
||||
#!/bin/sh
|
||||
echo "ProxyChains-3.1 (http://proxychains.sf.net)"
|
||||
echo "ProxyChains-4.0 (https://github.com/haad/proxychains)"
|
||||
|
||||
usage() {
|
||||
|
||||
echo " usage:"
|
||||
echo " $0 [h] [f config-file] <prog> [args]"
|
||||
echo " $0 [hq] [-f config-file] <prog> [args]"
|
||||
echo " -q make proxychains quite"
|
||||
exit
|
||||
}
|
||||
|
||||
find_proxy_conf() {
|
||||
|
||||
show_proxy_env
|
||||
if [ -f "/usr/local/etc/proxychains.conf" ]; then
|
||||
export PROXYCHAINS_CONF_FILE="/usr/local/etc/proxychains.conf"
|
||||
else
|
||||
if [ -f "/etc/proxychains.conf" ];then
|
||||
PROXYCHAINS_CONF_FILE="/etc/proxychains.conf"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# XXX We should not overide possible user settings here. Just add libproxychains to it.
|
||||
#
|
||||
setup_proxy_env() {
|
||||
|
||||
if [ -z "$PROXYCHAINS_CONF_FILE" ]; then
|
||||
find_proxy_conf
|
||||
fi
|
||||
|
||||
if [ $(uname -s) = "Darwin" ]; then
|
||||
export DYLD_FORCE_FLAT_NAMESPACE=
|
||||
export DYLD_INSERT_LIBRARIES=libproxychains4.dylib
|
||||
else
|
||||
export LD_PRELOAD=libproxychains.so.4
|
||||
fi
|
||||
}
|
||||
|
||||
disable_proxy_env() {
|
||||
|
||||
if [ $(uname -s) = "Darwin" ]; then
|
||||
unset DYLD_FORCE_FLAT_NAMESPACE
|
||||
export DYLD_INSERT_LIBRARIES=$(echo $DYLD_INSERT_LIBRARIES | sed -e 's/libproxychains4.dylib//g')
|
||||
if [ -z $DYLD_INSERT_LIBRARIES ]; then
|
||||
unset DYLD_INSERT_LIBRARIES
|
||||
fi
|
||||
else
|
||||
export LD_PRELOAD=$(echo $DYLD_INSERT_LIBRARIES | sed -e 's/libproxychains.so.4//g')
|
||||
if [ -z $LD_PRELOAD ]; then
|
||||
unset LD_PRELOAD
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
show_proxy_env() {
|
||||
|
||||
echo "Proxified environment setup"
|
||||
echo "PROXYCHAINS_CONF_FILE = $PROXYCHAINS_CONF_FILE"
|
||||
|
||||
if [ $(uname -s) = "Darwin" ]; then
|
||||
echo "DYLD_FORCE_FLAT_NAMESPACE = $DYLD_FORCE_FLAT_NAMESPACE"
|
||||
echo "DYLD_INSERT_LIBRARIES = $DYLD_INSERT_LIBRARIES"
|
||||
else
|
||||
echo "LD_PRELOAD = $LD_PRELOAD"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ $# = 0 ] ; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ $1 = "-h" ]; then
|
||||
usage
|
||||
fi
|
||||
case "$1" in
|
||||
-h)
|
||||
usage
|
||||
;;
|
||||
-f)
|
||||
export PROXYCHAINS_CONF_FILE=$2;
|
||||
shift;
|
||||
shift;
|
||||
;;
|
||||
-q)
|
||||
export PROXYCHAINS_QUIET_MODE=1;
|
||||
shift;
|
||||
;;
|
||||
show)
|
||||
show_proxy_env
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$1" = "-f" ]; then
|
||||
export PROXYCHAINS_CONF_FILE=$2;
|
||||
shift;
|
||||
shift;
|
||||
fi
|
||||
|
||||
export LD_PRELOAD=libproxychains.so.3
|
||||
exec "$@"
|
||||
case "$1" in
|
||||
on)
|
||||
setup_proxy_env
|
||||
show_proxy_env
|
||||
;;
|
||||
off)
|
||||
disable_proxy_env
|
||||
show_proxy_env
|
||||
;;
|
||||
*)
|
||||
setup_proxy_env
|
||||
exec "$@"
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user