在Linux上无sudo安装使用ProxyChains

本文最后更新于:2023年5月22日 下午

前言

多人共用服务器时经常遇到分配的账户无sudo权限、无法提权,但是经常需要安装软件。

通常来讲下载源码本地make然后install没有太多问题,不过由于很多软件开发者设置的路径问题会导致软件无法使用,

本文以ProxyChains为例进行整个过程,ProxyChains是一个全局代理工具,可以在需要的命令前加上proxychains4使得该命令按照设置通过代理访问。

注意这个工具只能代理TCP,像ping命令这样的ICMP协议是不会被代理的!

安装

如果是有sudo权限直接用包管理器下载即可,Ubuntu上

1
sudo apt install proxychains4

没有权限的需要从源码构建

ProxyChains的仓库可以下载到源码,然后cd进入该目录

使用编辑器打开src/main.c文件,修改图中的内容:

需要修改的部分

这里代码指定的是程序运行时从哪里读取lib文件,当我们make install完后,这个lib文件libproxychains4.so是在本项目源文件夹下的,

所以需要我们手动将需要放置lib文件的路径添加到这个字符串,我这里选择统一管理lib文件的路径,所以在这个字典里加上`/home/gxz/.local/lib' ,你要根据自己选择是否修改。

下面指定配置目录:

1
2
3
4
5
6
7
# --prefix是用来添加前缀的,表示从当前目录开始make的结果路径会加上这个前缀
./configue --prefix=build

make

# 注意这里的DESTDIR路径一定要从根目录开始写,install的结果会放在DESTDIR加上上面配置的prefix的文件夹中,当然也可以安装在其他位置统一管理
make install DESTDIR='/home/gxz/dev/proxychains'

没有报错就代表安装好了,可以找到.so文件,将它拷贝或者移动到刚才在c文件添加的目录下:

make结果
1
2
cp libproxychains4.so /home/gxz/.local/lib/
# 这里直接mv也可以

将ProxyChains添加到环境变量:

1
2
3
4
5
6
7
8
9
10
11
12
13
vim ~/.bashrc


#proxychains
export PROXYCHAINS_HOME=$HOME/dev/proxychains
export PATH=$PROXYCHAINS_HOME/build/bin:$PATH

# 如果你很熟悉dll文件调用,直接在这里将‘~/.local/lib‘路径加入库文件路径很方便。
export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH


# 还可以加上别名,毕竟这条命令有点长
alias pc='proxychains4'

到这里,命令行输入pc应该会看到提示你输入后面的命令。

但是我们还没有配置具体的代理地址,根据仓库中的指示,conf文件在这些路径上是会被自动检测到的:

conf文件路径

我选择在$(HOME)/.proxychains/proxychains.conf这个路径下存储配置文件。将下面文件粘贴进该文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
# ProxyList format
# type host port [user pass]
# (values separated by 'tab' or 'blank')
#
#
# Examples:
#
# socks5 192.168.67.78 1080 lamer secret
# http 192.168.89.3 8080 justu hidden
# socks4 192.168.1.49 1080
# http 192.168.39.93 8080
#
#
# proxy types: http, socks4, socks5, raw
# * raw: The traffic is simply forwarded to the proxy without modification.
# ( auth types supported: "basic"-http "user/pass"-socks )
#

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks5 10.56.0.237 1001

最终需要修改的代理内容就在最后修改即可,支持http/https/socks5等多种代理。

使用

使用很简单,在需要的命令前加上proxychains4使得该命令按照设置通过代理访问。

1
2
3
4
proxychains4 git clone https://github.com/xcmyz/FastSpeech.git

# 配置别名后
pc git clone https://github.com/xcmyz/FastSpeech.git
结果

在Linux上无sudo安装使用ProxyChains
https://ash-one.github.io/2023/04/18/zai-linux-shang-shi-yong-proxychains-wu-root-quan-xian/
作者
灰一
发布于
2023年4月18日
许可协议