65.9K
CodeProject 正在变化。 阅读更多。
Home

SOCKS 代理 + SSL 隧道

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.80/5 (40投票s)

2000年2月23日

viewsIcon

2566146

downloadIcon

4124

一个功能齐全的 SOCKS 4 和 5 代理服务器,用 Java 编写。

  • 下载源代码文件 - 41 Kb
  • SSH 代理是一个功能齐全的 SOCKS 代理,用 Java 编写。
    它支持 SOCKS 协议的 4 和 5 两个版本。

    我在 SSH 代理中实现的一个附加功能是通过 HTTP-SSL 隧道建立 TCP 连接的可能性。

    SSH 代理以两种模式工作

    1. 正常模式 - 作为正常的 SOCKS 代理工作
    2. TCP 通过 SHTTP 模式 - 作为 SOCKS 代理工作,但通过 HTTP-SSL 隧道代理建立 SOCKS TCP 连接。

    Sample Image 1
    Sample Image 2

    TCP 通过 SHTTP 模式在用户在 HTTP 代理后方工作,并且没有其他互联网访问权限时非常有用。在这种情况下,用户可以在他的/她的机器上运行 SSH 代理,并配置它以使用通过 HTTP-SSL 隧道建立的 TCP 连接,而大多数代理通常支持这些连接。 这样,他/她将能够使用其他互联网应用程序,例如 IRC、FTP、电子邮件、telnet、HTTP(当然 :-) 但没有缓存等。

    但是,如果 SSH 代理在防火墙后方工作(在 SSL 隧道模式下) - 其他 SOCKS 命令 BIND 和 UDP 关联将无法工作。

    SSH 代理从文件 config.txt 加载其配置,该文件应位于 SSH 代理的目录中

    # Copyright (c) 2000 Svetoslav Tchekanov (swetoslav@iname.com)
    #-------------------------------
    #EnableLog=no
    EnableLog=yes
    #-------------------------------
    SOCKSPort=8888
    #-------------------------------
    #UseSHttpProxy=1
    UseSHttpProxy=0
    SHttpProxyHost=<SHTTP Proxy Host/IP>
    SHttpProxyPort=<SHTTP Proxy Port>
    

    变量 UseSHttpProxyEnableLog 是逻辑型的。因此,您可以指定它们的值为 10YesNo

    © . All rights reserved.