问题标签 [websockify]

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 投票
1 回答
705 浏览

c++ - Emscripten -> websockify -> raw tcp 意外挂断

我在使用 emscripten 连接到原始 TCP 服务器表单编译的 Web 应用程序时遇到问题。当我从桌面版本的应用程序连接时,一切都很好。

在我的 VPS 上,我通过以下方式下载、编译和运行 websockify:

接下来我编译并运行我的服务器,代码:http ://pastebin.com/KiehDrvk(来自 BeeJ 网络)

我的客户端代码非常简单(仅用于测试目的),一些代码:

因此,当我在桌面上运行它时,客户端连接到服务器并按预期等待。

服务器终端返回:

Websockify 终端返回:

但是当我尝试连接表单网络版本时,客户端连接并突然断开连接:

服务器终端返回:

Websockify 终端返回:

有人知道吗?

0 投票
1 回答
4543 浏览

ssl - noVNC websockify ssl

我正在尝试在 Ubuntu 16 上使用 Websockify 通过本地家庭沙箱上的 https 访问 noVNC --> https://ubuntu:6080/vnc.html?host=ubuntu&port=6080

到目前为止采取的步骤:

1.在我的本地主机上自行签署了一个测试证书,即使它通过证书的 https b/c 有一条红线,我也可以访问它。

2.下载最新的noVNC和websockify。

3.将 websockify 放在 noVNC 的 utils 目录中。

如果我通过 launch.sh 运行 noVNC:

在 lib 具有自签名的 .key、.pem 和 .csr 的地方,我的 bash 读取:

当我转到浏览器并加载上面显示的 url 时,我得到了 vnc.html 页面。但是,当我使用 https 而不是 http(我的原始要求)时,我收到以下错误:

经过进一步审查,我发现了一个SO 帖子,该帖子将同样的错误指向了一个可以通过 verify=False 解决的 python 问题。然而,在我进入兔子洞之前,我对我一无所知,我想我会问是否有人知道为什么我不能通过 https 访问 noVNC?

0 投票
0 回答
72 浏览

node.js - 为什么需要实现 websocket 规范来传输二进制数据?

我有点困惑。我现在一直在寻找 websocket。仍然有一个小小的困惑。

1) websocket 无论如何都使用底层的 TCP/IP 将数据传输到客户端和服务器。数据的格式也可以是“二进制”。

以下是我受害的几个例子。

使用 Node.js 和 WebSockets 流式传输二进制文件

问题:

现在,有一些工具,如 websockify ( https://github.com/kanaka/websockify ) ,实现了 websocket 协议本身,并进行二进制传输。这个 websockify 与从 TCP/IP 服务器读取后直接发送二进制数据有何不同?

0 投票
1 回答
5191 浏览

javascript - 使用 websockify 的 Web 服务器的“websocket 包装”的最小示例

一些针对菜鸟的 webdev 基本问题。

背景:我有一个使用websocket协议的 javascript 客户端和一个很好的旧 java 服务器,我完全可以通过telnet. 我希望他们能够在本地相互通信(传递字符串就足够了)。

为此,我绝对不想对客户端进行深度更改。在此之前,我尝试按照指南使服务器适应websocket,甚至通过了握手,但它变得非常混乱。

所以在这一点上,我相信处理这个问题的最好方法是通过像websockify这样的 TCP->WebSocket 代理来提供服务。如果我的解释正确,它将“包装”服务器的进程,在新端口中打开“升级”连接。并且websocket客户端应该能够通过该端口直接与服务器通信。但是我一直在尝试用不同的方法来实现这一点,但没有成功,因此我的问题是:


  • 有没有更好的方法来处理这个问题?(这可以解释谷歌的稀疏性,我可以想象这种情况经常发生!)
  • 如果“包装”是最好的方法并且我做对了,那么如何实施呢?

实施 - 编辑:为了测试,我尝试构建一个简单的回显服务器:

  • 我正在运行这篇文章中建议的非常简单的命令行回显服务器:ncat -l 2000 -k -c xargs -n1 echo. 通过与它交谈会telnet localhost 2000返回所需的回声。到目前为止,一切都很好。

  • 我使用安装了websockifyapt-get,并按如下方式运行它:websockify 2023: 2000这应该通过端口 2023 上的 websocket 连接打开同一服务器。

  • 在这一点上,我仍然可以通过 进行通信telnet localhost 2000,但是我在 2023 端口上没有那么幸运。这是我迄今为止尝试过的:

    • 下载telsocket二进制文件,并调用./telsocket -url ws://127.0.0.1:2023. 回复:errrr dial tcp 127.0.0.1:2023: connection refused
    • 克隆的wssh(websocket 的命令行 shell),看起来很有前途。我能够安装它,但运行wssh -l localhost:2023返回NameError: name 'PROTOCOL_SSLv3' is not defined。显然有些问题gevent(没有进一步研究)。
    • websockify测试了's repo中的几个示例,例如wstelnettests中的示例。他们都给了我一个代码 400,消息 Invalid protocol selected

后续编辑:深入研究 websock.js 和 wstelnet.js文件,通过向 JS 控制台发出以下命令,我能够获得更具体的结果:

因此,如您所见,我能够建立连接,但仍然没有得到回声。错误也可能出现在服务器端,因为我尝试的每个工具都失败了。帮助!丁:


备注:由于它是为了在本地工作,我不在乎有wsor wss。只要可行且有效,我也没有首选的方法来执行此操作。如果它是相关的,我在 Ubuntu15.10 + Firefox47.0

0 投票
1 回答
1850 浏览

node.js - 带有 websockify 的 Node js 服务器

我需要将 websockets 与普通套接字连接,websockify 看起来似乎是答案,但我真的不明白我需要做什么这个信息:https ://www.npmjs.com/package/node-websockify ,我需要创建一个Node js服务器,还是只运行到我的页面??

0 投票
1 回答
367 浏览

python - 我无法配置 websockify、nodejs 和 java 实现,我使用的服务器是 TightVNC

基本上我想运行 websockify 来代理 websockets,python 版本与 windows 相去甚远。我需要详细的特定帮助、链接或任何解释如何通过 nodejs 或 java 配置/使用 websockify 的东西。

0 投票
3 回答
233 浏览

node.js - 将 Nodejs tcp 服务器连接到 websockit

我正在尝试使用 javascript 中的 websockify 将我的节点 tcp 服务器连接到我的 socket.io 服务器。我在https://github.com/novnc/websockify/wiki/websock.js找到了它的 git repo ,但似乎找不到如何在代码中启动它。任何人都可以提供一个示例或指向我的 js 版本的某种文档吗?另外,当我从 npm 下载 websockify 时,我没有收到 websock.js,如果有人能告诉我如何做到这一点,我将不胜感激。

0 投票
1 回答
215 浏览

tls1.2 - 我正在使用最新版本的 websockify 0.8.0,但它不支持 TLS-1.2

我使用的是最新版本的 websockify 0.8.0,但默认不支持 TLS-1.2。我正在寻找为sslscan --no-hearbleed hostname:6080命令输出显示的强密码。

添加一些额外信息以使问题更清楚:在运行以下命令时,3DES 密码的强度最低,即C

nmap --script ssl-enum-ciphers -p 6080 主机名

在同一台主机上,端口 443 禁用了 DES。因此,对于 nginx,它似乎已得到照顾,但对于 python-websockify,它仍然存在。

简而言之,我正在寻找在主机端口 6080 上禁用 3DES 密码的方法。提前致谢。

0 投票
1 回答
244 浏览

javascript - websockify ws.send 没有向 telnet 服务器发送字符串

我有一个运行 circlemud 的 telnet 服务器。我有 websockify 作为 python 代理连接运行。我可以使用 websockify 附带的 wstelnet.html 接收数据以及发送数据。但是,当我使用包含的 simple.html 文件或以下代码时,它会接收数据但不会发送,或者至少 telnet 服务器不会收到任何东西。

我假设我收到的数据是 blob,因为这是我可以解析它的唯一方法。当您将原始数据输出到控制台时,它不会指定它是什么数据类型。我也使用默认的 Websocket api,我唯一的包括 jquery。

在下面我收到消息$('#message').html("asking for username"); 正如预期的那样,但是ws.send(blob); 从不发送任何东西,我也尝试过常规ws.send("test123"); 无济于事。

编辑:显示来自sudo tcpdump -v -XX port 4000的日志输出

编辑2:

0 投票
1 回答
250 浏览

rdp - 成功登录 noVNC 后打开特定 URL

我已经设置了 vnc 服务器并使用noVnc访问它,效果非常好。

在每次成功登录时,我都想执行以下操作:

  1. 打开 google-chrome - 这可以通过将 chrome 添加到启动应用程序来完成。
  2. 每次打开一个不同的 URL,所以这必须在登录时从我的浏览器传递。每次登录时在 chrome 上打开它。

任何指针将不胜感激。