查看單個文章
舊 2004-10-30, 12:43 AM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

nec socks5 Win32 版本的編譯

上面我們說到怎樣用nec的socks5 win32版在Windows平台上建立socks代理,朋友們一定注意到我是直接提供一個Win32版本的socks5。俗話說"授人以魚,不如授人以漁",下面咱們就研究研究怎樣自己編譯Win32版的socks5. 呵呵,不要一聽編譯什麼的,就感覺多麼高深,咳,不必恐慌,只要按照我的步驟來,你也能小有成就一下 ,嘿嘿。
工欲善其事必先利其器,我們需要兩樣東西,一個就是 socks5 的來源碼了,另一個就是一個編譯工具,那就是就是大名鼎鼎的cygwin。

讓我們一步一步來:
1、從 _http://www.socks.permeo.com 下載socks5軟體套件。可以在網上搜尋,最新版本是socks5-v1.0r11.tar.gz。
2、從 _http://www.cygwin.com 下載並安裝cygwin軟體。也可以在網上搜尋到。
3、將socks5-v1.0r11.tar.gz解壓到cygwin的 tmp 目錄下,即為 cygwin\tmp\socks5-v1.0r11 (解壓工具可以用 WinRAR)。
4、修改cygwin\usr\include\cygwin\if.h文件。

程式碼:
#define IFF_LOOPBACK 0x8 /* is a loopback net */後增加:
程式碼:
#define IFF_POINTOPOINT 0x10 /* added for nec socks5 */5、修改socks5-v1.0r11\server\daemon.c(必須)
尋找
程式碼:
chdir("/");在前面增加"//"遮閉掉此句,使之成為
程式碼:
//chdir("/");不然執行 socks5 會提示"Config: Error opening config file (socks5.conf): No such file or directory"
6、修改socks5-v1.0r11\server\udp.c,遮閉/**/的部分。(這個步驟不是必須的,如果不遮閉,執行代理的機器不可以使用UDP代理)
程式碼:
lsAddrCopy(&pri->dstAddr, &pri->srcAddr, lsAddrSize(&pri->srcAddr));
/* 遮閉此段程式碼使之可以使用udp代理,比如 QQ
if (Authorize(pri, 0) != AUTH_OK) {
S5LogUpdate(S5LogDefaultHandle, S5_LOG_ERROR, 0, "UDP Setup: Setup failed: permission denied");
s5err = SOCKS5_AUTHORIZE;
rval = EXIT_AUTH;
goto cleanup;
}*/7、執行cygwin,在cygwin中,切換到socks5-v1.0r11目錄.
8、執行

./configure --with-threads --with-libconffile=libsocks5.conf --with-srvconffile=socks5.conf --with-srvpidfile=socks5.pid --with-srvpwdfile=socks5.passwd --with-srvidtfile=socks5.ident

9、執行

make

這樣socks5-v1.0r11\server\socks5.exe編譯出來了,呵呵,我們一手打造的Win32版的socks5新鮮出爐啦~~~
10、結合cygwin\bin\cygwin1.dll,以及手工編輯的socks5.passwd、socks5.conf,就是可以執行的SOCKS5代理服務器軟體。
11、正常執行所需的文件清單:
4個文件放在同一目錄下
socks5.exe 主程序
cygwin1.dll 庫文件
socks5.conf 組態文件
socks5.passwd 存放用戶名/密碼的文件

12、執行測試
進入socks5.exe所在目錄,執行

socks5 -s -f

如果出現類似

01904: Socks5 starting at Thu Oct 21 16:07:32 2004 in normal mode
則表示可以正常執行.

OK,大功告成了! ^o^ ,是不是很有成就感啊,呵呵!

Win2K.Pro.SP4.CHS + cygwin 2.29(gcc 2.95.2-5) 編譯偵錯通過
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
csnes4208 (2009-10-12)
感謝您發表一篇好文章