開(kāi)源代理服務(wù)器-goproxy
什么是代理服務(wù)器
代理服務(wù)器(Proxy Server)是一種重要的服務(wù)器安全功能,它的工作主要在開(kāi)放系統(tǒng)互聯(lián)(OSI)模型的會(huì)話層,從而起到防火墻的作用。代理服務(wù)器大多被用來(lái)連接INTERNET(國(guó)際互聯(lián)網(wǎng))和Local Area Network(局域網(wǎng))。
代理服務(wù)器英文全稱是(Proxy Server),其功能就是代理網(wǎng)絡(luò)用戶去取得網(wǎng)絡(luò)信息。形象的說(shuō):它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。代理服務(wù)器就好象一個(gè)大的Cache,這樣就能顯著提高瀏覽速度和效率。更重要的是:Proxy Server(代理服務(wù)器)是Internet鏈路級(jí)網(wǎng)關(guān)所提供的一種重要的安全功能。
什么是代理
代理(英語(yǔ):Proxy),也稱網(wǎng)絡(luò)代理,是一種特殊的網(wǎng)絡(luò)服務(wù),允許一個(gè)網(wǎng)絡(luò)終端(一般為客戶端)通過(guò)這個(gè)服務(wù)與另一個(gè)網(wǎng)絡(luò)終端(一般為服務(wù)器)進(jìn)行非直接的連接。一些網(wǎng)關(guān)、路由器等網(wǎng)絡(luò)設(shè)備具備網(wǎng)絡(luò)代理功能。一般認(rèn)為代理服務(wù)有利于保障網(wǎng)絡(luò)終端的隱私或安全,防止攻擊。
代理服務(wù)器主要功能
突破自身IP訪問(wèn)限制,訪問(wèn)國(guó)外站點(diǎn)等
網(wǎng)絡(luò)用戶可以通過(guò)代理訪問(wèn)國(guó)外網(wǎng)站。
訪問(wèn)一些單位或團(tuán)體內(nèi)部資源,如某大學(xué)FTP(前提是該代理地址在該資源 的允許訪問(wèn)范圍之內(nèi)),使用教育網(wǎng)內(nèi)地址段免費(fèi)代理服務(wù)器,就可以用于對(duì)教育網(wǎng)開(kāi)放的各類FTP下載上傳,以及各類資料查詢共享等服務(wù)。
突破中國(guó)電信的IP封鎖:中國(guó)電信用戶有很多網(wǎng)站是被限制訪問(wèn)的,這種限制是人為的,不同Serve對(duì)地址的封鎖是不同的。所以不能訪問(wèn)時(shí)可以換一個(gè)國(guó)外的代理服務(wù)器試試。
提高訪問(wèn)速度:通常代理服務(wù)器都設(shè)置一個(gè)較大的硬盤緩沖區(qū),當(dāng)有外界的信息通過(guò)時(shí),同時(shí)也將其保存到緩沖區(qū)中,當(dāng)其他用戶再訪問(wèn)相同的信息時(shí), 則直接由緩沖區(qū)中取出信息,傳給用戶,以提高訪問(wèn)速度。
隱藏真實(shí)IP:上網(wǎng)者也可以通過(guò)這種方法隱藏自己的IP,免受攻擊。
goproxy是什么?
oproxy是國(guó)人開(kāi)發(fā)的開(kāi)源代理服務(wù)器, 代理協(xié)議包括:http,https,websocket,tcp,udp,socks5。支持正向代理、反向代理、透明代理、內(nèi)網(wǎng)穿透、TCP/UDP端口映射、SSH中轉(zhuǎn),TLS加密傳輸,協(xié)議轉(zhuǎn)換。軟件基于golang編寫,遵循GPL開(kāi)源協(xié)議。
goproxy軟件特色
鏈?zhǔn)酱?程序本身可以作為一級(jí)代理,如果設(shè)置了上級(jí)代理那么可以作為二級(jí)代理,乃至N級(jí)代理.
通訊加密,如果程序不是一級(jí)代理,而且上級(jí)代理也是本程序,那么可以加密和上級(jí)代理之間的通訊,采用底層tls高強(qiáng)度加密,安全無(wú)特征.
智能HTTP,SOCKS5代理,會(huì)自動(dòng)判斷訪問(wèn)的網(wǎng)站是否屏蔽,如果被屏蔽那么就會(huì)使用上級(jí)代理(前提是配置了上級(jí)代理)訪問(wèn)網(wǎng)站;如果訪問(wèn)的網(wǎng)站沒(méi)有被屏蔽,為了加速訪問(wèn),代理會(huì)直接訪問(wèn)網(wǎng)站,不使用上級(jí)代理.
域名黑白名單,更加自由的控制網(wǎng)站的訪問(wèn)方式。
跨平臺(tái)性,無(wú)論你是widows,linux,還是mac,甚至是樹(shù)莓派,都可以很好的運(yùn)行proxy.
多協(xié)議支持,支持HTTP(S),TCP,UDP,Websocket,SOCKS5代理.
TCP/UDP端口轉(zhuǎn)發(fā).
支持內(nèi)網(wǎng)穿透,協(xié)議支持TCP和UDP.
SSH中轉(zhuǎn),HTTP(S),SOCKS5代理支持SSH中轉(zhuǎn),上級(jí)Linux服務(wù)器不需要任何服務(wù)端,本地一個(gè)proxy即可開(kāi)心上網(wǎng).
KCP協(xié)議支持,HTTP(S),SOCKS5代理支持KCP協(xié)議傳輸數(shù)據(jù),降低延遲,提升瀏覽體驗(yàn).
集成外部API,HTTP(S),SOCKS5代理認(rèn)證功能可以與外部HTTP API集成,可以方便的通過(guò)外部系統(tǒng)控制代理用戶.
反向代理,支持直接把域名解析到proxy監(jiān)聽(tīng)的ip,然后proxy就會(huì)幫你代理訪問(wèn)需要訪問(wèn)的HTTP(S)網(wǎng)站.
透明HTTP(S)代理,配合iptables,在網(wǎng)關(guān)直接把出去的80,443方向的流量轉(zhuǎn)發(fā)到proxy,就能實(shí)現(xiàn)無(wú)感知的智能路由器代理.
協(xié)議轉(zhuǎn)換,可以把已經(jīng)存在的HTTP(S)或SOCKS5代理轉(zhuǎn)換為一個(gè)端口同時(shí)支持HTTP(S)和SOCKS5代理,轉(zhuǎn)換后的SOCKS5代理不支持UDP功能,同時(shí)支持強(qiáng)大的級(jí)聯(lián)認(rèn)證功能。
goproxy使用場(chǎng)景
通過(guò)多個(gè)相連的proxy節(jié)點(diǎn)建立起一個(gè)安全的隧道訪問(wèn)服務(wù).
微信接口本地開(kāi)發(fā),方便調(diào)試.
遠(yuǎn)程訪問(wèn)內(nèi)網(wǎng)機(jī)器.
和小伙伴一起玩局域網(wǎng)游戲.
以前只能在局域網(wǎng)玩的,現(xiàn)在可以在任何地方玩.
替代圣劍內(nèi)網(wǎng)通,顯IP內(nèi)網(wǎng)通,花生殼之類的工具.
goproxy開(kāi)源項(xiàng)目地址
https://github.com/snail007/goproxy
自動(dòng)安裝
如果你的VPS是linux64位的系統(tǒng),那么只需要執(zhí)行下面一句,就可以完成自動(dòng)安裝和配置.
curl -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh | bash
安裝完成,配置目錄是/etc/proxy,更詳細(xì)的使用方法參考下面的進(jìn)一步了解.
如果安裝失敗或者你的vps不是linux64位系統(tǒng),請(qǐng)按照下面的半自動(dòng)步驟安裝:
手動(dòng)安裝
1.下載proxy
下載地址:https://github.com/snail007/goproxy/releases
cd /root/proxy/
wget https://github.com/snail007/goproxy/releases/download/v4.6/proxy-linux-amd64.tar.gz
2.下載自動(dòng)安裝腳本
cd /root/proxy/
wget https://raw.githubusercontent.com/snail007/goproxy/master/install.sh
chmod +x install.sh
./install.sh