Total Pageviews

Saturday, 19 September 2015

socks代理调度程序

PROXIFIER,PROXYCAP,SOCKSCAP,FREECAP都是socks代理调度程序,需要搭配socks代理客户端(比如tor或ssh客户端)使用。PROXIFIER通吃,既可搭配socks代理客户端,又可搭配ssh客户端使用。而后三者建议搭配ssh客户端使用。

PROXIFIER(需破解)的功能最强大,PROXYCAP(需破解),FREECAP和widecap,SOCKSCAP依次次之。

proxycap的用法:点击程序界面左上角的proxies,点击右上角的new proxy server(虚线的正方形图标)以添加代理。在弹出的窗口中,type栏选择socks v5,host栏填写127.0.0.1,port栏填写你在ssh客户端软件(如myentunnel)中所设置的动态转发端口,然后点击ok.然后点击程序界面左上角的rules,点击右上角的虚线的正方形图标以添加tunneling rule,在弹出的窗口中,rule type栏选择tunnel through proxy, proxy server栏选择127.0.0.1:你在ssh客户端软件(如myentunnel)中所设置的动态转发端口,下面的application选择specify,在其下面的空白框中定位到你要通过代理运行的程序;在transport栏中,勾选tcp和udp;在destination ip range栏,选择not restricted;在destination port range栏,选择not restricted,然后点击ok.支持ie.

FreeCap 免费
http://www.freecap.ru/eng/

Wide Cap 免费
http://widecap.ru/en/

sockscap的用法(http://www.socksproxychecker.com/sockscap.html)
(http://www.sockscap64.com/, 64位版本的SocksCap)
点击“文件”-“设置”,socks服务器栏填写127.0.0.1,端口栏填写你在ssh客户端软件(如myentunnel)中所设置的动态转发端口号。协议选择socks v5,其下的“域名解析”栏选择“由远端解析所有域名”。然后点击“确定”。
点击“文件”-“新建”添加要通过代理运行的程序。然后选中某个已添加的程序,点击它右上方的“运行”按钮即可。
浏览器程序k-meleon,opera,chrome都可以成功地被代理,即在它们里面可翻墙浏览被封的网站。但是ie不行。

(很多使用SSH的用户都会遇到这样的问题,为什么我已经设置了socks代理,还设置了OpenDNS,怎么还是上不了Facebook,这就涉及到DNS污染技术,需要用户使用远程解析域名的方法才能访问目标网站。
  对于Firefox来说,远程解析域名的设置非常简单,只要在about:config修改network.proxy.socks_remote_dns=true就可以了。但对于IE和其他软件来说,就没有类似的修改方法,需要使用一个名为SocksCap的代理软件来解决这个问题。
  SocksCap是一个通过Socks代理连接网络的代理服务器第三方支持软件,拥有功能强大的Socks调度,所有Windows应用(如IE、Firefox、QQ、FTP等)都可以使用这个Socks代理工具通过Socks代理服务器上网,即使不支持Socks代理的应用也可以用Socks代理上网。
  首先下载安装SocksCap,安装结束后,运行SocksCap,出现如下图所示界面,这时候需要进行一些配置工作,选择菜单File - Settings。
  在Socks Server中填入Socks代理的IP地址:127.0.0.1,在Port项中填入代理端口:1080;Protocol选择Socks5项,选中Resolve all names remot,点击“确定”。
  接下来要做的便是把应用程序加入到SocksCap中。点File - New选项。
  点Browse浏览选择应用程序,如IE等应用的EXE文件,其他选择默认,点“OK”就可以完成配置。
  更简便的操作方法是将应用程序的快捷图标拖入主窗口中既可,然后鼠标右键会显示“New application profile”,给这个应用命名,然后给出要运行的程序和工作目录,点“OK”设置生效。
  这时候的SocksCap主界面会如下图所示,列出一系列应用程序的图标。
  双击SocksCap主界面的应用程序图标,即可通过SocksCap运行应用程序。若双击桌面上的应用程序,则为不使用代理运行程序。
  总体来说,SocksCap代理的目的是把一些不支持socks的代理的软件在进行网络通信的时候的数据全部转化成socks代理数据,然后再通过代理出去。对于IE来说,不需要在IE里面做任何配置,只要从SocksCap中运行IE就可以支持Socks代理。
  除了SocksCap之外,也可以使用功能和界面几乎完全相同的另一款软件FreeCap来代替。)

freecap软件使用:
点击【file】—【settings】,可以对代理服务器进行设置.点击proxy settings标签,在server一栏填127.0.0.1,port:填你的代理(比如socks 代理)的端口号。点击program标签,在dns name resolving处,选择remote.(即远程解析域名);然后点击ok按钮。
点击【file】—【new application】,在profile处输入程序的名称,路径,工作目录(参数栏无需输入)。然后点击ok按钮。然后选中某个已添加的程序,点击它右上方的“run”按钮(三角箭头)即可。
FreeCap 跟大家熟悉的SocksCap一样,是一个代理调度程序。跟sockscap一样,也不支持ie.
软件的功能:
1. 支持socks5, socks4/socks4a, http tunel 的代理调度功能 (SocksCap只支持对socks代理的调度)
2. 支持多级代理链(例如 SOCKSv4 -> HTTP -> SOCKSv4 -> SOCKSv5) (这个SocksCap也没有)
3. 遵守RFC 1928, 1929, 2817协议,也就是说支持代理身份验证
4. DNS远程解析
5. 通过多级代理链进行一层层的DNS解析.
Sockscap支持HTTP和SOCKS4代理,并且很方便的支持密码验证.FreeCap 跟大家熟悉的SocksCap一样,是一个代理调度程序,但实际上它的特性可比SocksCap强多了.

http://www.delegate.org/delegate/

 不错,我用freecap+myentunnel使得浏览器程序k-meleon,opera这些不提供socks代理选项的程序也可以翻墙了。
 -----------------------------------------------
在ubuntu等linux发行版中如何实现呢?

当然,前提是你要先链接好ssh加密通道,或者支持socks4/5的连接方式。准备好后,就可以利用以下两种方法实现。

方法一:
安装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 7070
socks4 127.0.0.1 9050
注意事项:

要选 dynamic_chain 而不是 random_chain
可以列举几个代理服务器,proxychains 会按顺序用,代理无法访问即自动选用下一个
代理服务器要根据自己电脑的情况自行调整
运行 proxychains

在终端中输入:
proxychains 你的软件 &

比如说启动火狐浏览器:
proxychains firefox &


方法二:

Tsocks是另一个能够强迫任何软件通过SOCKS代理上网的工具。
安装并配置 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 服务版本,4或5
server_port = 7070 #SOCKS 服务使用的端,根据自己的情况自行修改
你可能需要修改一下以上内容,用你自己的 SSH 隧道设置。

运行软件
用 tsocks 运行你的软件很简单,在终端中:
tsocks 你的软件 &

比如运行火狐浏览器:
tsocks firefox &

就已经是可以通过代理上网了。

 -----------------------------------------------
让所有网络程序用代理联网

  但是并不是所有的网络软件都支持代理协议,很多网络程序干脆就不支持任何的代理。这是就需要SocksCap出马了,它可以让任何不支持代理的网络程序使用SOCKS代理协议,具体做法是,安装并运行软件,然后选择“文件→设置”,在“SOCKS 服务器”中输入:127.0.0.1,端口为:9050。然后将需要使用代理的网络程序图标直接拖入到程序的窗口中,选择“新建应用程序标识项...”,在弹出的窗口中单击“确定”,然后SocksCap会在其窗口中建立网络程序的快捷方式,在SocksCap中双击这个网络程序,其就会通过SOCKS代理来访问网络。

ref: https://code.google.com/p/goagent/issues/detail?id=21838#c12