用tsocks和proxychains代理Linux下所有軟體
發表於 : 2015-08-23, 08:13
情況
由於最近在中國某個地方爆發了 riot, 所以境內很多網站又是無法訪問 (twitter.com、facebook.com 等),讓我們這些線民很無奈。
使用 SSH 翻牆
我曾經介紹過如何使用 SSH 來建立一個 SOCKS 代理伺服器,讓你能夠在 Firefox 裡正常訪問以上所提起的網址。然而不是所有 Linux 軟體都能支援代理伺服器。如果你最熱愛的 Linux 工具需要訪問“被封”的網站,又沒有嵌入的代理支援,該怎麼辦呢?
遇到這種情況當然不要放棄該軟體… 畢竟我們用的系統是 Linux 而不是以前讓我們唉聲嘆氣,喪失信心的 Windows,總有一個方法去解決問題。
舉個例子吧
我 不久前發現了 Twitter 這個網站。我一開始不經常用,也搞不明白別人為什麼對這個 web 2.0 服務都著了迷。後來我在推特上跟的人越來越多,跟著我的人亦是日益增多,不知不覺我也迷上了該網站,天天都會上。凡是經常用推特的人一般都會用一個推特的 用戶端,這才能跟得上朋友們的狀態更新和最火熱的網路新聞。本人作為 Ubuntu 的用戶,我自然就選了 Gwibber 這個基於 GNOME 的用戶端來訪問我的推特。這個軟體功能很豐富,用起來得心應手,不過總有一個問題讓我有點遺憾,就是 Gwibber 還不聽從 GNOME 的代理設置。平時這也不是一個很大的問題,但是每遇中國網路封鎖較嚴重時,都會讓我暫時無法使用該軟體。
解決方案… Tsocks
經過幾個 Google 搜索,我最終很高興地發現 Linux 有一個能夠強迫任何軟體通過 SOCKS 代理上網的工具,其名就是 tsocks。Tsocks 是一個透明 SOCKS 代理軟體,只要你電腦有一個連接到國外伺服器的 SSH 隧道,你就能讓任何軟體翻牆。
安裝並配置 Tsocks
以下說明都是為了那些使用 Ubuntu 的 Linux 用戶,不過在別的 Linux 發行版本下,安裝的過程應該與此差不多。
在終端中:
sudo apt-get install tsocks
修改設定檔:
sudo nano /etc/tsocks.conf
將其內容改成以下幾行並保存退出:
local = 192.168.1.0/255.255.255.0 #local表示本地的網路,也就是不使用socks代理的網路
server = 127.0.0.1 # SOCKS 伺服器的 IP
server_type = 5 # SOCKS 服務版本
server_port = 9999 # SOCKS 服務使用的埠
你可能需要修改一下以上內容,用你自己的 SSH 隧道設置。
運行軟體
用 tsocks 運行你的軟體很簡單,在終端中:
tsocks 你的軟體 &
我現在運行 Gwibber 都是這樣運行的:
tsocks gwibber &
祝你們翻牆愉快!
EDIT—————–>
我今天還發現了另外一個工具,其功能似乎比 tsocks 要更豐富,配置起來更簡單,而且不會那麼容易出錯。這個工具就是 proxychains。以下有配置方法:
sudo apt-get install proxychains
修改設定檔 (/etc/proxychains.conf),應該如下:
# proxychains.conf VER 2.0
#
# HTTP, SOCKS4, SOCKS5 tunneling proxifier.
#
# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see chain_len) from the list
# this option is good for scans
dynamic_chain
#strict_chain
#random_chain
# Make sense only if random_chain
chain_len = 2
# Quiet mode (no output)
#quiet_mode
# Write stats about good proxies to proxychains.stats
#write_stats
#Some timeouts in milliseconds
#
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
# ProxyList format
# type host port [user pass]
# (values separated by 'tab' or 'blank')
#
#
# Examples:
#
# socks5 192.168.67.78 1080 lamer secret
# http 192.168.89.3 8080 justu hidden
# socks4 192.168.1.49 1080
# http 192.168.39.93 8080
#
#
# proxy types: http, socks4, socks5
# ( auth types supported: "basic"-http "user/pass"-socks )
#
#http 10.0.0.5 3128
socks5 127.0.0.1 9999
socks4 127.0.0.1 9050
注意事項:
1. 要選 dynamic_chain 而不是 random_chain
2. 可以列舉幾個代理伺服器,proxychains 會按順序用,代理無法訪問即自動選用下一個
3. 代理伺服器要根據自己電腦的情況自行調整
運行 proxychains
運行 proxychains 跟運行 tsocks 完全一樣。在終端中:
proxychains 你的軟體 &
比如說:
proxychains chromium-browser &
我還是推薦你使用 proxychains!
原文:https://sites.google.com/a/pickdreams.o ... -ruan-jian
由於最近在中國某個地方爆發了 riot, 所以境內很多網站又是無法訪問 (twitter.com、facebook.com 等),讓我們這些線民很無奈。
使用 SSH 翻牆
我曾經介紹過如何使用 SSH 來建立一個 SOCKS 代理伺服器,讓你能夠在 Firefox 裡正常訪問以上所提起的網址。然而不是所有 Linux 軟體都能支援代理伺服器。如果你最熱愛的 Linux 工具需要訪問“被封”的網站,又沒有嵌入的代理支援,該怎麼辦呢?
遇到這種情況當然不要放棄該軟體… 畢竟我們用的系統是 Linux 而不是以前讓我們唉聲嘆氣,喪失信心的 Windows,總有一個方法去解決問題。
舉個例子吧
我 不久前發現了 Twitter 這個網站。我一開始不經常用,也搞不明白別人為什麼對這個 web 2.0 服務都著了迷。後來我在推特上跟的人越來越多,跟著我的人亦是日益增多,不知不覺我也迷上了該網站,天天都會上。凡是經常用推特的人一般都會用一個推特的 用戶端,這才能跟得上朋友們的狀態更新和最火熱的網路新聞。本人作為 Ubuntu 的用戶,我自然就選了 Gwibber 這個基於 GNOME 的用戶端來訪問我的推特。這個軟體功能很豐富,用起來得心應手,不過總有一個問題讓我有點遺憾,就是 Gwibber 還不聽從 GNOME 的代理設置。平時這也不是一個很大的問題,但是每遇中國網路封鎖較嚴重時,都會讓我暫時無法使用該軟體。
解決方案… Tsocks
經過幾個 Google 搜索,我最終很高興地發現 Linux 有一個能夠強迫任何軟體通過 SOCKS 代理上網的工具,其名就是 tsocks。Tsocks 是一個透明 SOCKS 代理軟體,只要你電腦有一個連接到國外伺服器的 SSH 隧道,你就能讓任何軟體翻牆。
安裝並配置 Tsocks
以下說明都是為了那些使用 Ubuntu 的 Linux 用戶,不過在別的 Linux 發行版本下,安裝的過程應該與此差不多。
在終端中:
sudo apt-get install tsocks
修改設定檔:
sudo nano /etc/tsocks.conf
將其內容改成以下幾行並保存退出:
local = 192.168.1.0/255.255.255.0 #local表示本地的網路,也就是不使用socks代理的網路
server = 127.0.0.1 # SOCKS 伺服器的 IP
server_type = 5 # SOCKS 服務版本
server_port = 9999 # SOCKS 服務使用的埠
你可能需要修改一下以上內容,用你自己的 SSH 隧道設置。
運行軟體
用 tsocks 運行你的軟體很簡單,在終端中:
tsocks 你的軟體 &
我現在運行 Gwibber 都是這樣運行的:
tsocks gwibber &
祝你們翻牆愉快!
EDIT—————–>
我今天還發現了另外一個工具,其功能似乎比 tsocks 要更豐富,配置起來更簡單,而且不會那麼容易出錯。這個工具就是 proxychains。以下有配置方法:
sudo apt-get install proxychains
修改設定檔 (/etc/proxychains.conf),應該如下:
# proxychains.conf VER 2.0
#
# HTTP, SOCKS4, SOCKS5 tunneling proxifier.
#
# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see chain_len) from the list
# this option is good for scans
dynamic_chain
#strict_chain
#random_chain
# Make sense only if random_chain
chain_len = 2
# Quiet mode (no output)
#quiet_mode
# Write stats about good proxies to proxychains.stats
#write_stats
#Some timeouts in milliseconds
#
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
# ProxyList format
# type host port [user pass]
# (values separated by 'tab' or 'blank')
#
#
# Examples:
#
# socks5 192.168.67.78 1080 lamer secret
# http 192.168.89.3 8080 justu hidden
# socks4 192.168.1.49 1080
# http 192.168.39.93 8080
#
#
# proxy types: http, socks4, socks5
# ( auth types supported: "basic"-http "user/pass"-socks )
#
#http 10.0.0.5 3128
socks5 127.0.0.1 9999
socks4 127.0.0.1 9050
注意事項:
1. 要選 dynamic_chain 而不是 random_chain
2. 可以列舉幾個代理伺服器,proxychains 會按順序用,代理無法訪問即自動選用下一個
3. 代理伺服器要根據自己電腦的情況自行調整
運行 proxychains
運行 proxychains 跟運行 tsocks 完全一樣。在終端中:
proxychains 你的軟體 &
比如說:
proxychains chromium-browser &
我還是推薦你使用 proxychains!
原文:https://sites.google.com/a/pickdreams.o ... -ruan-jian