如何使用Linux設定命令列海外IP代理?
當我們在做一些海外業務時,有些場景是需要為系統設定IP代理的,比如OpenCV3在進行cmake編譯時需要線上從亞馬遜下載一些第三方包,現在很多人採用的代理方案都是基於socks5協議的,而預設的終端工具支援代理型別都是HTTP或HTTPS,所以這裡需要socks協議到http協議的轉換,轉換之後採用終端的代理變數設定http代理即可。
一種是採用polipo將socks代理轉為http,然後為相應命令指定http代理另外一種是採用proxychains重定向連結來解決的,兩種方法個人喜好。
下面我們一起來看一下兩種設定IP代理方法
proxychains進行代理重定向
安裝
sudo apt-get install proxychains
配置
proxychains會從以下檔案中載入配置:
./proxychains.conf
$(HOME)/.proxychains/proxychains.conf
/etc/proxychains.conf
# see more in /etc/proxychains.conf
本文以修改$(HOME)/.proxychains/proxychains.conf為例
修改其內容如下(如果沒有該檔案,則建立):
trict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode
[ProxyList]
socks5 127.0.0.1 1081
其中[ProxyList]欄位中新增你的代理,由於採用shadowsocks的方式進行代理,並且監聽的本地埠為1081,所以最後一行為socks5 127.0.0.1 1081
使用
proxychains [command]
例如:
proxychains後面直接跟需要走代理的命令
$ proxychains curl ip.gs
ProxyChains-3.1 ( http:// proxychains.sf.net )
Current IP / 當前 IP: 165.227.118
ISP / 運營商: http:// digitalocean.com
City / 城市: San Francisco California
Country / 國家: United States
$ proxychains git push origin master
或者直接讓整個bash下的命令都走代理:
$ proxychains bash
$ ping http:// google.com
$ git push origin master
polipo轉socks為http
依賴
預設你使用的是SS方式進行代理上網,並且已經有了SS賬號。
安裝ss客戶端
sudo apt-get update
sudo apt-get install python
sudo apt-get install python-pip
sudo pip install shadowsocks
安裝polipo
polipo是一個web代理快取工具,可以轉發web請求到指定的伺服器和埠,它本身支援socks協議,所以可以把它當成可以進行socks協議與http協議轉換的工具。
sudo apt-get install polipo
配置
配置並啟動ss客戶端
為了避免系統中配置的多個ss客戶端監聽埠衝突,可以修改ss監聽埠,這裡指定監聽埠為1081,下面是我的ss配置:
config.json
{
"server":"your-server-ip",
"server_port":your-server-port,
"local_port":1081,
"password":"your-password",
"method": "aes-128-cfb",
"timeout":600
}
啟動ss客戶端:
sslocal -c config.json
可以讓它在後臺執行,如果只是臨時用,可以另開一個terminal進行其他操作
配置並啟動polipo
修改polipo配置檔案如下:
配置檔案路徑/etc/polipo/config
logSyslog = true
logFile = /var/log/polipo/polipo.log
socksParentProxy = "127.0.0.1:1081"
socksProxyType = socks5
啟動polipo服務:
sudo systemctl start polipo
此時polipo已經開始監聽本地的8123埠,並將請求透過socks5協議轉發到127.0.0.1的1081埠,如果需要修改預設的8123埠,可以檢視man手冊
驗證
在需要使用代理的命令前面加上
http_proxy= http:// 127.0.0.1:8123 https_proxy= http:// 127.0.0.1:8123 ,如果只需要使用http,可以只設定http代理,如下驗證代理後的ip:
http_proxy= http:// 127.0.0.1:8123 curl ip.gs
當前 IP:138.68.252.43 取自:smartproxy海外HTTP代理,IP地址來自:美國加利福尼亞州舊金山
驗證google的https訪問:
https_proxy= http:// 127.0.0.1:8123 curl https:// google.com
使用技巧
如果想讓整個當前會話都走代理,可以直接設定環境變數:
export http_proxy= http:// 127.0.0.1:8123 https_proxy= http:// 127.0.0.1:8123
取消代理的環境變數:
unset http_proxy
unset https_proxy
如果想讓使用者登入後自動進行代理設定,可以直接將export http_proxy= http:// 127.0.0.1:8123/ https_proxy= http:// 127.0.0.1:8123/ 放在~/.bashrc中。
可以為命令設定別名,以減少輸入,在~/.bashrc中增加如下內容:
alias ="http_proxy= http:// 127.0.0.1:8123 https_proxy= http:// 127.0.0.1:8123 "
執行source ~/.bashrc使其生效,然後可以如下執行需要代理的命令:
hp curl ip.gs
最後說一下我使用的海外IP代理商smartproxy,Smartproxy是海外HTTP代理伺服器提供商,IP可以精準定位城市級,每個月都會更新IP池,一手IP,服務於大資料採集領域幫助企業/個人快速高效獲取資料來源,真的非常便宜實惠,而已速度快又很穩定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021123/viewspace-2913492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 海外IP代理可以在手機上使用嗎?如何設定?
- 海外代理ip如何使用?
- 在海外代理IP服務中,如何使用代理IP
- 如何用海外HTTP代理設定python爬蟲代理ip池?HTTPPython爬蟲
- 海外HTTP代理如何呼叫API介面提取代理IP使用?HTTPAPI
- 如何使用海外HTTP代理訪問外網?如何設定海外HTTP代理?HTTP
- 設定linux ip命令Linux
- 高匿代理IP如何選擇?海外代理IP選擇技巧
- 如何用海外HTTP代理在電腦瀏覽器中設定ip地址和埠?HTTP瀏覽器
- 什麼是海外HTTP代理白名單?如何設定?HTTP
- Python代理IP的使用和代理池的設定Python
- 淺析動態代理IP 海外代理IP介紹
- Mac怎麼設定代理IP,蘋果系統設定http代理ip教程Mac蘋果HTTP
- 渠道查的關鍵:使用海外代理IP如虎添翼
- 如何為 Ubuntu 24.04 LTS 設定固定 IP 地址 (圖形介面 / 命令列)Ubuntu命令列
- 使用海外HTTP代理爬蟲時,我們該如何快速切換IP?HTTP爬蟲
- Linux 有問必答:如何在桌面版 Ubuntu 中用命令列更改系統代理設定LinuxUbuntu命令列
- VMware下Linux如何設定ip?Linux
- Ubuntu Linux下設定IP的配置命令UbuntuLinux
- 瞭解海外IP池:海外IP代理的關鍵組成部分
- 海外靜態代理IP如何搭建?靜態IP有什麼好處?
- 詳解HTTP代理與SOCKS代理 海外代理IP介紹HTTP
- 淺析正向代理與反向代理 海外代理IP介紹
- Mac 使用終端命令設定系統代理Mac
- Linux靜態IP設定(ipconfig命令)Linux
- linux 設定代理Linux
- Linux命令列得到系統IPLinux命令列
- 為wget命令設定代理wget
- 爬蟲如何使用ip代理池爬蟲
- Python爬蟲技巧---設定代理IPPython爬蟲
- HTTP協議是如何執行的?海外代理IP原理介紹HTTP協議
- terminal命令列使用網路代理命令列
- 海外代理IP(海外服務IP)在實際應用中的案例和經驗
- Linux設定固定IPLinux
- 在使用海外IP代理時會經常出現哪些誤解?
- 什麼是反向代理伺服器?海外代理IP詳解伺服器
- 路由設定代理IP的三大作用路由
- 如何在iPhone移動端設定海外HTTP代理?iPhoneHTTP