Linux proxy 转载
luyued 发布于 2011-02-26 17:12 浏览 N 次
http://tech.techweb.com.cn/thread-414895-1-1.html
使用 SSH 翻墙6 ]% _* f% v! T5 C! Q8 n1 E! ~$ C
我曾经介绍过如何使用 SSH 来建立一个 SOCKS 代理服务器,让你能够在 Firefox 里正常访问以上所提起的网址。然而不是所有 Linux 软件都能支持代理服务器。如果你最热爱的 Linux 工具需要访问”被封”的网站,又没有嵌入的代理支持,该怎么办呢?+ w- i4 A9 l; H7 V: x
遇到这种情况当然不要放弃该软件… 毕竟我们用的系统是 Linux 而不是以前让我们咳声叹气,丧失信心的 Windows,总有一个方法去解决问题。
3 f8 T% m) e1 _- t& f* \- k( B* s* `" @3 z
举个例子吧
) u! b8 ], x& O" r" o/ q我不久前发现了 Twitter 这个网站。我一开始不经常用,也搞不明白别人为什么对这个 web 2.0 服务都着了迷。后来我在推特上跟的人越来越多,跟着我的人亦是日益增多,不知不觉我也迷上了该网站,天天都会上。凡是经常用推特的人一般都会用一个推特的客户端,这才能跟得上朋友们的状态更新和最火热的网络新 闻。本人作为 Ubuntu 的用户,我自然就选了 Gwibber 这个基于 GNOME 的客户端来访问我的推特。这个软件功能很丰富,用起来得心应手,不过总有一个问题让我有点遗憾,就是 Gwibber 还不听从 GNOME 的代理设置。平时这也不是一个很大的问题,但是每遇中国网络封锁较严重时,都会让我暂时无法使用该软件。/ a* |$ }7 W7 g n, i, h& {
5 T/ n. ?! O& @0 C. U6 r解决方案… Tsocks; [ A. D2 ?0 _7 f
经过几个 Google 搜索,我最终很高兴地发现 Linux 有一个能够强迫任何软件通过 SOCKS 代理上网的工具,其名就是 tsocks。Tsocks 是一个透明 SOCKS 代理软件,只要你电脑有一个连接到国外服务器的 SSH 隧道,你就能让任何软件翻墙。
5 }# z0 {% w! t% W3 h$ D
) l: |9 G3 o" R7 Q3 }+ ~* L安装并配置 Tsocks
6 ?! d9 |. B; F$ t: F2 G H2 P以下说明都是为了那些使用 Ubuntu 的 Linux 用户,不过在别的 Linux 发行版下,安装的过程应该与此差不多。7 F# Q" c! Y, @1 |
& Y. G2 E* N" Q8 O. T, T M在终端中:) X6 D+ F! e' Q$ X8 `' A
* u/ N1 h$ O# P |sudo apt-get install tsocks修改配置文件:
9 ~. i+ A! ^1 q' w* X& t8 G, V4 l& b
8 A- _ J; c& U0 Wsudo nano /etc/tsocks.conf将其内容改成以下几行并保存退出:$ k- v% ~* X6 z% i: ^' }
# Q0 K( d; X0 E! S7 @- l$ {$ Dlocal = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络! k; q; i# s: F5 i* ~
server = 127.0.0.1 # SOCKS 服务器的 IP4 h$ t+ O4 u/ J3 g P" z7 ]9 M0 [9 y
server_type = 5 # SOCKS 服务版本
: i9 X, Z( W2 lserver_port = 9999 #SOCKS 服务使用的端口你可能需要修改一下以上内容,用你自己的 SSH 隧道设置。
. Z& x2 U9 L" k6 z! L1 o% ?# E/ F: u& f: ~7 ^
运行软件* [ R5 C0 _) f, h5 n
用 tsocks 运行你的软件很简单,在终端中:% S7 T- Y4 Z: m0 z
- W7 R+ {: t. `' H, [, w% Z1 S
tsocks 你的软件 &我现在运行 Gwibber 都是这样运行的:
( h4 T" ]/ q- x1 `* A
/ x& ^6 h5 `: I; E: G" z7 Atsocks gwibber &祝你们翻墙愉快!; l' V1 Y" C* w, O
3 |% _0 h! R$ Z; ], X) A& D# REDIT—————–>
/ p u1 |) o8 r7 l
' F& w2 g- I W- A) k! `0 a* p/ e我今天还发现了另外一个工具,其功能似乎比 tsocks 要更丰富,配置起来更简单,而且不会那么容易出错。这个工具就是 proxychains。以下有配置方法:3 y1 S4 l/ _ e8 a2 \7 {
& X" \! }* O/ }: p& I: q/ ksudo apt-get install proxychains修改配置文件 (/etc/proxychains.conf),应该如下:
Q _3 _8 d/ [; |3 B, d2 }: ^+ f" N
# proxychains.conf VER 2.0
( \) O; q% t7 s: d3 g#
- U5 |& A \9 V: E- u# HTTP, SOCKS4, SOCKS5 tunneling proxifier.
t/ c2 R2 n$ f- c! r#
\9 l. U# }( G0 C+ O7 r ] [7 J% y! L$ m" ?! x f- q
# The option below identifies how the ProxyList is treated.; p# M- a. t% m8 L
# only one option should be uncommented at time,: ^! g& _2 O5 G7 \: s: R7 L" H
# otherwise the last appearing option will be accepted( X6 X. O- P5 [; F* @
#
( ?6 ~3 @" z" P/ Q+ s# Dynamic - Each connection will be done via chained proxies
1 Q2 ?2 I1 C7 ~" B) P9 h# all proxies chained in the order as they appear in the list. L- E( a" q }, z
# at least one proxy must be online to play in chain
# |' G* d/ B7 } h' j" |; h# (dead proxies are skipped)
) S6 V. t2 [1 m1 `2 b+ s* ^7 ^# otherwise EINTR is returned to the app
0 Z" y# q6 X$ B0 p: n( o#! q, w5 \+ M6 P3 V
# Strict - Each connection will be done via chained proxies* h# D" r; b9 Q& d+ O
# all proxies chained in the order as they appear in the list6 D7 M9 C$ w B* K2 o- \# P% W9 O
# all proxies must be online to play in chain
& z2 Q, u. K$ p' f# otherwise EINTR is returned to the app
% i3 N+ f+ O% ? E+ G! K#
8 w2 I0 _1 O1 `5 ] c# Random - Each connection will be done via random proxy* K% C/ e1 Q$ ^2 z. \6 a
# (or proxy chain, see chain_len) from the list) x% R" e7 Q' N& `' Y% W% |
# this option is good for scans
s5 m0 S# j" k1 g( l7 Y" s+ u" k( r$ T! ]3 z4 ~
dynamic_chain9 {/ `" q$ ^( [4 v, e
#strict_chain
3 l; V; w" Y* _! i. W# x# Z: V$ {0 h! u#random_chain
# O0 N# l- d/ N ^" s) t$ s4 f9 \) F
+ u5 ?. A5 {$ q, a# Make sense only if random_chain5 T# e/ \$ m, z+ A3 x) G! M! C
chain_len = 2
: M5 C' h+ r8 f J9 v7 ?, z
; x, g+ K) _/ X# Quiet mode (no output)
$ e. c2 ?4 i9 e1 D#quiet_mode4 m: b- n* d4 ~
" a+ |* D; U/ |' ^! ^& O5 x# Write stats about good proxies to proxychains.stats- `7 S z5 d0 ~& s8 ^: t
#write_stats
$ g7 p# k, v: R$ A5 u9 }; O3 }' _( ^ l# E4 t" G
#Some timeouts in milliseconds7 L8 z3 ~+ m$ y; a8 @5 G! K
#
6 Q' x1 V* u6 ktcp_read_time_out 15000: V7 {% e" e9 m2 s5 B
tcp_connect_time_out 10000
( s$ W( ^) _3 F2 u/ z4 ]$ P/ P2 W: d. v2 {/ e' F
[ProxyList]- V" }" |7 l% s" F3 ^
# ProxyList format
" E4 L& U' a% q& s# type host port [user pass]
3 ?( m3 p/ ?/ K1 B, [2 e# (values separated by 'tab' or 'blank')
7 h4 e: F7 h+ z. D' p R6 J2 Z#
* {0 a) G1 Q; c$ \1 o#$ C7 p1 Q: i7 y/ u/ B4 @
# Examples:1 |+ k7 c! V. m6 B1 \
#, G! n, |6 D1 b0 e) z; N+ @
# socks5 192.168.67.78 1080 lamer secret0 l! o5 b* b" a+ n) D6 l
# http 192.168.89.3 8080 justu hidden
L4 r$ L7 ]* _. E+ g# socks4 192.168.1.49 1080; f B( e% l; H: ?( R
# http 192.168.39.93 8080
& @+ W' r, A) ]6 D- F: g) p#
" t- H3 y% W/ h) t- M#" B7 T4 U2 ^' a, @! s+ w
# proxy types: http, socks4, socks54 ]; t# H5 H- z! F" V5 P, ^+ f
# ( auth types supported: "basic"-http "user/pass"-socks )2 [. e" ^! M4 l, ]3 L4 Y
#
, ~. L/ O' n2 K2 M# c9 d#http 10.0.0.5 3128 q. z, S: y6 d; w# u9 o
socks5 127.0.0.1 99994 s% L( t# A5 Y: u: p- X
socks4 127.0.0.1 9050
% b+ {: S, F; U0 ^注意事项:
! g7 k! Z2 v0 P( n" i3 Y
6 e5 U" r6 A) u; q$ |要选 dynamic_chain 而不是 random_chain
8 L7 M/ F8 H: D可以列举几个代理服务器,proxychains 会按顺序用,代理无法访问即自动选用下一个
2 M1 b7 K$ Q3 `8 M5 O代理服务器要根据自己电脑的情况自行调整 7 d% Y3 B1 @0 W3 V+ {
运行 proxychains* Z8 `. b- J5 i- F% c) c! l1 v
运行 proxychains 跟运行 tsocks 完全一样。在终端中:
2 X: C% h7 j1 V2 F3 u+ X2 h9 ~
4 }) I9 z3 ^2 \. Vproxychains 你的软件 &比如说:1 E' B& o; l) `9 n
$ [- ` i9 L# I; U& pproxychains chromium-browser &我还是推荐你使用 proxychains!
使用 SSH 翻墙6 ]% _* f% v! T5 C! Q8 n1 E! ~$ C
我曾经介绍过如何使用 SSH 来建立一个 SOCKS 代理服务器,让你能够在 Firefox 里正常访问以上所提起的网址。然而不是所有 Linux 软件都能支持代理服务器。如果你最热爱的 Linux 工具需要访问”被封”的网站,又没有嵌入的代理支持,该怎么办呢?+ w- i4 A9 l; H7 V: x
遇到这种情况当然不要放弃该软件… 毕竟我们用的系统是 Linux 而不是以前让我们咳声叹气,丧失信心的 Windows,总有一个方法去解决问题。
3 f8 T% m) e1 _- t& f* \- k( B* s* `" @3 z
举个例子吧
) u! b8 ], x& O" r" o/ q我不久前发现了 Twitter 这个网站。我一开始不经常用,也搞不明白别人为什么对这个 web 2.0 服务都着了迷。后来我在推特上跟的人越来越多,跟着我的人亦是日益增多,不知不觉我也迷上了该网站,天天都会上。凡是经常用推特的人一般都会用一个推特的客户端,这才能跟得上朋友们的状态更新和最火热的网络新 闻。本人作为 Ubuntu 的用户,我自然就选了 Gwibber 这个基于 GNOME 的客户端来访问我的推特。这个软件功能很丰富,用起来得心应手,不过总有一个问题让我有点遗憾,就是 Gwibber 还不听从 GNOME 的代理设置。平时这也不是一个很大的问题,但是每遇中国网络封锁较严重时,都会让我暂时无法使用该软件。/ a* |$ }7 W7 g n, i, h& {
5 T/ n. ?! O& @0 C. U6 r解决方案… Tsocks; [ A. D2 ?0 _7 f
经过几个 Google 搜索,我最终很高兴地发现 Linux 有一个能够强迫任何软件通过 SOCKS 代理上网的工具,其名就是 tsocks。Tsocks 是一个透明 SOCKS 代理软件,只要你电脑有一个连接到国外服务器的 SSH 隧道,你就能让任何软件翻墙。
5 }# z0 {% w! t% W3 h$ D
) l: |9 G3 o" R7 Q3 }+ ~* L安装并配置 Tsocks
6 ?! d9 |. B; F$ t: F2 G H2 P以下说明都是为了那些使用 Ubuntu 的 Linux 用户,不过在别的 Linux 发行版下,安装的过程应该与此差不多。7 F# Q" c! Y, @1 |
& Y. G2 E* N" Q8 O. T, T M在终端中:) X6 D+ F! e' Q$ X8 `' A
* u/ N1 h$ O# P |sudo apt-get install tsocks修改配置文件:
9 ~. i+ A! ^1 q' w* X& t8 G, V4 l& b
8 A- _ J; c& U0 Wsudo nano /etc/tsocks.conf将其内容改成以下几行并保存退出:$ k- v% ~* X6 z% i: ^' }
# Q0 K( d; X0 E! S7 @- l$ {$ Dlocal = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络! k; q; i# s: F5 i* ~
server = 127.0.0.1 # SOCKS 服务器的 IP4 h$ t+ O4 u/ J3 g P" z7 ]9 M0 [9 y
server_type = 5 # SOCKS 服务版本
: i9 X, Z( W2 lserver_port = 9999 #SOCKS 服务使用的端口你可能需要修改一下以上内容,用你自己的 SSH 隧道设置。
. Z& x2 U9 L" k6 z! L1 o% ?# E/ F: u& f: ~7 ^
运行软件* [ R5 C0 _) f, h5 n
用 tsocks 运行你的软件很简单,在终端中:% S7 T- Y4 Z: m0 z
- W7 R+ {: t. `' H, [, w% Z1 S
tsocks 你的软件 &我现在运行 Gwibber 都是这样运行的:
( h4 T" ]/ q- x1 `* A
/ x& ^6 h5 `: I; E: G" z7 Atsocks gwibber &祝你们翻墙愉快!; l' V1 Y" C* w, O
3 |% _0 h! R$ Z; ], X) A& D# REDIT—————–>
/ p u1 |) o8 r7 l
' F& w2 g- I W- A) k! `0 a* p/ e我今天还发现了另外一个工具,其功能似乎比 tsocks 要更丰富,配置起来更简单,而且不会那么容易出错。这个工具就是 proxychains。以下有配置方法:3 y1 S4 l/ _ e8 a2 \7 {
& X" \! }* O/ }: p& I: q/ ksudo apt-get install proxychains修改配置文件 (/etc/proxychains.conf),应该如下:
Q _3 _8 d/ [; |3 B, d2 }: ^+ f" N
# proxychains.conf VER 2.0
( \) O; q% t7 s: d3 g#
- U5 |& A \9 V: E- u# HTTP, SOCKS4, SOCKS5 tunneling proxifier.
t/ c2 R2 n$ f- c! r#
\9 l. U# }( G0 C+ O7 r ] [7 J% y! L$ m" ?! x f- q
# The option below identifies how the ProxyList is treated.; p# M- a. t% m8 L
# only one option should be uncommented at time,: ^! g& _2 O5 G7 \: s: R7 L" H
# otherwise the last appearing option will be accepted( X6 X. O- P5 [; F* @
#
( ?6 ~3 @" z" P/ Q+ s# Dynamic - Each connection will be done via chained proxies
1 Q2 ?2 I1 C7 ~" B) P9 h# all proxies chained in the order as they appear in the list. L- E( a" q }, z
# at least one proxy must be online to play in chain
# |' G* d/ B7 } h' j" |; h# (dead proxies are skipped)
) S6 V. t2 [1 m1 `2 b+ s* ^7 ^# otherwise EINTR is returned to the app
0 Z" y# q6 X$ B0 p: n( o#! q, w5 \+ M6 P3 V
# Strict - Each connection will be done via chained proxies* h# D" r; b9 Q& d+ O
# all proxies chained in the order as they appear in the list6 D7 M9 C$ w B* K2 o- \# P% W9 O
# all proxies must be online to play in chain
& z2 Q, u. K$ p' f# otherwise EINTR is returned to the app
% i3 N+ f+ O% ? E+ G! K#
8 w2 I0 _1 O1 `5 ] c# Random - Each connection will be done via random proxy* K% C/ e1 Q$ ^2 z. \6 a
# (or proxy chain, see chain_len) from the list) x% R" e7 Q' N& `' Y% W% |
# this option is good for scans
s5 m0 S# j" k1 g( l7 Y" s+ u" k( r$ T! ]3 z4 ~
dynamic_chain9 {/ `" q$ ^( [4 v, e
#strict_chain
3 l; V; w" Y* _! i. W# x# Z: V$ {0 h! u#random_chain
# O0 N# l- d/ N ^" s) t$ s4 f9 \) F
+ u5 ?. A5 {$ q, a# Make sense only if random_chain5 T# e/ \$ m, z+ A3 x) G! M! C
chain_len = 2
: M5 C' h+ r8 f J9 v7 ?, z
; x, g+ K) _/ X# Quiet mode (no output)
$ e. c2 ?4 i9 e1 D#quiet_mode4 m: b- n* d4 ~
" a+ |* D; U/ |' ^! ^& O5 x# Write stats about good proxies to proxychains.stats- `7 S z5 d0 ~& s8 ^: t
#write_stats
$ g7 p# k, v: R$ A5 u9 }; O3 }' _( ^ l# E4 t" G
#Some timeouts in milliseconds7 L8 z3 ~+ m$ y; a8 @5 G! K
#
6 Q' x1 V* u6 ktcp_read_time_out 15000: V7 {% e" e9 m2 s5 B
tcp_connect_time_out 10000
( s$ W( ^) _3 F2 u/ z4 ]$ P/ P2 W: d. v2 {/ e' F
[ProxyList]- V" }" |7 l% s" F3 ^
# ProxyList format
" E4 L& U' a% q& s# type host port [user pass]
3 ?( m3 p/ ?/ K1 B, [2 e# (values separated by 'tab' or 'blank')
7 h4 e: F7 h+ z. D' p R6 J2 Z#
* {0 a) G1 Q; c$ \1 o#$ C7 p1 Q: i7 y/ u/ B4 @
# Examples:1 |+ k7 c! V. m6 B1 \
#, G! n, |6 D1 b0 e) z; N+ @
# socks5 192.168.67.78 1080 lamer secret0 l! o5 b* b" a+ n) D6 l
# http 192.168.89.3 8080 justu hidden
L4 r$ L7 ]* _. E+ g# socks4 192.168.1.49 1080; f B( e% l; H: ?( R
# http 192.168.39.93 8080
& @+ W' r, A) ]6 D- F: g) p#
" t- H3 y% W/ h) t- M#" B7 T4 U2 ^' a, @! s+ w
# proxy types: http, socks4, socks54 ]; t# H5 H- z! F" V5 P, ^+ f
# ( auth types supported: "basic"-http "user/pass"-socks )2 [. e" ^! M4 l, ]3 L4 Y
#
, ~. L/ O' n2 K2 M# c9 d#http 10.0.0.5 3128 q. z, S: y6 d; w# u9 o
socks5 127.0.0.1 99994 s% L( t# A5 Y: u: p- X
socks4 127.0.0.1 9050
% b+ {: S, F; U0 ^注意事项:
! g7 k! Z2 v0 P( n" i3 Y
6 e5 U" r6 A) u; q$ |要选 dynamic_chain 而不是 random_chain
8 L7 M/ F8 H: D可以列举几个代理服务器,proxychains 会按顺序用,代理无法访问即自动选用下一个
2 M1 b7 K$ Q3 `8 M5 O代理服务器要根据自己电脑的情况自行调整 7 d% Y3 B1 @0 W3 V+ {
运行 proxychains* Z8 `. b- J5 i- F% c) c! l1 v
运行 proxychains 跟运行 tsocks 完全一样。在终端中:
2 X: C% h7 j1 V2 F3 u+ X2 h9 ~
4 }) I9 z3 ^2 \. Vproxychains 你的软件 &比如说:1 E' B& o; l) `9 n
$ [- ` i9 L# I; U& pproxychains chromium-browser &我还是推荐你使用 proxychains!
MSN空间完美搬家到新浪博客!
相关资讯
- 06-15· 2011.03.16中山
- 06-15· [转载]段琪桂不构成“犯罪
- 06-15· 雅思VIP8人班
- 06-15· 广州市地下铁道总公司D
- 06-12· 那些类似口袋的玩意
- 06-12· 伸个懒腰腰
- 06-07· [原创]精明购物挑战千年极
- 06-05· 桂林中旅新增路线“桂林
- 06-05· 怎样能增肥 2011年1月21日芒
- 06-05· [转载]【日本旅游】日本游
图文资讯
最新资讯
- 06-05· 广州至纽约 芝加哥 华盛顿
- 06-05· [热门]记三亚…仅供娱乐
- 06-05· Lucene原理及使用总结 | 用
- 06-04· 国际漫画大赛征稿(修改
- 06-04· 泰國之旅第一日~
- 06-04· 泰之旅day4
- 06-04· 泰國之旅 Farica 篇
- 06-03· 哈 曼丁的故事3
- 06-03· 奥巴马:没有总统相?“
- 05-31· 5-31筹款物资汇总披露(一