问题标签 [socks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1254 浏览

api - uPNP/IGD 相对于 SOCKS 的优势?

我很好奇为什么它更普遍。它有更好的 API 吗?

我记得很久以前当我第一次了解 NAT(我用它来共享拨号 14.4kbps 调制解调器)时,我认为有一天每个家庭都会有一个包含 NAT 的路由器,但它“显然”还需要一个 SOCKS 进程能够打开监听端口。当宽带开始出现时,很高兴看到 NAT 成为一个共同的功能,我认为 SOCKS 会是一个额外的,并且慢慢变得越来越普遍......但什么都没有!我不得不手动转发端口。然后出现了 uPNP,但很少有“严肃”的应用程序支持它,主要是 P2P 共享、游戏和一些 IM。

我还没有看到任何家庭路由器包含 SOCKS(当然,除了基于 Linux 的固件升级)。有人知道为什么吗??

编辑:

正如 Vartec 所指出的,UPnP 是一种零配置和服务发现,而不是代理服务。现在我知道我指的是 IGD 协议,即家庭路由器中存在的 NAT 穿越服务,并通过 UPnP 发现。所以,我的问题应该是“为什么是 IGD/UPnP 而不是 SOCKS?”

0 投票
3 回答
5250 浏览

c# - 通过 SOCKS5 代理连接到 .NET Web 服务

我正在尝试通过 SOCKS5 代理连接到 Web 服务。目前,我的 app.config 如下:

这适用于 http 代理,但它只是不连接到 SOCKS5 代理。我已经在谷歌上广泛搜索了答案,但找不到任何人解决了这个问题,即使我已经找到了几次这个问题。有人知道我该怎么做吗?

0 投票
3 回答
8100 浏览

mysql - mysql代理袜子

简单明了,谁能解释我如何通过代理(socks4/5)连接到 mysql 服务器。最好通过 mysql 命令行(尽管客户端中没有选项)。

如果不能通过 mysql 命令行,那么任何其他方法都可以。

0 投票
1 回答
2996 浏览

java - Java SOCKS 代理

socksProxyHost 属性是否需要 IP 地址?

像上面这样设置,如果我提供 127.0.0.1,我会连接到本地主机上的代理。但是如果我提供本地主机,它不会连接它。我在局域网上没有其他机器可以使用它。那么有人知道它是否适用于主机名,还是我必须解析主机并传入 IP?

0 投票
2 回答
171 浏览

proxy - 我需要一个可以做到这一点的浏览器兼容代理

我正在寻找可以执行此操作的代理服务器。

如果我将我的 Firefox 设置设置为该代理,然后转到谷歌,那么它应该正常“代理”谷歌。只是一个普通的代理。

但我希望有规则。我想将与 http://google.com /... 匹配的任何内容重定向http://12.34.56.78/ ...

我正在考虑写一个,但老实说,必须有一些东西可以做到这一点。

0 投票
2 回答
1760 浏览

c++ - 创建一个没有什么特别的 SOCKS 代理

我正在尝试在 C++ 中创建一个 SOCKS 代理,该代理在 localhost 上作为后台进程运行。

如果用户的浏览器配置为使用代理,我希望所有 HTTP 请求都通过正常的 TCP/IP 堆栈传递。ie 浏览器的行为将与正常情况完全相同。

最终我将添加另一个层来检查请求的资源是否符合某些标准,如果符合,将以不同的方式处理请求。但现在我只是想解决基本问题......如何创建一个不会改变任何东西的 SOCKS 代理?

0 投票
2 回答
7835 浏览

firefox - 带有 socks v5 代理的 java 运行时 6 - 可能吗?

我编写了一个应用程序,它(除其他外)在 Windows 中运行本地服务,充当 Firefox 的 SOCKS v5 代理。

我现在处于调试阶段,发现某些网站无法正常工作。例如,Facebook.com 上用于图片上传的 Java 小程序失败,因为无法查找域。

我的应用程序覆盖了隐藏的 FF 配置设置network.proxy.socks__remote__dns将其设置为true。该应用程序的全部目的是允许在防火墙后访问网站(例如,如果用户在中国),因此此设置对于确保域也被远程解析(而不仅仅是 HTTP 请求)至关重要。

在 JRE6 设置(在此处记录)中没有等效设置,并且由于远程 DNS 解析是 SOCKS v5 而不是 v4 的功能,因为文档似乎暗示我担心这是不可能的。

如何以编程方式确保 JRE 对所有请求(包括 DNS)使用 SOCKS v5 代理?


更新:重现此问题的步骤:

  1. 确保您位于阻止(或重定向)互联网访问(包括 DNS )的防火墙后面
  2. 安装 PuTTY 并在您选择的某个端口号(例如 9870)上添加动态 SSH 隧道。然后登录到可以完全访问互联网的远程服务器
  3. 启动 Firefox,您将无法浏览网页
  4. 在 FF 网络设置中,将 SOCKS v5 代理设置为 localhost:9870
  5. 在 FF 中转到 about:config,将network.proxy.socks__remote__dns更改为 true
  6. 您现在可以浏览网页了。
  7. 转到 facebook.com,登录,转到您的个人资料并尝试使用图片上传器 java 小程序添加一些图片
  8. 它将失败,并出现一系列类似于以下的类未找到错误:

    加载:类 com.facebook.facebookphotouploader5.FacebookPhotoUploader5.class not found

我相信这是失败的,因为 JRE 无法解析该类所在的域。我的这种信念基于以下事实:文档(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html)仅讨论 SOCKS v4(其中据我所知不支持远程DNS)。我的 deployment.properties 文件位于 %APPDATA%\Sun\Java\Deployment。我可以确认我在 Java 控制面板中所做的修改已写入该文件。如果我覆盖 Java 的网络设置而不是“使用浏览器设置”并尝试手动使用 SOCKS 代理设置,我仍然有问题。似乎没有一种简单的方法可以强制 JRE 通过代理远程执行 DNS。


更新 2:

没有 SOCKS 代理,来自我的本地客户端

  • www.facebook.com 解析为 203.161.230.171
  • upload.facebook.com 解析为 64.33.88.161

两个主机都无法访问(因为防火墙)

如果我登录到远程服务器,我会得到:

  • www.facebook.com 69.63.187.17
  • 上传.facebook.com 69.63.178.32

几分钟后,这两个 IP 都会发生变化,因为 Facebook 似乎使用了循环 DNS 和其他负载平衡。

在 Firefox 中设置代理设置后,我可以毫无困难地导航到 www.facebook.com(因为 DNS 正在代理上远程解析)。当我使用 Java 小程序访问页面时,它会因我已经报告的堆栈跟踪消息而失败。

但是,如果我编辑 Windows\System32\drivers\etc\hosts,为 upload.facebook.com 添加正确的 IP,我可以让小程序加载并正常工作(有时需要重新启动 FF)。

这个证据似乎支持我的理论,即 Java 运行时没有解析代理上的 DNS,而只是通过它路由流量。

我的应用程序用于大规模部署,需要与其他站点(不仅仅是 facebook)上的 java 小程序一起使用。我真的需要解决这个问题。


更新 3 Stacktrace 转储 ZZ Coder 请求的文件:

0 投票
2 回答
15119 浏览

java - 支持身份验证的 Java 代理客户端类

我正在寻找一个支持身份验证的 java socks 代理客户端类,有什么建议吗?java.net.Proxy 不支持身份验证。

编辑:我似乎找不到通过套接字将身份验证数据附加到特定代理主机的方法。Authenticator.setDefault() 只允许一组凭证。

0 投票
2 回答
9831 浏览

javascript - 如何在 PAC(代理自动配置)文件中验证 Socks 5 代理

如何设置 PAC 文件以使用带有身份验证的 SOCKS 代理?

以这个简单的 PAC 文件为例:

您将如何使用用户名和密码连接到该 socks 代理?

0 投票
1 回答
590 浏览

authentication - Longest username and password accepted for SOCKS5 authentication?

As seen here https://www.rfc-editor.org/rfc/rfc1929 , I would assume that it is either 255, or unlimited in length.

What is the longest possible username and/or password you can use for authenticating a SOCKS 5 proxy?