3proxy - linux下便捷代理安装及简单使用

本文介绍了如何使用3proxy在禁止外网访问的主机集群中搭建HTTP及SOCKS代理服务,包括安装配置、启动管理脚本及应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:主机集群为安全考虑,禁止了外网,但是部署了部分需要外网的程序在集群内的主机上,为了保证程序继续运行,尝试在有外网跳板机添加代理。

软件:3proxy

github:3proxy

安装:

(1)从github下载代码至本地主机(主机需安装git)

$ git clone https://github.com/z3APA3A/3proxy.git && cd 3proxy

(2)本地编译安装(需root权限)

$ sudo make -f Makefile.Linux && sudo make -f Makefile.Linux install

(3)查看是否安装次成功

$ which 3proxy
/usr/local/bin/3proxy

(4)修改配置文件

$ cd cfg && cp 3proxy.cfg.sample 3proxy.cfg && vi 3proxy.cfg
# 添加以下项
nserver *.*.*.*  #内网dns服务器地址 cat /etc/resolv.conf
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
daemon        # windows下此值不同,可参考官网
log /var/log/3proxy.log D  # 日志路径,确保有权限
logformat "- +_L%t.%.  %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 2
external *.*.*.*  # 主机外网地址
internal *.*.*.*  # 主机内网地址
dnspr
auth iponly strong
allow *   # 允许访问的IP
proxy -a -p6667 # 代理端口
socks -p6666 # sockt端口

(5)启动代理

$ sudo 3proxy cfg/3proxy.cfg

(6)检测端口是否监听

$ sudo netstat -anpl | grep 6666
tcp        0      0 192.168.*.*:6666     0.0.0.0:*               LISTEN      5089/3proxy         
$ sudo netstat -anpl | grep 6667
tcp        0      0 192.168.*.*:6667     0.0.0.0:*               LISTEN      5089/3proxy 

(7)简单的管理脚本

#!/usr/bin/env bash
#

opt="${1}"

function process_num(){
    check=$(ps -ef | grep 3proxy | grep -v grep | wc -l)
    echo ${check}
}

function stop(){
    check=$(process_num)
    if [ ${check} -ne 0 ];then
        sudo killall 3proxy
    else
        echo "No such process 3proxy!"
    fi
}

function start(){
    check=$(process_num)
    if [ ${check} -ne 0 ];then
        echo "3proxy already in status: started"
        exit 0
    else
        sudo 3proxy ./cfg/3proxy.cfg && echo "start 3proxy success!"
    fi
}

function restart(){
    stop
    start
}

function status(){
    check=$(process_num)
    if [ ${check} -ne 0 ];then
        echo "3proxy status: started"
    else
        echo "3proxy status: stoped"
    fi
}

function main(){
    case ${opt} in 
        "start")
            start
        ;;
        "stop")
            stop
        ;;
        "restart")
            restart
        ;;
        "status")
            status
        ;;
        *)
            echo "Usage: sh $0 [start|stop|restart|status]"
        ;;
    esac
}

main

(8)脚本使用示例

$ chmod u+x ctrl.sh 
$ ./ctrl.sh 
Usage: sh ./ctrl.sh [start|stop|restart|status]

(9)其他应用使用代理示例

# pip使用代理
sudo pip --proxy=*.*.*.*:6667 install PySocks
# wget使用代理
wget -e "http_proxy=*.*.*.*:6667" https://nchc.dl.sourceforge.net/project/socksipy/socksipy/SocksiPy%201.00/SocksiPy.zip
# curl使用代理
curl -x *.*.*.*:6667 www.baidu.com
# yum使用代理
export https_proxy="*.*.*.*:6667"; yum install ntp

简单安装及使用介绍到这里吧,更多详细使用方法请移步3proxy官网。

转载于:https://my.oschina.net/cdsc/blog/1408129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值