udp-via-wss__haskell_安装_rust_安装
转载注明来源: 本文链接 来自osnosn的博客,写于 2022-11-23.
MarcelCoding/zia
- 使用 rust 语言开发。
- 还行。
- 服务端和客户端分离
参数使用环境变量传递 - zia-server
能做 ws 或 tcp 接入服务,指定连接到目标 IP 的 udp 口。
本身不支持 wss。如果要 wss,需要前面套一个 https 的反向代理。 - zia-client
本地监听 udp 口,能连接 tcp,ws,wss。
还能配置通过有认证的 http 代理去连接 tcp, ws, wss。
连接 ws 或 wss 支持子目录。比如ws://10.1.2.3:9999/ws-test/
- v0.2.3 有bug。
zia-client客户端,被连接一次,断开之后,就连不上了。
需要重启 zia-client 才行。 - 提供x86-64, arm64 架构的 Linux, windows, mac 编译好的文件。
Linux程序,是动态链接的,基于gnu-libc,不能用于 openwrt 的 musl-libc - 以后可能会提供 静态链接的程序。就能用于 openwrt 了。
- rust 的程序,client,server运行在16GB 内存机器中,初始申请了570MB 虚拟内存,实际才使用不到100kB。
在512MB的op中,申请了150MB虚拟内存。
erebe/wstunnel
- 使用 haskell 语言开发。
- 似乎很不错。
- 服务端和客户端,是同一个程序。
- 服务端,
能做 ws 或 wss 接入服务。可以强制指定目标 IP 和 tcp/udp 端口,也可以由客户端指定。 - 客户端,
本地监听 tcp/udp 口,能连接 ws, wss。
还能配置通过有认证的 http 代理去连接 ws, wss。
连接 ws 或 wss 支持子目录。
比如ws://10.1.2.3:9999/WS-test/
, 需要用--upgradePathPrefix WS-test
指定子目录。
ws 目录,也支持 Basic认证 - 从客户端多次重新连接/断开,都没问题。
- 提供x86-64, arm64 架构的 Linux, windows, mac 编译好的文件。
- x86-64 的Linux程序v4.1,是静态链接的。可以在openwrt中运行。
arm64 的Linux程序v4.1,是动态链接的。不能在openwrt中运行。
而arm64 的Linux程序v3.1,是静态链接的。可以在openwrt中运行。 - haskell 开发的这个程序,运行在16GB 机器上时,初始就申请了256GB 虚拟内存,实际才使用不到100kB。太夸张了。
512M的op中运行,也是申请256G。
在另一个512M的op中居然申请了1024GB,似乎haskell能透过vm看到实体机的实际内存64GB+。
(我见过的golang的程序,初始才申请几百MB 到几GB 的虚拟内存。)
安装 haskell
debian-11
- debian-11 用 apt 安装 haskell
-
apt install haskell-platform 0 upgraded, 113 newly installed, 0 to remove and 60 not upgraded. Need to get 137 MB of archives. After this operation, 1,232 MB of additional disk space will be used. 安装完成后,实际占用硬盘 1287MB.
apt install haskell-stack
占用硬盘 64 MB。
debian-10
-
另一台机器 apt install haskell-platform 升级了 0 个软件包,新安装了 52 个软件包,要卸载 0 个软件包,有 535 个软件包未被升级。 需要下载 154 MB 的归档。 解压缩后会消耗 1,539 MB 的额外空间。 安装完成后,实际占用硬盘 1502MB.
- 第一次执行
stack build
,会自动安装些支持软件,
但它的下载不支持断点续传,可以手工下载后提供给它。stack -v build
看下载到哪里了。 - debian-10 自带的haskell,版本太旧,不好用。
- 【commercialhaskell/stack/】
最新版要求 glibc的版本>=2.29 。不想通过源码升级,避免其他服务出问题。放弃。
安装 rust
【安装_rustup_cargo_rustc_交叉编译测试】
- debian-11,x86架构
- debian-10,arm架构
----end----
转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/16930051.html
来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .