Menginstall Socks4/5/Proxy server Untuk Browsing & Chating

Disini yang akan kita pake adalah 3proxy. bisa dilihat di website sumbernya langsung yaitu : http://security.nnov.ru/soft/3proxy/
Ketika artikel ini ditulis 3proxy sudah mencapai versi stable dan devel yaitu :
3proxy-0.5.3g.tgz      <<< versi stable nya
3proxy-0.6-devel.tgz  <<< versi develnya

Ok kita mulai saja download dari websitenya saya akan ambil contol yang devel saja:
wget http://security.nnov.ru/soft/3proxy/current/3proxy-0.6-devel.tgz
misal kita letakkan di /home/ardan << disini username saya
lalu kita extract dengan perintah

tar -zxvf 3proxy-0.6-devel.tgz

setelah itu kita masuk ke directory 3proxy-0.6-devel
kita coba ketik perintah ls

[root@brazzstation 3proxy]# ls
authors    contrib  Makefile.am     Makefile.inc    Makefile.msvc     Makefile.Solaris-gcc  man     scripts
cfg        copying  Makefile.ccc    Makefile.intl   Makefile.msvc64   Makefile.unix         news    src
Changelog  doc      Makefile.debug  Makefile.Linux  Makefile.Solaris  Makefile.win          Readme
[root@brazzstation 3proxy]#

kemudian mari kita compile saja

[root@brazzstation 3proxy]# make -f Makefile.Linux
cat Makefile.Linux > src/Makefile.var
make[1]: Entering directory `/home/ardan/3proxy/src’
cd .. && cat copying
3proxy 0.6 Public License Agreement

This software provided “as is” without any guaranties or support.

This software is FREEWARE. You can use it under terms of current version
of GNU GPL (General Public License) available from
http://www.gnu.org/licenses/gpl.txt or under conditions below:

1. You are granted non-exclusive rights to compile, modify, use and
re-distribute this program.
2. In case this software is redistributed in binary form, source code
MUST be available for user for free.
3. In case this software redistributed embedded in hardware device or
pre-installed version of operation system and source code is not available,
documentation MUST refer to http://www.security.nnov.ru/ as a source of
software.
4. In case this software is modified or is used as a part of another project
license MUST NOT be modified.
5. Authors of this software MAY change terms of this license for future
versions of this product.

(c) 2000-2004 by 3APA3A (3APA3A@security.nnov.ru)
(c) 2000-2004 by SECURITY.NNOV (http://www.security.nnov.ru)
(c) 2000-2004 by Vladimir Dubrovin (vlad@sandy.ru)

This software uses:
  RSA Data Security, Inc. MD4 Message-Digest Algorithm
  RSA Data Security, Inc. MD5 Message-Digest Algorithm

$Id: copying,v 1.1 2006/02/13 16:08:03 vlad Exp $
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL 3proxy.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL srvfuncs.c
gcc -o tcpmainfunc.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DMODULEMAINFUNC=tcpmainfunc proxymain.c
gcc -o udpmainfunc.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DMODULEMAINFUNC=udpmainfunc -DUDP proxymain.c
gcc -o srvproxy.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL proxy.c
gcc -o srvpop3p.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL pop3p.c
gcc -o srvftppr.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ftppr.c
gcc -o srvsocks.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL socks.c
gcc -o srvtcppm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL tcppm.c
gcc -o srvudppm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL udppm.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL sockmap.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL sockgetchar.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL myalloc.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL common.c
common.c: In function `my_gethostbyname’:
common.c:696: warning: passing arg 5 of `gethostbyname_r’ from incompatible pointer type
common.c:698: warning: return from incompatible pointer type
gcc -o auth.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL auth.c
gcc -o datatypes.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL datatypes.c
gcc -o md4.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/md4.c
gcc -o md5.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/md5.c
gcc -o mycrypt.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL mycrypt.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL base64.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ftp.c
gcc -o smbdes.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/smbdes.c
gcc -o ntlm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ntlm.c
gcc -o stringtable.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL stringtable.c
gcc -o srvwebadmin.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL webadmin.c
webadmin.c:78: warning: `templateprint’ defined but not used
gcc -o srvdnspr.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL dnspr.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL plugins.c
plugins.c:12: warning: array `proxy_stringtable’ assumed to have one element
gcc -o 3proxy -Wall -O2 -pthread -ldl   3proxy.o srvfuncs.o tcpmainfunc.o udpmainfunc.o auth.o datatypes.o srvproxy.o srvpop3p.o srvftppr.o srvsocks.o srvtcppm.o srvudppm.o sockmap.o sockgetchar.o myalloc.o common.o mycrypt.o md5.o md4.o base64.o ftp.o smbdes.o ntlm.o stringtable.o srvwebadmin.o srvdnspr.o plugins.o
gcc -o mycryptmain.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN mycrypt.c
gcc -o mycrypt  -Wall -O2 -pthread -ldl md4.o md5.o base64.o mycryptmain.o
gcc -o dighosts.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL dighosts.c
gcc -o dighosts -Wall -O2 -pthread -ldl  dighosts.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP pop3p.c
gcc -o pop3p -Wall -O2 -pthread -ldl  sockmap.o pop3p.o sockgetchar.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP ftppr.c
gcc -o ftppr -Wall -O2 -pthread -ldl  sockmap.o ftppr.o sockgetchar.o myalloc.o common.o ftp.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DPORTMAP tcppm.c
gcc -o tcppm -Wall -O2 -pthread -ldl  sockmap.o sockgetchar.o tcppm.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DPORTMAP -DUDP udppm.c
gcc -o udppm -Wall -O2 -pthread -ldl  sockmap.o sockgetchar.o udppm.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP socks.c
gcc -o socks -Wall -O2 -pthread -ldl  sockmap.o socks.o sockgetchar.o  myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP -DANONYMOUS proxy.c
gcc -o proxy -Wall -O2 -pthread -ldl  sockmap.o proxy.o sockgetchar.o myalloc.o common.o base64.o ftp.o
gcc -o countersutil.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL countersutil.c
countersutil.c:136:2: warning: no newline at end of file
gcc -o countersutil -Wall -O2 -pthread -ldl  countersutil.o
make[1]: Leaving directory `/home/ardan/3proxy/src’
[root@brazzstation 3proxy]# ls
authors    contrib  Makefile.am     Makefile.inc    Makefile.msvc     Makefile.Solaris-gcc  man     scripts
cfg        copying  Makefile.ccc    Makefile.intl   Makefile.msvc64   Makefile.unix         news    src
Changelog  doc      Makefile.debug  Makefile.Linux  Makefile.Solaris  Makefile.win          Readme
[root@brazzstation 3proxy]# cd src
[root@brazzstation src]# ls
3proxy          datatypes.c  Makefile       ntlm.o       smbdes.o       srvpop3p.o     tcppm.o
3proxy.c        datatypes.o  Makefile.inc   plugins      sockgetchar.c  srvproxy.o     udpmainfunc.o
3proxy.o        dighosts     Makefile.var   plugins.c    sockgetchar.o  srvsocks.o     udppm
auth.c          dighosts.c   md4.o          plugins.o    sockmap.c      srvtcppm.o     udppm.c
auth.o          dighosts.o   md5.o          pop3p        sockmap.o      srvudppm.o     udppm.o
base64.c        dnspr.c      myalloc.c      pop3p.c      socks          srvwebadmin.o  webadmin.c
base64.o        ftp.c        myalloc.o      pop3p.o      socks.c        stringtable.c
common.c        ftp.o        mycrypt        proxy        socks.o        stringtable.o
common.o        ftppr        mycrypt.c      proxy.c      srvdnspr.o     structures.h
countersutil    ftppr.c      mycryptmain.o  proxy.h      srvftppr.o     tcpmainfunc.o
countersutil.c  ftppr.o      mycrypt.o      proxymain.c  srvfuncs.c     tcppm
countersutil.o  libs         ntlm.c         proxy.o      srvfuncs.o     tcppm.c
[root@brazzstation src]#

nah selesai kita install nya sekarangmari kita pelajari
berikut ini adalah yang akan kita pake :
    *  proxy HTTP/HTTPS proxy with FTP over HTTP support
    * ftp FTP proxy
    * socks SOCKS v4/4+/5 proxy
    * pop3p POP3 proxy
    * tcppm TCP port mapper
    * udppm UDP port mapper

nah udah tahu khan maksudnya dan fungsy dari masing2 file itu. sekarang kita langsung cobain file proxy
untuk comand nya bisa nanti dilihat disitusnya lebih lengkapnya (takut main kopi paste + males nulis panjang gede lebar anunya)
http://security.nnov.ru/soft/3proxy/howtoe.asp

kita bisa langsung jalankan
./proxy          <<< yang akan default menjadi begini proxy akan listen pada port 3128 dengan ip komputer yang terinstall misalnya 192.168.1.1

jika kita ketik ./proxy -d -p6969 -i192.168.1.1 

artinya kita buat mode daemon proxy listen port kita rubah ke 6969 listen ip di 192.168.1.1

bisa juga kita jalankan sekaligus 3 (proxy,socks,pop3p)

dengan merubah file 3proxy.cfg yang harus berada dalam satu directory dengan file 3proxy contoh 3proxy.cfg

internal 127.0.0.1
external 192.168.1.1
proxy
socks -p6969
pop3p

yang artinya kita menjalankan 3 proxy sekaligus dengan ip listen localhost dengan default port (3128 untuk HTTP, 1080 untuk socks dan 110 untuk POP3P

mungkin cukup ini saja dulu jika ada pertanyaan silahkan masukan di comment .
jangan lupa baca radmi nya yach. and do more with this
thanks to google and http://security.nnov.ru