草庐IT

rust-tokio

全部标签

9. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP2改造篇之HPACK示例, 了解http2头信息如何处理

9.用Rust手把手编写一个wmproxy(代理,内网穿透等),HTTP2改造篇之HPACK示例,了解http2头信息如何处理项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy关于HPACK相关数据的示例长度编码的示例,用5位的前缀示例将10进行编码,10小于2^5-1,故01234567+---+---+---+---+---+---+---+---+|X|X|X|0|1|0|1|0|10storedon5bits+---+---+---+---+---+---+

一文读懂全新深度学习库Rust Burn

一、什么是RustBurn?RustBurn是一个全新的深度学习框架,完全使用Rust编程语言编写。创建这个新框架而不是使用现有框架(如PyTorch或TensorFlow)的动机是为了构建一个适应多种用户需求的通用框架,包括研究人员、机器学习工程师和底层软件工程师。RustBurn的关键设计原则包括灵活性、高性能和易用性。灵活性:能够快速实现前沿研究想法,并进行实验。高性能:通过优化措施,例如利用特定硬件功能,如NvidiaGPU上的张量内核(TensorCores)。易用性:简化训练、部署和运行模型的工作流程。RustBurn的主要特点:灵活而动态的计算图。线程安全的数据结构。直观的抽象,

Rust学习 | Rustlings通关记录与题解

2023年6月19日决定对rust做一个重新的梳理,整理今年4月份做完的rustlings,根据自己的理解来写一份题解,记录在此。周折很久,因为中途经历了推免的各种麻烦事,以及选择数据库作为未来研究方向后的一段适应过程,耽搁了很久。2023年10月份秋冬季的开源操作系统训练营又开始了,所以我回来继续整理。继续进行我的os大业。rustlings版本众多,往往几个月内可能就不完全一致,本份题解基于rustlings5.5.1,rustlingslist显示95道题。梳理完成于2023年10月22日。Github仓库Rust学习路径汇总Rust文档网以及为了避免注意力分散,我所选择的路径:Rust

用Rust手把手编写一个Proxy(代理), 动工

用Rust手把手编写一个Proxy(代理),动工项目++wmproxy++gitee传送门github传送门设计流程图flowchartLRA[客户端]-->|Http|B[代理端]-->C[代理服务端]-->D[服务端]B-->|直达|DA-->|Https|BA-->|Socks5|B代理端和代理服务端之间可用自有格式来实现多路复用以减少连接的建立断开的开销,目前暂未实现代理服务端。类结构proxy.rs负责代理结构的存储,监听类型,监听地址,是否有父级地址,认证账号密码等。flag.rs监听类型的二进制结构,可同时支持多结构比较http/https/socks5,如果解析http失败则尝

6. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 通讯协议源码解读篇

用Rust手把手编写一个wmproxy(代理,内网穿透等),通讯协议源码解读篇项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy事件模型的选取OS线程,简单的一个IO对应一个系统级别的线程,通常单进程创建的线程数是有限的,在线程与线程间同步数据会相当困难,线程间的调度争用会相当损耗效率,不适合IO密集的场景。事件驱动(Eventdriven),事件驱动基本上是最早的高并发的IO密集型的编程模式了,如C++的libevent,RUST的MIO,通过监听IO的可读可写从

7. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP及TCP内网穿透原理及运行篇

用Rust手把手编写一个wmproxy(代理,内网穿透等),HTTP及TCP内网穿透原理及运行篇项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy内网、公网内网:也叫做局域网,通常指单一的网络环境。例如你家里的路由器网络、网吧、公司网络、学校网络。网络大小不定,内网中的主机可以互联互通,但是越出这个局域网访问,就无法访问该网络中的主机。公网:就是互联网,其实也可以看做一个扩大版的内网,比如叫城际网,省域网,国网。有单独的公网IP,任何其它地址可以访问网络的可以直接访

10. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP内网穿透支持修改头信息

用Rust手把手编写一个wmproxy(代理,内网穿透等),HTTP内网穿透支持修改头信息项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy修改header参数但凡代理之类,基本上都有修改头参数的需求,就比如要获取客户端的真实IP,需要写入x-forward-for表示客户端的真实IP,要不然经过转发后的HTTP无法获取真实的客户端地址。所以需要在转发的同时能进行处理头部信息的相关参数。故内网端不能仅做流量转发。而且客户端可能直接以纯HTTP2的协议请求内网的数据,

12. 用Rust手把手编写一个wmproxy(代理,内网穿透等), TLS的双向认证信息及token验证

12.用Rust手把手编写一个wmproxy(代理,内网穿透等),TLS的双向认证信息及token验证项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy什么是TLS双向认证TLS双向认证是指客户端和服务器端都需要验证对方的身份,也称mTLS。在建立Https连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端

11. 用Rust手把手编写一个wmproxy(代理,内网穿透等), 实现健康检查

11.用Rust手把手编写一个wmproxy(代理,内网穿透等),实现健康检查项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy健康检查的意义健康检查维持着系统的稳定运行,极大的加速着服务的响应时间,并保证服务器不会把消息包转发到不能响应的服务器上,从而使系统快速稳定的运转在LINUX系统中,系统默认TCP建立连接超时时间为127秒。通常网络不可达或者网络连接被拒绝或者网络连接超时需要耗时的时长较长。此时会超成服务器的响应时间变长很多,而且重复发起不可达的连接尝试也

微软开源 windows-drivers-rs,用 Rust 开发 Windows 驱动程序

MicrosoftAzure首席技术官兼著名Windows软件开发人员MarkRussinovich在社交平台上宣布,启动了一个名为windows-drivers-rs的新开源项目。该项目可帮助开发人员使用Rust开发Windows驱动程序,旨在支持WDM(WindowsDriverModel)和WDF(WindowsDriverFramework)驱动程序开发模型。当前版本的资源库主要由Rustcrates组成,具体包括:wdk-build:用于配置Cargo构建脚本以进行WDK的绑定生成和下游链接的库。虽然此crate的编写目的是灵活地适应不同的WDK版本和不同的WDF版本,但目前仅针对N