# proxychain安装与使用

[proxychain](https://github.com/rofl0r/proxychains-ng)可以hook libc中所有网络相关的函数，强制所有的`TCP`连接都通过指定的socks4/5或者http代理，避免对于不同的app，需要分别设置代理的繁琐。

## 一、安装

### 1.1 Linux

1. 下载代码：`git clone https://github.com/rofl0r/proxychains-ng.git`
2. 进入代码目录并运行`configure`：`./configure --prefix=/usr --sysconfdir=/etc`
3. 编译：`make`
4. 安装proxychain：`sudo make install`
5. 安装配置文件：`sudo make install-config`，配置文件位于`etc/proxychains.conf`中。

### 1.2 MacOS

todo

## 二、使用

### 2.1 Linux

1. 修改配置文件

   使用编辑器打开`etc/proxychains.conf`，将最后一行修改为想要的代理。例如设置SOCKS5代理：`socks5  127.0.0.1 1080`，说明在本地回环地址的1080端口走socks5代理。
2. 代理app

   ```bash
   proxychains4 /app/to/be/hooked
   ```

   例如使用代理`clone`代码：`proxychains4 git clone https://github.com/rofl0r/proxychains-ng.git`。

### 2.2 MacOS

todo
