This article also has an Chinese version . A year ago, I released an open-source project called Rust2Go (related blog: Design and Implementation of a Rust-Go FFI Framework ), which provides high-performance asynchronous and synchronous call support from Rust to Go. This project serves as the foundation for several community projects and multiple internal projects within my company. I’ve continued…
This article also has an Chinese version . This article discusses my thoughts, designs, and implementations on creating a reliable context-passing component in Rust. My project, certain-map , has been open-sourced (it was first released over a year ago, with more improvements made recently, which I will discuss later in this article). Feel free to use it! Project URL:…
This article also has a Chinese version . This series of articles mainly records my attempt to implement a Hypervisor using Rust. The table of contents: Mini VMM in Rust - Basic Mini VMM in Rust - Mode Switch Mini VMM in Rust - Run Real Linux Kernel Mini VMM in Rust - Implement Virtio Devices This article is the fourth in the series. It will cover implementing a Virtio Queue and virtio-net from…
This article also has a Chinese version . This article will introduce the design and implementation of a Rust FFI (Foreign Function Interface) framework that I created for calling Golang code from Rust. It will cover the design from the perspective of a designer and implementer, considering various options and explaining the choices made and the reasons behind them. It will also cover some…
This article also has a Chinese version . An HTTP Server internally includes many parts: protocol implementation (h1, h2, compression, etc.), connection state management (keepalive), request distribution, middleware, business logic, and more. Users could implement all of these themselves, however, apart from the business logic, the rest are fairly common capabilities. By decoupling these generic…
This article also has a Chinese version . This series of articles mainly records my attempt to implement a Hypervisor using Rust. The table of contents: Mini VMM in Rust - Basic Mini VMM in Rust - Mode Switch Mini VMM in Rust - Run Real Linux Kernel Mini VMM in Rust - Implement Virtio Devices This article is the third in the series, where we’ll do some preparatory work and actually get a real…
This article also has a Chinese version . This series of articles mainly records my attempt to implement a Hypervisor using Rust. The table of contents: Mini VMM in Rust - Basic Mini VMM in Rust - Mode Switch Mini VMM in Rust - Run Real Linux Kernel Mini VMM in Rust - Implement Virtio Devices This article is the second in the series, which mainly introduces a few common operating modes and switch…
This article also has a Chinese version . This series of blog posts mainly records my process of trying to implement a Hypervisor in Rust. Why am I writing this series? A few months ago, when I was exploring KVM in my spare time, I encountered some difficulties. Many articles on the Internet did not explain things clearly, and there wasn’t a single article that could build a VMM from scratch and…
This article also has a Chinese version . This article mainly analyzes the currently popular Trojan protocol and proposes a better solution based on the characteristics of current man-in-the-middle (MITM) attacks. The implementation of this solution is ShadowTLS, for which you can find the complete code and pre-compiled binaries on Github .
This article also has a Chinese version . This series of articles mainly introduces how to design and implement a Runtime based on the io-uring and Thread-per-core model. Our final Runtime product Monoio is now open source, and you can find it at github.com/bytedance/monoio . Rust Runtime Design and Implementation - General Introduction Rust Runtime Design and Implementation - Design…
This article also has a Chinese version . This series of articles mainly introduces how to design and implement a Runtime based on the io-uring and Thread-per-core model. Our final Runtime product Monoio is now open source, and you can find it at github.com/bytedance/monoio . Rust Runtime Design and Implementation - General Introduction Rust Runtime Design and Implementation - Design…
This article also has a Chinese version . This series of articles mainly introduces how to design and implement a Runtime based on the io-uring and Thread-per-core model. Our final Runtime product Monoio is now open source, and you can find it at github.com/bytedance/monoio . Rust Runtime Design and Implementation - General Introduction Rust Runtime Design and Implementation - Design…
This article also has a Chinese version . This series of articles mainly introduces how to design and implement a Runtime based on the io-uring and Thread-per-core model. Our final Runtime product Monoio is now open source, and you can find it at github.com/bytedance/monoio . Rust Runtime Design and Implementation - General Introduction Rust Runtime Design and Implementation - Design…
This article also has a Chinese version . This series of articles mainly introduces how to design and implement a Runtime based on the io-uring and Thread-per-core model. Our final Runtime product Monoio is now open source, and you can find it at github.com/bytedance/monoio . Rust Runtime Design and Implementation - General Introduction Rust Runtime Design and Implementation - Design…
This article also has a Chinese version . This article mainly summarizes common issues and thoughts in proxy framework design ; it also touches on some engineering designs within the Rust + Tower ecosystem. Although there’s already plenty of discussion on this topic online, who knows, maybe after reading this article, you’ll come up with a new idea? Found out that since joining the company, I’ve…
This article also has a Chinese version . This article will introduce an unobtrusive method of encrypting cloud storage (using OneDrive as an example), and the code has been open sourced after the project was essentially complete.
This article also has a Chinese version . The Raspberry Pi has already ruined three of my SD cards. Although I was able to directly contact SanDisk and Samsung customer service on two occasions, where they replaced the SD cards unconditionally adhering to the warranty terms. However, SD (TF) cards can’t endure many write cycles. Depending on the type of flash memory cells, MLC (Multi-Level Cell)…
This article also has a Chinese version . This article briefly summarizes current methods for accelerating internet access and details an acceleration project I developed based on Shadowsocks: go-shadowsocks-magic . UPDATE 2019-10: Building on the ideas from this project, I extended it to support arbitrary TCP connections by decoupling the multi-connection acceleration: Rabbit TCP , which shows…
This article also has a Chinese version . Let’s dig out some past work. These were some projects I worked on in July last year, and some of them might have become obsolete by now. Last summer, I stumbled upon this device called the MiaoMiao Printer. As someone who enjoys tinkering, I got involved with reverse engineering and developing related to the MiaoMiao Printer. All the resources are…