linux下二级代理软件desproxy教程

 desproxy的功能就是一级代理+端口映射
对本地指定的一个端口的请求会经过代理送到远程的主机
远程主机是代理服务器的话就实现了二级代理的功能:)

  1. 怎样获得Desproxy?
    http://desproxy.sourceforge.net/
    页面最下面右下角,有一个project page的链接
    真正的下载页面是
    http://sourceforge.net/project/showfiles.php?group_id=30464&release_id=90041
    现在有三个平台的支持,windows,linux和macos,我们就用linux吧
  2. 安装
    下载后获得一个desproxy-0.1.0-pre1.tgz文件(很快的,只有55k)
    推荐使用root安装,不会碰到什么麻烦
    解压:
    $ tar zxvf desproxy- 0.1 . 0 -pre1 . tgz
    得到desproxy目录,进入这个目录
    $./ configure
    $ make
    $ make install
    如果在./configure时,遇到错误
    checking for C compiler default output... configure: error: C compiler cannot create executables
    可能是库的问题,通过如下方法解决:
    sudo apt-get install libc6-dev
  3. desproxy的一般用法是
    $ desproxy remote_host remote_port proxy_host proxy_port local_port
    如果第一级代理proxy_host:proxy_port需要简单的用户密码验证(desproxy只支持简单的验证)
    使用全局变量来设置:
    export PROXY_USER = username :password
    就可以设置浏览器通过127.0.0.1:local_port来通过两层代理浏览
    Establishing proxy...

    -----------------------------------
    desproxy                 0.1.0-pre3

    (C) 2003 Miguelanxo Otero Salgueiro
    -----------------------------------

    TCP port 8080 Bound & Listening
    Press to Quit

    Connection request from 127.0.0.1, port 1135
    Connecting to http proxy (xxx.xxx.xxx.xxx:8080)
    Connection #0: bidirectional connection stablished

    Connection #0: client -> proxy  522 bytes read
    Connection #0: proxy -> client 1448 bytes read
    Connection request from 127.0.0.1, port 1137
    Connecting to http proxy (xxx.xxx.xxx.xxx:8080)
    Connection #1: bidirectional connection stablished

  4. 启动脚本和配置文件
    ----------------/etc/init.d/desproxy------------------------
    # ! / bin / bash
    if  [ ! -x  / usr / local / bin / desproxy ] ;   then
            
    echo   " Missing desproxy exec file! May not installed properly. "
            
    exit   0
    fi

    if  [ ! -f  / etc / desproxy . conf ] ;   then
            
    echo   " Missing configuration file! "
            
    exit   0
    fi
    .   / etc / desproxy . conf

    start_desproxy
    ()  {
            
    if  [ -n  " $(ps -eo  " %a "  | grep /usr/local/bin/desproxy
        | grep -v grep)
    "  ] ;
        
    then
                    
    echo   " Desproxy has already run! "
                    
    exit   0
            fi
            env PROXY_USER
    =$ PROXY_USER  / usr / local / bin / desproxy  $ REMOTE_SERVER 
        
    $ REMOTE_PORT  $ PROXY_SERVER  $ PROXY_PORT  $ LOCAL_PORT 
        
    1 >/ var / log / desproxy . log  2 > & 1  &
        
    echo   " Desproxy is running now! "
    }

    stop_desproxy
    ()  {
            DESPROXYPID
    =$( ps -eo  " %p %a "  | grep  / usr / local / bin / desproxy
        | grep -v grep
    )
            kill -
    15   $ DESPROXYPID  1 >/ dev / null  2 > & 1
        
    echo   " Desproxy is terminated! "
    }

    case 
    " $1 "  in
            
    start )
                    start_desproxy
                    
    ;;
            stop
    )
                    stop_desproxy
                    
    ;;
            restart
    )
                    stop_desproxy
                    start_desproxy
                    
    ;;
            *
    )
                    
    echo   " Usage: /etc/init.d/desproxy {start|stop|restart} "
                    
    exit   1
    esac
    exit   0


    ----------------------------/etc/desproxy.conf-----------------------

    PROXY_USER=xxxxxx:xxxxxxxxx
    REMOTE_SERVER=xxx.xxx.xxx.xxx
    REMOTE_PORT=xxxx
    PROXY_SERVER=xxxx.xxx.xxx.xxx
    PROXY_PORT=xxxx
    LOCAL_PORT=xxxx

内容参考南大小百合LinuxUnix版精华区http://bbs.nju.edu.cn/vd27676/bbs0an?path=/groups/GROUP_3/LinuxUnix/D8DB6E33F/D8CF8846E/DBD002EF3

你可能感兴趣的:(linux应用)