1 个不稳定版本

0.0.1 2023年1月6日
0.0.0 2023年8月9日

#39 in #nat

Unlicense

7KB

注意:此crate不包含任何代码。

窄链由多个crate组成,因此在一个仓库中发布它们所有内容是不切实际的。因此,我们选择创建这个crate作为其他所有crate的索引。您可以在以下地址找到每个crate的源代码和详细信息

您也可以使用以下命令安装Narrowlink的所有组件

cargo install narrowlink-gateway narrowlink-agent narrowlink-client narrowlink-token-generator

窄链

Narrowlink Logo

窄链是一个自托管平台,允许您在可能受到网络地址转换(NAT)或防火墙阻碍的网络内建立安全的远程连接。无论您需要从您的笔记本电脑访问家庭计算机、通过您的网络与远程设备共享互联网访问,还是在互联网上发布本地Web服务器,窄链都提供了解决方案。

用例

  • 无需公网IP地址的端口转发:从外部位置访问您的家庭网络内的设备,无需公网IP地址。

  • 共享互联网访问:允许远程设备通过您的网络访问互联网。

  • 发布您的本地Web服务器:即使没有公网IP地址,也可以使您的本地Web服务器在互联网上可访问。

关键特性

  • 隐蔽通信:窄链使用HTTP/S协议上的WebSocket伪装流量为常规网络浏览,增强隐私并绕过防火墙。

  • 细粒度访问控制:根据IP地址、域名和代理名称控制代理和服务访问,允许您实施零信任网络访问(ZTNA)策略。

  • 端到端加密:使用Xchacha20-Poly1305密码和HMAC-SHA256进行端到端加密,确保通信安全。

  • 用户管理:创建不同的用户空间,每个空间具有单独的访问控制策略,通过单个网关为多个用户提供服务。

  • 自动证书管理:使用ACME协议自动生成和管理发布服务的TLS证书。

  • SNI代理:通过在代理服务器上处理带有您的证书的TLS流量,防止网关解密您的TLS流量。

  • CDN兼容性:在CDN服务后面设置网关,以提高您服务的性能。

  • 灵活性:使用SSH或sing-box等工具与Narrowlink协同,添加更多功能。

  • 跨平台和轻量级:Narrowlink是用Rust编写的,轻量级、快速且跨平台,支持主要的桌面和移动操作系统。

架构

Narrowlink的架构由三个主要组件组成:网关、代理和客户端。网关作为中央枢纽,在代理、客户端和浏览器之间路由数据包。代理充当代理,在本地网络中转发目标主机之间的数据包。客户端向代理发送和接收数据包,便于与代理组件进行通信。令牌生成器负责生成用于Narrowlink网络内认证和配置的令牌。

Narrowlink Logo

入门指南

要开始使用Narrowlink,请参阅文档页面。此页面提供两个指南:基本和扩展,这将帮助您了解该平台,并指导您设置Narrowlink网络以及配置您的代理和客户端的过程。

贡献

我们欢迎对Narrowlink项目的贡献。要贡献力量,请阅读贡献指南并遵守行为准则。

许可

Narrowlink在MPL-V2和AGPL-3.0许可证下发布。请参阅LICENSE文件以获取更多详细信息。

无运行时依赖