2012年4月11日星期三

[GFW BLOG(功夫网与翻墙)] 使用 SOCKS

原文:http://briteming.blogspot.com/2012/04/socks.html

本章介绍如何配置和使用 Sun Java System Web Proxy Server 附带的 SOCKS 服务器。Proxy Server 支持 SOCKS 第 4 版和第 5 版。
本章包含以下各节:

关于 SOCKS

SOCKS 是一种联网代理协议,用于重定向来自 SOCKS 服务器相对侧主机的连接请求,通过该协议,无需直接 IP 连接能力,一侧的主机便能够获得对另一侧主机的完全访问权限。SOCKS 通常用作网络防火墙,以使 SOCKS 服务器后面的主机能够获得对 Internet 的完全访问权限,同时防止在未经授权的情况下从 Internet 访问内部主机。
SOCKS 服务器是一个通用的防火墙守护程序,它基于点对点模式通过防火墙对访问进行控制。SOCKS 服务器可以对请求进行验证和授权、建立代理连接以及转发数据。SOCKS 服务器在网络层而非应用层上运行,因此它不了解用于传输请求的协议或方法。由于 SOCKS 服务器不了解协议,因此可以使用该服务器来传送 Proxy Server 不支持的那些协议(如 Telnet)。
图 15–1 SOCKS 服务器在网络中的位置

图中说明了 SOCKS 服务器在网络中的位置。

使用捆绑的 SOCKS v5 服务器

Sun Java System Web Proxy Server 附带了自己的 SOCKS 守护程序,该守护程序识别其他 SOCKS 守护程序使用的标准 socks5.conf 文件格式。此守护程序可以由 Proxy Server 用来为请求选择路由,也可以从 Proxy Server 运行以提供附加的网络功能。有关配置 Proxy Server 以通过 SOCKS 服务器路由请求的更多信息,请参见配置路由条目。
默认情况下,禁用 Proxy Server 附带的 SOCKS 守护程序。您可以通过 Server Manager 界面的 "SOCKS" 选项卡或命令行来启用该守护程序。有关更多信息,请参见启动和停止 SOCKS v5 服务器。

注 – 在 Proxy Server 4 中,SOCKS 守护程序的名称已从 ns-sockd 更改为 sockd。

使用 Proxy Server 附带的 SOCKS 服务器时必须采取的总体步骤如下:

Procedure使用 SOCKS

  1. 配置 SOCKS 服务器。参见配置 SOCKS v5 服务器。
  2. 如果 SOCKS 服务器将在具有多个接口的计算机上运行,请创建 SOCKS 路由条目。参见配置路由条目。
  3. 创建验证条目。参见配置 SOCKS v5 验证条目。
  4. 创建连接条目。参见配置 SOCKS v5 连接条目。
  5. 启用 SOCKS 服务器。参见启动和停止 SOCKS v5 服务器。

关于 socks5.conf

Sun Java System Web Proxy Server 使用 socks5.conf 文件来控制对 SOCKS 服务器及其服务的访问。其中每个条目都定义了在收到与该条目匹配的请求时 Proxy Server 将执行的操作。在 Server Manager 中所做的选择将写入socks5.conf。此外,也可以手动编辑该文件。socks5.conf 文件位于安装根目录 server-root,如下所示:
server-root/proxy-serverid /config 目录
本节提供了有关 socks5.conf 的常规信息。有关该文件及其指令和语法的详细信息,请参见 Proxy Server 配置文件参考。

验证

可以将 SOCKS 守护程序配置为使用其服务时要求验证。验证基于连接客户机的主机名和端口。如果选择要求用户名和密码,将会根据 socks5.conf 文件所引用的用户名和密码文件进行信息验证。如果提供的用户名和密码与密码文件中的列表不匹配,则拒绝访问。密码文件中用户名和密码的格式为 username password ,其中用户名和密码用空格分隔。.
您还可以禁止用户。若要求进行用户名和密码验证,必须向 socks5.conf 添加 SOCKS5_PWDFILE 指令。有关该指令及其语法的更多信息,请参见 Proxy Server 配置文件参考中的 socks5.conf 部分。
此外,还可以根据已配置的 LDAP 服务器(而不仅仅是文件)来执行用户名和密码验证。

访问控制

访问控制是使用 socks5.conf 文件中的一组有序行来执行的。每一行中都包含一条指令,用于允许或拒绝对资源的访问。指令按其在配置文件中的出现顺序进行处理。不符合任何允许指令的请求将被拒绝访问。

日志记录

SOCKS 守护程序将错误消息和访问消息都记录在 SOCKS 日志文件中。在 socks5.conf 中,可以指定日志文件位置和日志记录类型。
SOCKS 守护程序还会每小时生成一个统计条目,用于提供该守护程序的统计信息。

调节

可以使用 socks5.conf 文件来确定 SOCKS 服务器使用的工作线程和接受线程的数目。这些数目会影响 SOCKS 服务器的性能。
有关工作线程和接受线程设置及其对性能的影响的更多信息,请参见配置 SOCKS v5 服务器中的相关部分。

启动和停止 SOCKS v5 服务器

可以从 Server Manager 或命令行来启动和停止 SOCKS 服务器。

Procedure从 Server Manager 启动和停止 SOCKS 服务器

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Start/Stop SOCKS Server" 链接。
  3. 启动或停止 SOCKS 服务器。

从命令行启动和停止 SOCKS 服务器

运行 server-root/proxy- serverid 目录中找到的脚本,其中 server-root 为安装根目录:
  • start-sockd 用于启动 SOCKS 守护程序
  • stop-sockd 用于停止 SOCKS 守护程序
  • restart-sockd 用于重新启动 SOCKS 守护程序

配置 SOCKS v5 服务器

Procedure配置 SOCKS 服务器

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Configure SOCKS v5" 链接。
  3. 在 "SOCKS Port" 字段中,键入 SOCKS 服务器将侦听的端口号。默认值为 1080。
  4. 选择要使用的 SOCKS 选项。
    可以使用以下选项:
    • Disable Reverse DNS Lookup。 对 SOCKS 服务器禁用反向 DNS 查找。反向 DNS 可将 IP 地址转换为主机名。禁用反向 DNS 查找可节省网络资源。默认情况下将禁用 DNS 查找。如果禁用了反向 DNS 查找而使用主机名请求 URL,则服务器不会将主机名映射到 IP 地址。如果启用了反向 DNS 查找,服务器将会执行映射,并向 SOCKS 日志文件中添加一个条目,用于列出该 DNS 转换。
      • Use Client-specific Bind Port。允许客户机在 "BIND" 请求中指定端口。禁用此选项后,SOCKS 将忽略客户机请求的端口并指定一个随机端口。默认情况下禁用此选项。
      • 允许Wildcard As Bind IP Address。 允许客户机在 "BIND" 请求中指定一个全部由零组成的 IP 地址 (0.0.0.0),表示可以连接任何 IP 地址。禁用此选项后,客户机必须指定将要连接到绑定端口的 IP 地址,而 SOCKS 服务器会拒绝绑定到 0.0.0.0 的请求。默认情况下禁用此选项。
      • Quench Updates。禁用每小时自动写入一次统计文件。如果禁用,则每次请求时都会进行写入。有关更多信息,请参见日志记录。
    "Quench Updates" 元素显示在用户界面中,但在本 Proxy Server 4 发行版中并未实现。
  5. 在 "Log File" 字段中,键入 SOCKS 日志文件的完整路径名。
    默认路径为 server-root/proxy- serverid/logs/socks5.log。
  6. 从 "Log Level" 下拉式列表中,选择日志文件是应仅包含警告和错误,还是应包含所有请求或调试消息。
  7. 选择 RFC 1413 ident 响应。
    Ident 允许 SOCKS 服务器确定客户机的用户名。通常,仅当客户机运行某些版本的 UNIX 时,此功能才有效。可以使用以下选项:
    • Don't Ask。从不使用 ident 来确定客户机的用户名。此设置为默认设置,建议使用。
      • Ask But Don't Require。询问所有客户机的用户名,但并不需要该名称。此选项使用 ident 只是出于日志记录目的。
      • Require。询问所有客户机的用户名,并且仅允许访问做出了有效响应的客户机。
  8. 在 "SOCKS Tuning" 部分,指定 SOCKS 服务器应使用的工作线程和接受线程的数目。这些数目会影响 SOCKS 服务器的性能。单击 "OK"。
    • Number Of Worker Threads。默认值为 40。如果 SOCKS 服务器太慢,请增加工作线程数。如果服务器不稳定,则应减少该数值。更改此数目时,请从默认值开始并根据需要进行增减。典型的工作线程数介于 10 到 150 之间。绝对最大值是 512,但数量超过 150 往往会造成浪费且不稳定。
      • Number Of Posted Accepts。默认值为 1。如果 SOCKS 服务器丢弃连接,请增加接受线程数。如果服务器不稳定,则应减少该数值。更改此数目时,请从默认值开始并根据需要进行增减。典型的接受线程数介于 1 到 10 之间。绝对最大值是 512,但数量超过 60 往往会造成浪费且不稳定。如果在 SOCKS 服务器欠载且连接减少时请求失败,请调节此设置。

配置 SOCKS v5 验证条目

SOCKS 验证条目用于确定 SOCKS 守护程序应接受来自哪些主机的连接,以及 SOCKS 守护程序应使用何种类型的验证来验证这些主机。

Procedure创建 SOCKS 验证条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Authentication" 链接。
  3. 单击 "Add" 按钮。
  4. 在 "Host Mask" 字段中,键入 SOCKS 服务器将要验证的主机的 IP 地址或主机名。
    如果键入的是 IP 地址,地址后面应跟一个正斜杠以及要应用于传入 IP 地址的掩码。SOCKS 服务器会将此掩码应用于 IP 地址,以确定其是否为有效主机。请勿在主机掩码条目中使用空格。如果不键入主机掩码,验证条目将适用于所有主机。
    例如,可在 "Host Mask" 字段中键入 155.25.0.0/255.255.0.0。如果主机的 IP 地址是 155.25.3.5,则 SOCKS 服务器会将该掩码应用于此 IP 地址,并确定主机的 IP 地址是否与验证记录所请求的 IP 地址 (155.25.0.0) 匹配。
  5. 在 "Port Range" 字段中,键入 SOCKS 服务器将要验证的主机的端口。
    请勿在端口范围条目中使用空格。如果不提供端口范围,验证条目将适用于所有端口。
    可以使用方括号 [ ] 包括范围两端的端口,也可使用圆括号 ( ) 将它们排除在外。例如,[1000-1010] 表示 1000 和 1010 之间包括 1000 和 1010 在内的所有端口号,而 (1000-1010) 表示 1000 和 1010 之间不包括 1000 和 1010 在内的所有端口号。另外,也可以混合使用方括号和圆括号。例如,(1000-1010] 表示 1000 和 1010 之间不包括 1000 但包括 1010 在内的所有端口号。
  6. 从 "Authentication Type" 下拉式列表中选择验证类型。
    可以使用以下选项:
    • Require user-password。访问 SOCKS 服务器时需要用户名和密码。
    • User-password, if available。如果存在用户名和密码,则应使用它们来访问 SOCKS 服务器,但它们并不是访问所必需的。
    • Ban。禁止访问 SOCKS 服务器。
    • None。访问 SOCKS 服务器时不需要验证。
  7. 从 "Insert" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。
    由于可以采用多种验证方法,因此必须指定对这些方法的评估顺序。这样,如果客户机不支持所列的第一种验证方法,便会改用第二种方法。如果客户机不支持所列的任何验证方法,SOCKS 服务器将断开连接而不接受请求。

Procedure编辑验证条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Authentication" 链接。
  3. 选择要编辑的验证条目,然后单击 "Edit" 按钮。
  4. 根据需要进行更改。
  5. 单击 "OK"。

Procedure删除验证条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Authentication" 链接。
  3. 选择要删除的验证条目。
  4. 单击 "Delete" 按钮。

Procedure移动验证条目

条目按其在 socks5.conf 文件中出现的顺序进行评估。可以通过移动来更改其顺序。
  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Authentication" 链接。
  3. 选择要移动的验证条目,然后单击 "Move" 按钮。
  4. 从 "Move" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置。
  5. 单击 "OK"。

配置 SOCKS v5 连接条目

SOCKS 连接条目用于指定 SOCKS 守护程序是应允许请求,还是应拒绝请求。

Procedure创建连接条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Connections" 链接。
  3. 单击 "Add" 按钮。
  4. 从 "Authentication Type" 下拉式列表中,选择此访问控制行所请求的验证方法。
  5. 从 "Connection Type" 下拉式列表中,选择此行所匹配的命令类型。命令类型可能包括:
    • Connect 
      • Bind 
      • UDP 
      • All 
  6. 在 "Source Host Mask" 字段中,键入连接控制条目所请求的主机的 IP 地址或主机名。
    如果键入的是 IP 地址,地址后面应跟一个正斜杠以及要应用于源 IP 地址的掩码。SOCKS 服务器会将此掩码应用于源 IP 地址,以确定其是否为有效主机。请勿在主机掩码条目中使用空格。如果不键入主机掩码,连接条目将适用于所有主机。
    例如,可在 "Host Mask" 字段中键入 155.25.0.0/255.255.0.0。如果主机的 IP 地址是 155.25.3.5,则 SOCKS 服务器会将该掩码应用于此 IP 地址,并确定主机的 IP 地址是否与连接控制条目所请求的 IP 地址 (155.25.0.0) 匹配。
  7. 在 "Port Range" 字段中,键入连接控制条目所请求的源计算机的端口。
    请勿在端口范围条目中使用空格。如果不指定端口范围,连接条目将适用于所有端口。
    可以使用方括号 [ ] 包括范围两端的端口,也可使用圆括号 ( ) 将它们排除在外。例如,[1000-1010] 表示 1000 和 1010 之间包括 1000 和 1010 在内的所有端口号,而 (1000-1010) 表示 1000 和 1010 之间不包括 1000 和 1010 在内的所有端口号。另外,也可以混合使用方括号和圆括号。例如,(1000-1010] 表示 1000 和 1010 之间不包括 1000 但包括 1010 在内的所有端口号。
  8. 在 "Destination Host Mask" 字段中,键入连接条目所请求的 IP 地址或主机名。
    如果键入的是 IP 地址,地址后面应跟一个正斜杠以及要应用于传入 IP 地址的掩码。SOCKS 服务器会将此掩码应用于目标计算机的 IP 地址,以确定其是否为有效的目标主机。请勿在主机掩码条目中使用空格。如果不键入目标主机掩码,连接条目将适用于所有主机。
    例如,可在 "Destination Host Mask" 字段中键入 155.25.0.0/255.255.0.0。如果目标主机的 IP 地址是 155.25.3.5,则 SOCKS 服务器会将该掩码应用于此 IP 地址,并确定目标主机的 IP 地址是否与代理条目所请求的 IP 地址 (155.25.0.0) 匹配。
  9. 在 "Port Range" 字段中,键入连接控制条目所请求的目标主机的端口。
    请勿在端口范围条目中使用空格。如果不键入端口范围,连接条目将适用于所有端口。

    注 – 大多数 SOCKS 应用程序均会请求端口 0 来执行绑定请求,这表示它们没有端口首选项。因此,用于绑定的目标端口范围应始终包括端口 0。

    可以使用方括号 [ ] 包括范围两端的端口,也可使用圆括号 ( ) 将它们排除在外。例如,[1000-1010] 表示 1000 和 1010 之间包括 1000 和 1010 在内的所有端口号,而 (1000-1010) 表示 1000 和 1010 之间不包括 1000 和 1010 在内的所有端口号。另外,也可以混合使用方括号和圆括号。例如,(1000-1010] 表示 1000 和 1010 之间不包括 1000 但包括 1010 在内的所有端口号。
  10. 在 "User Group" 字段中,键入要允许或拒绝访问的组。
    如果不指定组,连接条目将适用于所有用户。
  11. 从 "Action" 下拉式列表中,为所创建的连接选择允许或拒绝访问。
  12. 从 "Insert" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。
    由于可以采用多个连接指令,因此必须指定对这些指令的评估顺序。

Procedure编辑连接条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Connections" 链接。
  3. 选择要编辑的连接条目,然后单击 "Edit" 按钮。
  4. 根据需要进行更改。
  5. 单击 "OK"。

Procedure删除连接条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Connections" 链接。
  3. 选择要删除的连接条目。
  4. 单击 "Delete" 按钮。

Procedure移动连接条目

条目按其在 socks5.conf 文件中出现的顺序进行评估。可以通过移动来更改其顺序。
  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Connections" 链接。
  3. 选择要移动的连接条目。
  4. 单击 "Move" 按钮。
  5. 从 "Move" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。

配置 SOCKS v5 服务器链接

可以采用与 Proxy Server 相同的方式将 SOCKS 服务器链接在一起,这表示一个 SOCKS 服务器可以通过另一个 SOCKS 服务器进行路由。

Procedure配置 SOCKS 服务器链接

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 如果代理链中的下游代理要求验证才能为任何请求提供服务,请在 "Server Chaining" 部分中,键入用于向链接的 Proxy Server 进行验证的用户名和口令。单击 "OK"。

配置路由条目

可以使用路由条目来配置 Proxy Server,使其通过 SOCKS 服务器对请求进行路由。 路由条目有两种类型,即 SOCKS v5 路由和 SOCKS v5 代理路由。
  • SOCKS v5 路由用于确定 SOCKS 守护程序应对特定的 IP 地址使用哪个接口。
  • SOCKS v5 代理路由用于确定可通过其他 SOCKS 服务器访问的 IP 地址,以及该 SOCKS 服务器是否与主机直接相连。通过 SOCKS 服务器进行路由时,代理路由很重要。

Procedure创建路由条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 在 "Routing" 部分中,单击 "Add" 按钮。
  4. 在 "Host Mask" 字段中,键入与传入和传出连接必须经过的指定接口相对应的 IP 地址或主机名。
    如果键入的是 IP 地址,地址后面应跟一个正斜杠以及要应用于传入 IP 地址的掩码。SOCKS 服务器会将此掩码应用于 IP 地址,以确定其是否为有效主机。请勿在主机掩码条目中使用空格。如果不提供主机掩码,SOCKS v5 条目将适用于所有主机。
    例如,可在 "Host Mask" 字段中键入 155.25.0.0/255.255.0.0。如果主机的 IP 地址是 155.25.3.5,则 SOCKS 服务器会将该掩码应用于此 IP 地址,并确定主机的 IP 地址是否与路由条目所请求的 IP 地址 (155.25.0.0) 匹配。
  5. 在 "Port Range" 字段中,键入与传入和传出连接必须经过的指定接口相对应的端口。端口范围中不应包含任何空格。
    如果不指定端口范围,SOCKS v5 条目将适用于所有端口。
    可以使用方括号 [ ] 包括范围两端的端口,也可使用圆括号 ( ) 将它们排除在外。例如,[1000-1010] 表示 1000 和 1010 之间包括 1000 和 1010 在内的所有端口号,而 (1000-1010) 表示 1000 和 1010 之间不包括 1000 和 1010 在内的所有端口号。另外,也可以混合使用方括号和圆括号。例如,(1000-1010] 表示 1000 和 1010 之间不包括 1000 但包括 1010 在内的所有端口号。
  6. 在 "Interface/Address" 字段中,键入传入和传出连接必须经过的接口的 IP 地址或名称。
  7. 从 "Insert" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。
    由于可以采用多种路由方法,因此必须指定对这些方法的评估顺序。

    注 – 传入和传出连接都应使用指定的接口,否则,传入路由将不同于所配置的接口并会收到错误消息。

Procedure创建代理路由条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 在 "Proxy Routing" 部分中,单击 "Add" 按钮。
  4. 从 "Proxy Type" 下拉式列表中,选择通过其进行路由的 Proxy Server 的类型。可以使用以下选项:
    • SOCKS v5 
      • SOCKS v4 
      • Direct connection 
  5. 在 "Destination Host Mask" 字段中,键入连接条目所请求的 IP 地址或主机名。
    如果键入的是 IP 地址,地址后面应跟一个正斜杠以及要应用于传入 IP 地址的掩码。SOCKS 服务器会将此掩码应用于目标计算机的 IP 地址,以确定其是否为有效的目标主机。请勿在主机掩码条目中使用空格。如果不提供目标主机掩码,连接条目将适用于所有主机。
    例如,可在 "Destination Host Mask" 字段中键入 155.25.0.0/255.255.0.0。如果目标主机的 IP 地址是 155.25.3.5,则 SOCKS 服务器会将该掩码应用于此 IP 地址,并确定目标主机的 IP 地址是否与代理条目所请求的 IP 地址 (155.25.0.0) 匹配。
  6. 在 "Destination Port Range" 字段中,键入代理条目所请求的目标主机的端口。
    请勿在端口范围条目中使用空格。如果不指定端口范围,代理条目将适用于所有端口。
    可以使用方括号 [ ] 包括范围两端的端口,也可使用圆括号 ( ) 将它们排除在外。例如,[1000-1010] 表示 1000 和 1010 之间包括 1000 和 1010 在内的所有端口号,而 (1000-1010) 表示 1000 和 1010 之间不包括 1000 和 1010 在内的所有端口号。另外,也可以混合使用方括号和圆括号。例如,(1000-1010] 表示 1000 和 1010 之间不包括 1000 但包括 1010 在内的所有端口号。
  7. 在 "Destination Proxy Address" 字段中,键入要使用的 Proxy Server 的主机名或 IP 地址。
  8. 在 "Destination Proxy Port" 字段中,键入 Proxy Server 对于 SOCKS 请求将要侦听的端口号。
  9. 从 "Insert" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。
    由于可以采用多种路由方法,因此必须指定对这些方法的评估顺序。

Procedure编辑路由条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 选择要编辑的条目。
  4. 单击 "Edit" 按钮。
  5. 根据需要进行更改。
  6. 单击 "OK"。

Procedure删除路由条目

  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 选择要删除的条目。
  4. 单击 "Delete" 按钮。

Procedure移动路由条目

条目按其在 socks5.conf 文件中出现的顺序进行评估。可以通过移动来更改其顺序。
  1. 访问服务器实例的 Server Manager 并单击 "SOCKS" 选项卡。
  2. 单击 "Set SOCKS v5 Routing" 链接。
  3. 选择要移动的条目。
  4. 单击 "Move" 按钮。
  5. 从 "Move" 下拉式列表中,选择此条目在 socks5.conf 文件中的位置,然后单击 "OK"。

    from http://docs.oracle.com/cd/E19438-01/820-6317/adyqa/index.html 


--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/11/2012 09:11:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)] 独立博客的搭建-完全教程

原文:http://igfw.net/archives/8825

零、序言

           博客,又译为网络日 志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的 课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。能够让读者以互动 的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。博客是社会媒体网络的 一部分。

          博客最初的名称是 Weblog,由web和log两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成we blog,由此,blog这个词被创造出来。中文意思即网志或网络日志,不过,在中国大陆有人往往也将 Blog 本身和 blogger(即博客作者)均音译为“博客”。“博客”有较深的涵义:“博”为“广博”;“客”不单是“blogger”更有“好客”之意。看Blog 的人都是“客”。而在台湾,则分别音译成“部落格”(或“部落阁”)及“部落客”,认为Blog本身有社群群组的意含在内,借由Blog可以将网络上网友 集结成一个大博客,成为另一个具有影响力的自由媒体。

如果要建立一个博客,有两大类方法:

A是可以在一些大型的门户站,如新浪,搜狐,百度,腾讯等免费注册申请一个人博客,这样的好处是申请即用,无需建站知识,而且可以即时与众多网友互动,提高博客的访问量。

B是建立一个自己的独立博客。

          独立博客的好处在于:

              a、拥有自己的自主域名,域名可以是你的名字,网名或其他有含义的词语:dingkee(定可),而申请门户站的博客则是二级或是三级域名,没有自主权,这也是大部分人独立博客的初衷——品牌资产。

             b、博客个性化程度高,门户站的博客通常都做了一些限制,而独立博客则是我的地盘我做主,可以通过添加插件实现某些功能,也可以任意修改博客的主题模板,使你的博客独一无二,更加出众。

             c、博主本人就是博客最高管理员,发表博客无需经过他人审核。

            d、可以升级博客域名的PR值,在博客任意位置挂广告赚钱而不是像韩寒那样为新浪免费打工等等。

如下:

   要搭建一个完整的独立博客,分为三大步:域名、主机的配备,系统的设置和博客内容的充实,以下一 一道来:

一、系统的配备

       主要分为两部分:域名、主机,和博客程序。

        1.域名

             即顶级域名,平常我们遇 到的一般是耳际甚至三级域名,如weibo.com/cndenver(其实不算),cndenver.blog.sina.com.cn,或 applequan.spaces.live.com等,这样有个不好的就是域名太长而且所有权不属于自己,如果什么时候因为有关部门的临时工一不小心失 误,你几十年的精力就可能付诸东流。

            言归正传,最好拥有自己的顶级域名如笔者的dingkee.com,当然 .net, .org 甚至 .info .me也都行,关键看自己的喜好和对博客的定位(如广受赞誉的经典案例del.icio.us),域名需要反映出博客的品味与风格,同时规避可能的风险, 一个好的域名应该具备六个基本要素:短小、容易记忆、不容易与其它域名混淆、不容易拼写错误、与公司名称/商标或核心业务相关、尽量避免文化冲突。可参考 以下几位的观点:

选择域名的一般原则 域名选择的五个要点  从六间房看域名选择和推广

综合起来,也就是说最好是短小有涵义不易混淆的.com域名,虽然能够满足这些条件的域名可能早就名花有主了,这就要看个人创造了,体现了决策的艺术性。

2.主机,即host,即用来运行博客的服务器,可以分为几种类型:自己的服务器、托管、合租、虚拟主机、VPS等,分别适用于不同的类型,区别的话见西部数码的说明。一般情况下,博客的话,选择虚拟主机或VPS合租性能、流量就完全够了。

在确定了域名和主机类型之后,就是去选购了。在选择服务商的时候,由于信息的不对称和市场的快速变化,最好选择那些口碑较好、经营时间较长的SP,可以选择域名主机搭配销售,当然也可以分开购买。国内的主流有万网,新网、易联主机等,非主流有Wopus 、合租庙等,国外的godaddy,bluehost,hawkhost等,都比较值得信赖,笔者采用的是gegehost,一个字“赞”。主机的选择可参见 《独立博客主机推荐与总结》。

具体购买流程见我的《域名主机购买详解》。

3.博客程序的选择

当然,牛人可以自己写一个定制化的出来,但如果时间不够或技术不行的话,也可以选择已有的模板框架,国内国外都有,常见的有wordpress,Blogger,Movable Type,Drupal,Expression Engine等,貌似近来Zblog也比较火,最出名的采用者之一就数月光博客。这方面的选择主要要考虑用户人数、主题插件定制、社区支持、编程语言(PHP,ASP等,不要求精通,但是了解一点更好)和与主机类型的协同作用等。

 

二、系统的设置

所谓设置,也包含两大步:服务器的配置、博客程序的设置。

1.服务器的配置

首先,我们要明白,我们已经拥有了三大部件:域名,主机和博客程序,但问题在于他们现在还是分散孤立的,不会自己联合起来(除非我们一起打包购买,SP会可以帮助我们搭建),我们现在要做的是就是把他们联接起来,以构建完备的个人博客。

联接域名与主机的叫做DNS,简单地说,DND就是在我们输入域名在浏览器时,帮助读者将域名指向主机的环节。DNS可以选择域名服务商自己的,当然也可 以选择独立DNS服务商的更专业稳定一点,如openDNS和国内的DNSpod等,配置好主域名的A记录(将域名指向主机ip)就行了,需要额外功能的 可以还配置CName和MX记录,但不是必须的。

这需要三方面的调整:(1)域名服务商那里设置好DNS Server服务器

(2)在DNS服务商那里设置好A记录等

(3)在主机服务商那里设置绑定域名

2.博客程序的配置

一切就绪后,就可以用FTP软件或主机的Cpanel程序将博客程序上传到host根目录那里了。同时准备好主机的数据库及其账号,直接访问域名就可以开始安装了。可参见《WordPress的安装过程》

安装完成之后,可以点击进入Dashboard设置相关参数,选择主题并安装需要的插件即可。

如图:

用法及教程可参考 wpcourse 和 wordpress详细教程,插件的话请参考《十大最佳WordPress插件推荐》,《20款最佳WordPress插件推荐》。

值得留意的是,新手最好不要吧wordpress安装到host的子目录,这样极可能导致出现一些bug或问题,笔者之前就是专门建立一个blog目录希 望能够以blog.dingkee.com作为博客域名,然后主域名用来干干其他事情,结果安装wp-cache之后与主题冲突导致不能评论,最后不得不 重新安装,所以在此奉劝大家,搭建过程中,如果不是绝顶高手的话,其实随大流还是没错的!

最后总结,本博客采用了Godaddy域名+gegehost主机+DNSPod的DNS服务器+Wordpress程序+Weisay主题的组合,大家可以根据自己的需求灵活变通.

三、内容的充实

辛苦搭建博客,都希望能够很好的发展,高的流量,高的认可,那倒不一定是为了赚些广告费(有也不错^_^),只是这也是对个人努力的认可,这方面哥也是新手,不过过来人的意见可以参考一下:

1,有一定专业的内容。内容不限,只要是自己喜欢、爱好的方面能写文章的方面就可以了。要不断的进行原创的更新,加以适当的宣传,就能不断的积累用户不断地发展。

2,要经过时间的考验。著名的博客都是经过时间考验的,坚持按照上面第一条大约三四年左右,你的博客必将有很多人访问,也能结交很多朋友。但是绝大多数人是无法坚持写下去的。

当然,在文章写得很好之后,考虑赚些外快也不算罪过,以下为可能的盈利模式:

第一种:也是最多人采用的一种-广告联盟

第二种:广告主

第三种:卖链接

第四种:推广产品(也叫产品的博客营销)

第五种:软文服务(也叫软公告,植入性广告)

另外,在埋头耕耘的同时,考虑下SEO常见的技巧,还是会取得事半功倍的效果,毕竟,写出来没人看也是有点小挫折的。

到此,完笔。

原文:http://www.dingkee.com/2012/04/blogeconstruction/



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/11/2012 09:08:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

2012年4月10日星期二

[GFW BLOG(功夫网与翻墙)] Tenacy VPN 2012-4-10日可用地址

原文:http://www.awolf.net/content/blog/tenacy-vpn-2012-4-10-url.html

向url@tenacy.com发邮件得知,Tenacy官方并没有更改访问网址,可是原网址 http://tenacy.homenet.org 偷偷跳转到了 http://tenacy.uk.to ,所以在这里偷偷记录一下,以防万一。

Tenacy VPN 2012-4-10日可用地址:

http://tenacy.uk.to



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/10/2012 08:51:00 AM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

2012年4月9日星期一

[GFW BLOG(功夫网与翻墙)] 中国数字时代获德国之声博客大赛“ 最佳博客奖”提名 欢迎网友为我们投票!

原文:http://chinadigitaltimes.net/chinese

中国数字时代有幸获得了德国之声举办的博客大赛“最佳博客将”提名,编辑组全体人员在感到高兴的同时也欢迎读者为我们投票!

您所获提名的奖项(跨语种)最佳博客奖,既设有评审团选出的评委奖,也设有网友投票决定的公众奖。
因此,欢迎您请您的读者为您投票!

投票也在博客大赛网页上进行。网友可通过twitter或facebook帐户登陆,即可为您的博客投票。我们目前正在加紧解决技术问题,争取让中文网友也可通过新浪微博帐号登陆投票。

我们会及时告知您最新的进展。

投票页面:https://thebobs.com/chinese/

活动介绍:德国之声:行使投票权 为中文博客发声 (参加投票的中文网友有望抽奖获得Kindle Touch哟!)




--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/09/2012 09:49:00 PM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)] SkypeMorph:将Tor流量伪装成Skype & 中国承认遭到匿名黑客攻击

原文:http://igfw.net/archives/8800

SkypeMorph:将Tor流量伪装成Skype

中国和伊朗政府的防火墙已能识别Tor指纹,能根据指纹特征屏蔽Tor通信。现在,计算机科学家发布了一个工具,可以将Tor流量伪装成Skype视频呼叫,绕过专制政权的互联网审查系统。
该程序被称为SkypeMorph,加拿大滑铁卢大学的计算机科学家Ian Goldberg教 授是Tor Project理事会理事,他指出它的目标是让流量看起来像是其它不太可能被屏蔽的协议,除非关闭互联网,但埃及已有先例。SkypeMorph依赖于微 软的Skype服务在终端用户和网桥之间建立加密通道。Tor用户首先向网桥发送一个Skype短消息,执行Diffie Hellman 密钥交换以确保连接可信任。一旦传送完成,SkypeMorph启动Skype视频呼叫网桥,然后立即挂断,网桥和终端用户随后使用正常的Tor协议安全 通信。为了防止Tor流量被网络流量分析识别出来,SkypeMorph利用流量调整功能,将Tor数据包转变成Skype使用的用户数据报协议包。流量 调整还模拟了正常的Skype视频通话产生的数据包大小和时间控制。观察流量的审查者只会看到有人在进行Skype通信。
========
中国承认遭到匿名黑客攻击
在匿名黑客攻击了数百家中国政府和企业网站(至今仍有十多家网站没有恢复),修改主页,发表谴责审查促进互联网自由的声明之后,中国外交部证实了攻击。 外交部发言人洪磊说,"首先,中国的互联网是开放的,网民在互联网上享有充分自由。中国在短时间内拥有5亿网民和3亿博主,这充分显示了中国互联网的吸引 力和开放性。第二,中国政府依法对互联网进行管理。第三,有关报道再次表明中国是互联网黑客攻击的受害者。"匿名黑客除了纂改主页外,还将窃取到的网站信息如管理员帐号、电子邮件地址和电话号码等公布到文件共享网站。除此之外,匿名黑客还公布了翻墙和隐私保护技巧,这群黑客的主要成员不懂中文,他们还在招募中文翻译者。
iGFW博客获德国之声博客大赛"最佳中文博客公众奖"提名 欢迎网友为本博客投票!


--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/09/2012 09:45:00 PM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

2012年4月6日星期五

[GFW BLOG(功夫网与翻墙)] 谷歌教你翻墙技术。。让你看看墙外风光

原文:http://www.lx11.com/index.php/archives/88

如何部署和使用GoAgent  具体步骤如下:

 

  • 如何部署和使用goagent,以Windows为例
    • 申请Google Appengine并创建appid。
    • 下载goagent稳定版 http://code.google.com/p/goagent/
    • 右键用记事本修改local\proxy.ini中的[gae]下的appid=你的appid(多appid请用|隔开)
    • 右键用记事本修改server\app.yaml下的your_appid为你的appid(每次只能上传单个appid)
    • 先启动local\goagent.exe,双击server\upload.bat(Mac/Linux上传方法请见FAQ),上传成功后即可使用了(上传成功后自动关闭upload.bat窗口)(代理地址127.0.0.1:8087)
    • 设置浏览器代理为127.0.0.1:8087
    • 如果是谷歌浏览器chrome请安装SwitchySharp插件,然后导入这个设置http://goagent.googlecode.com/files/SwitchyOptions.bak
    • 去 local 这个文件夹运行 goagent.exe   好了,现在你可以穿墙了。(代理和goagent.exe都运行才可以翻墙)
    • chrome请安装插件,然后导入这个设置http://goagent.googlecode.com/files/SwitchyOptions.bak (可选:可以在是否使用代理选择上非常方便地切换)
    • IE用户推荐使用支持代理切换的浏览器外壳,如maxthon,搜狗等。(可选:可以在是否使用代理选择上非常方便地切换)

 

下面是具体的方法:

GoAgent是 一个使用Python和Google Appengine SDK编写的代理软件。部署和使用方法非常简单,不需要安装Python或者Google Appenginge SDK ,几分钟即可搞定。 具体步骤如下: GoAgent『申请与创建』

首先申请注册一个Google App Engine账号(点此注册)。没有Gmail账号先注册一个, 用你的Gmaill账号登录。

过程详解如下:下图:

0.jpg

 

登录之后,自动转向Application注册页面,如下图:

1.jpg

 

接下来的页面,输入你的手机号码,如下图:

2.jpg

 

需要注意的是,手机号码前面要+86 格式如:+86 13888888888。然后等待收取手机短信,收到短信后(一串数字号码)填入下图表单,点send提交.

3.jpg

 

提交完成之后,GAE账号即被激活,然后就可以创建新的应用程序了。转入“My Applications”页面,点击“Create an Application”新建应用,如下图:

4.jpg

 

一个Gmail账户最多可以创建十个GAE应用。这里我们只创建一个应用就可以了。进入下一步,填写新应用的必要信息,如下图:

5.jpg

 

在上图中第一处添加一个应用名称,如abc555验证一下是否可用,如果通过那么abc555就是你的Appid(记住这个id),而abc555 .appspoft.com就是你的应用服务器地址了。第二个空可随便填,点击提交按钮,如果能看到下图这个页面,就说明你成功创建了一个新的应用,你也可以点击应用名称,进入控制面板进行管理。

6.jpg

 

 

7.jpg

 

8.jpg

 

上图为第3步的截图。把local\proxy.ini中的[gae]下的appid=你申请到的appid(用windows的记事本也可以)

 

9.jpg

 

上图为第5 步截图。(输入AppID按回车,再输入gmail帐号按回车,输入密码后再按回车键(注:输入密码时不会显示)就开始自动上传了,多等一会,上传完毕后黑窗口会自动关.

10.jpg

 

11.jpg

 

你也可登录你的GAE账户,在后台管理查看(上图)

用Firefox浏览器,再安装一个Autoproxy 插件,可以在是否使用代理选择上非常方便地切换。安装插件 安装后,因autoproxy插件里没有goagent代理选项,须自建一个,步骤如下:
重启浏览器后,点击浏览器上方的/工具/autoproxy/代理服务器/编辑代理服务器/添加代理/然后新建一个“名称goagent  主机127.0.0.1  端口8087/确定”,然后选择代理服务器/goagent/确定。(下图)

12.jpg

 

13.jpg

 

运行taskbar.exe (下图)

14.jpg

 

启动Firefox浏览器,(autoproxy插件安装后,在浏览器的右上角或右下角有一个“福”字,点击这个字,绿色为全局代理,红色为自动判别模式)。点击http://www.ip138.com,全局模式下看到下图,穿越成功。

15.jpg

GoAgent 现在越来越简单了,太容易搭建了,且速度飞快。(不建议用IE浏览器,在Chrome和Firefox下没有任何问题,但用IE时常常翻不出去。)Goagent 打开SSL连接的网站,如果浏览器弹出证书无效警告,可以用这样的方法解决:导入证书:在local文件夹下的ssl文件夹有一个ca.crt证书文件;# Firefox依次操作:“首选项-高级-加密-查看证书-证书机构-导入-选择 local-sll-ca.crt 文件–确定”,即可导入成功。(Chrome下直接双击ca.crt安装证书)



--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/06/2012 11:58:00 PM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)

[GFW BLOG(功夫网与翻墙)] 果粉们忍够了!��App Store下载提速脚本

原文:http://hackerzhou.me/2012/04/accelerate-apps-store.html

首先申明一点,我不是果粉,虽然我用各种苹果产品,但是我最喜欢的手机牌子依旧是火腿肠(HTC),最喜欢的笔记本牌子依旧是ThinkPad。写本文的主要目的是方便国内使用苹果设备的同学们,想必大家都碰到过在国内下载App Store龟速的情况。价格不菲的苹果产品在天朝几Mb的带宽下竟然在以数十KB的速度下载,是相当不能忍的事情。其实原因很简单,苹果在大陆没有服务器,外国人做的软件貌似都不太了解中国国情,在这个互联网自由基本靠翻墙的神奇国度里,iTunes不增加动态检测可用的以及最快的服务器的功能真是弱爆了。不知道CEO 库克的来访是不是预示着苹果公司对中国市场越来越重视,不过国外公司无法在境内建造数据中心,必须有落地的本土企业才行,估计苹果服务器要落地内地比较难。

虽说iTunes自身不会那么智能的选择最快的接入点,但是我们可以帮它一把。网上之前也有过介绍类似PingInfoView之类批量Ping工具来找到相应最快的服务器的文章,大都hardcode了一些服务器IP,但哪些文章没有解决的就是如何得到哪些IP的,一旦苹果更改了服务器IP,那么一切都完了。所以,今天下午写了一个简单的Python脚本来动态的挑选最快的服务器。

不多说,先上代码(以下是我写的部分,没有包含我调用的Python Ping的代码,完整版请见:
https://github.com/hackerzhou/Scripts/blob/master/optimize_app_store_hosts.py
完整版脚本可以直接用python optimize_app_store_hosts.py调用,运行完成后会在当前目录下生成两个文件,apple_ip.txt包含了App Store不同的IP地址以及各自的ping响应时间,hosts文件包含了一个自动选取ping响应最快的那个IP生成的hosts列表,大家贴到C:\Windows\system32\drivers\etc\hosts(Windows),/etc/hosts(Mac)文件中就可以了,同时也可以传到越狱了的苹果设备中去。


#!/usr/bin/env python
import sys,socket

PING_TIMEOUT = 1000
def main():
hosts = ['a%d.phobos.apple.com' % i for i in range(1, 200)]
ips = get_ips(hosts)
records = ping_ips(ips)
output(records)

def get_ips(hosts):
ips = []
for host in hosts:
ips.extend(get_ip(host))
return {}.fromkeys(ips).keys()

def get_ip(host):
print 'Getting IP for %s' % host
ip_records = socket.getaddrinfo(host, None, socket.AF_INET)
return [ip_record[4][0] for ip_record in ip_records]

def ping_ips(ips):
ping_result = [(ip, my_ping(ip)) for ip in ips]
ping_result.sort(cmp=lambda x, y: cmp(x[1], y[1]))
return ping_result

def output(records):
record_lines = ['IP: %s\tTime: %f ms\n' % (record[0], round(record[1])) for record in records]
write_file('apple_ip.txt', record_lines)
if len(records) > 0 and records[0][1] < PING_TIMEOUT:
ip = records[0][0]
hosts_lines = ['%s\ta%d.phobos.apple.com\n' % (ip, i) for i in range(1, 2000)]
hosts_lines.insert(0, "#START APPLE STORE#\n")
hosts_lines.append("#END APPLE STORE#\n")
write_file('hosts', hosts_lines)

def write_file(filename, lines):
with open(filename, 'w') as output_file:
output_file.writelines(lines)
output_file.close()

def my_ping(hostname):
return Ping(hostname, PING_TIMEOUT, 8).run(4)

...
(Visit https://github.com/hackerzhou/Scripts/blob/master/optimize_app_store_hosts.py to see the rest part)

代码很简单,因为App Store的hostname都长成类似a1.phobos.apple.com这样,然后我们就从1到199遍历下(其实网上说可能会到2000,我实验下来大量的IP是相同的,真正不同的IP也就只有几十个。保险起见还是遍历了199个,没有验证过,如果大家有相关资料可以回复更正我。)把遍历得到的IP列表去除重复的,然后再挨个ping,最后按照ping的平均响应时间来排序,选择最快的那一个,产生一个hosts文件。本来想直接写入系统hosts文件的,因为Mac下必须用sudo才能写hosts而且随便改别人hosts文件毕竟不太好,容易引起杀毒软件报警,所以就直接写入到一个本地文件中。
Python写起来还是相当方便和简练的,特别是使用推导式构建列表以及lambda语法,用惯了Java再换用Python就会有一种耳目一新的感觉~


Post Tags: , , , 


本文基于 署名 2.5 中国大陆 许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名 hackerzhou 并包含原文链接。
Copyright © 2012 hackerzhou's blog 2009-2012


--
Posted By GFW BLOG 功夫网与翻墙 to GFW BLOG(功夫网与翻墙) at 4/06/2012 11:56:00 PM

--
1、翻墙利器赛风3下载地址: http://dld.bz/caonima326 ,http://dld.bz/caonima745/
2、我们的订阅地址:http://feeds2.feedburner.com/chinagfwblog
3、停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com
翻越防火长城,你可以到达世界上的每一个角落。(Across the Great Firewall, you can reach every corner in the world.)