草庐IT

rust-cargo

全部标签

8. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP改造篇之HPACK原理

用Rust手把手编写一个wmproxy(代理,内网穿透等),HTTP改造篇之HPACK原理项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxyHTTP/2的简介HTTP/1.1发表于1999年,该协议持续被使用到了至今HTTP/2标准于2015年5月以RFC7540正式发表。由于HTTP2对1.1协议保持有高度的兼容,并且主要以字节传输,相比于1.1有更好的传输效率和更强大的传输能力,所以他快速流行起来在2017年5月,全球排名前1000万的网站中,有13.7%支持了

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连接的过程中,握手的流程比单向认证多了几步。单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。双向通信流程,客户端除了需要从服务器端下载服务器的公钥证书进行验证外,还需要把客户端

java - 尝试通过 glassfish(使用 Cargo 和 Maven)设置/使用 mysql 数据源。如何部署mysql连接器?

晚上好!通过Maven使用Cargo,我配置了我的pom.xml以创建一个glassfish实例,然后将我的项目部署到它,然后再运行集成测试。我大部分时间都在那里,因为我已经部署了我的代码,我已经为它设置了一个数据源和一个JNDI资源,但是当我尝试实际使用该资源时,我得到以下异常:WrongclassnameorclasspathforDatasourceObjectjava.lang.ClassNotFoundException:com.mysql.jdbc.Driver在常规安装glassfish时,我可以轻松安装连接器,但在这种情况下,glassfish的安装是自动进行的,每次运