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