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