<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[kxxt's blog]]></title><description><![CDATA[kxxt's personal website]]></description><link>https://www.kxxt.dev</link><generator>GatsbyJS</generator><lastBuildDate>Wed, 21 Jan 2026 15:03:12 GMT</lastBuildDate><item><title><![CDATA[Cross compile mainline Chromium for RISC-V from scratch (2026)]]></title><description><![CDATA[I have already written a blog post about cross-compiling mainline Chromium for RISC-V from scratch. However, that blog is pretty much…]]></description><link>https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv-2026/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv-2026/</guid><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv-2026/</content:encoded></item><item><title><![CDATA[Full-Featured Tailscale on Android and Remote Unlocking]]></title><description><![CDATA[Info Revision history:

2025-06-06: Initial publication. 2025-06-14: Add Handling fwmarks Conflicts and Co-existence with Android System…]]></description><link>https://www.kxxt.dev/blog/full-tailscale-on-android-and-remote-unlocking/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/full-tailscale-on-android-and-remote-unlocking/</guid><pubDate>Thu, 05 Jun 2025 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/full-tailscale-on-android-and-remote-unlocking/</content:encoded></item><item><title><![CDATA[Remote Unlocking of LUKS rootfs on Arch Linux]]></title><description><![CDATA[LUKS for rootfs works great until I want to use the machine remotely(with Wake-On-LAN to power on the machine as needed). So this…]]></description><link>https://www.kxxt.dev/blog/archlinux-remote-luks-rootfs-unlock/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/archlinux-remote-luks-rootfs-unlock/</guid><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/archlinux-remote-luks-rootfs-unlock/</content:encoded></item><item><title><![CDATA[Setting up a development environment for Rust for Linux]]></title><description><![CDATA[This blog post focuses on setting up a Rust for Linux development environment that aims for ⚡ blazingly ⚡ fast iteration. Linux dev…]]></description><link>https://www.kxxt.dev/blog/rust-for-linux-dev-setup/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/rust-for-linux-dev-setup/</guid><pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/rust-for-linux-dev-setup/</content:encoded></item><item><title><![CDATA[Fully Dynamically Linked Rust Binary: An Experiment]]></title><description><![CDATA[In the rust world, crates are usually statically linked into the produced binary. There is some dynamic linking support in rust called d…]]></description><link>https://www.kxxt.dev/blog/fully-dynamically-linked-rust-binary/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/fully-dynamically-linked-rust-binary/</guid><pubDate>Sat, 08 Feb 2025 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/fully-dynamically-linked-rust-binary/</content:encoded></item><item><title><![CDATA[Cross compile mainline Chromium for RISC-V from scratch]]></title><description><![CDATA[It is well known that compiling a large software like Chromium can take a lot of resources. Most riscv64 linux distros are directly…]]></description><link>https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv/</guid><pubDate>Sun, 08 Sep 2024 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/cross-compile-chromium-for-riscv/</content:encoded></item><item><title><![CDATA[What is the maximum possible value of RLIMIT_NOFILE?]]></title><description><![CDATA[When developing the eBPF backend for tracexec, I want to know the best way to efficiently iterate over all open file descriptors of a…]]></description><link>https://www.kxxt.dev/blog/max-possible-value-of-rlimit-nofile/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/max-possible-value-of-rlimit-nofile/</guid><pubDate>Sun, 11 Aug 2024 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/max-possible-value-of-rlimit-nofile/</content:encoded></item><item><title><![CDATA[在 Android 上同时使用 Clash for Android 和 Tailscale]]></title><description><![CDATA[Android 系统上限制只能有一个活跃的 VPN 程序，但是很不巧的是，我经常需要使用 Tailscale 来做内网穿透，同时又需要使用 Clash for Android 来做代理。 这时候就需要一个方法来绕过这个限制。一个很自然的想法便是在 Android 上直接跑…]]></description><link>https://www.kxxt.dev/blog/clash-for-android-and-tailscale/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/clash-for-android-and-tailscale/</guid><pubDate>Thu, 07 Sep 2023 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/clash-for-android-and-tailscale/</content:encoded></item><item><title><![CDATA[将 Arduino IDE 移植到 RISC-V 64]]></title><description><![CDATA[在 Arch Linux RISC-V 实习期间，我尝试将 第一代 Arduino IDE 移植到 RISC-V 64 上。这篇文章记录了我在移植过程中遇到的问题和解决方案。 首先， 我们来看一下 Arch Linux 怎么给 Arduino 写的 PKGBUILD (…]]></description><link>https://www.kxxt.dev/blog/porting-arduino-ide-to-riscv64/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/porting-arduino-ide-to-riscv64/</guid><pubDate>Fri, 09 Jun 2023 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/porting-arduino-ide-to-riscv64/</content:encoded></item><item><title><![CDATA[在 iPlay40 Pro 上安装 LineageOS + Magisk]]></title><description><![CDATA[在踩了很多坑之后，我终于在 iPlay40 Pro 上用上了 Lineage OS + Magisk. 于是我写下了这篇博客作为记录，同时也希望会对别人有所帮助。 Danger

Root/刷机有风险，继续阅读即表示你了解 Root/刷机造成的风险…]]></description><link>https://www.kxxt.dev/blog/lineageos-and-magisk-on-iplay40pro/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/lineageos-and-magisk-on-iplay40pro/</guid><pubDate>Thu, 25 May 2023 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/lineageos-and-magisk-on-iplay40pro/</content:encoded></item><item><title><![CDATA[Self Hosting Services on Android Phone]]></title><description><![CDATA[Sometimes I want to self-host some services. But my VPS is already overloaded and I don’t want to rent a new VPS. Maybe it is a good…]]></description><link>https://www.kxxt.dev/blog/self-hosting-services-on-android-phone/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/self-hosting-services-on-android-phone/</guid><pubDate>Mon, 08 May 2023 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/self-hosting-services-on-android-phone/</content:encoded></item><item><title><![CDATA[使用 systemd-nspawn 搭建轻量级的 ROS 开发环境]]></title><description><![CDATA[本学期的嵌入式机器人课的主要内容是 ROS(Robot Operating System). 上课教的是第一代 ROS Melodic (马上在 2023 年 5 月就停止支持了). ROS 官方主要支持 Ubuntu 操作系统, 对我正在使用的 Archlinux…]]></description><link>https://www.kxxt.dev/blog/systemd-nspawn-container-for-ros/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/systemd-nspawn-container-for-ros/</guid><pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/systemd-nspawn-container-for-ros/</content:encoded></item><item><title><![CDATA[Geekgame 2nd WriteUp]]></title><description><![CDATA[用 Firefox 打开 PDF 文件， 按 +  全选，复制粘贴到 VSCode 里，然后按蛇形顺序把 flag 读出来就行。 我因为没找到 MAC 地址对应的邮编，所以在第一阶段只做出了第一问。不过这是我第一次学习使用 pwntools 这类工具…]]></description><link>https://www.kxxt.dev/blog/geekgame-2nd-writeup/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/geekgame-2nd-writeup/</guid><pubDate>Sun, 27 Nov 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/geekgame-2nd-writeup/</content:encoded></item><item><title><![CDATA[Safe Rust Code That Segfaults]]></title><description><![CDATA[Recently I participated in Geekgame 2nd, which is a pretty good CTF competition for CTF newbies like me. One problem in that competition…]]></description><link>https://www.kxxt.dev/blog/safe-rust-code-that-segfaults/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/safe-rust-code-that-segfaults/</guid><pubDate>Sun, 27 Nov 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/safe-rust-code-that-segfaults/</content:encoded></item><item><title><![CDATA[Use Your Android Devices as Cameras for OpenCV]]></title><description><![CDATA[Android devices are common and cheap. You probably have tons of old phones. Within a normal wireless local area network, the latency…]]></description><link>https://www.kxxt.dev/blog/use-android-devices-as-cameras-in-opencv/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/use-android-devices-as-cameras-in-opencv/</guid><pubDate>Fri, 04 Nov 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/use-android-devices-as-cameras-in-opencv/</content:encoded></item><item><title><![CDATA[记我的第一次 CTF: Hackergame 2022]]></title><description><![CDATA[这篇博客的阅读时间估计不对。你并不需要 80 分钟来阅读本文。 这是我第一次参加 CTF 比赛，最后混了个 34 名，感觉还不错。曾经就听说过 CTF 这个比赛，不过一直没有进一步了解，也没有参加过。在 Hackergame 2022 开始之前…]]></description><link>https://www.kxxt.dev/blog/my-first-ctf-hackergame-2022/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/my-first-ctf-hackergame-2022/</guid><pubDate>Sat, 29 Oct 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/my-first-ctf-hackergame-2022/</content:encoded></item><item><title><![CDATA[联通 G-140W-UG 光猫管理员密码]]></title><description><![CDATA[首先使用光猫默认用户登录(用户名和密码在光猫底部贴纸上)，然后从浏览器开发人员工具复制 Cookie： 下面的步骤需要安装 httpie, 读者亦可自行将下面的命令翻译成对应的 curl 命令。

执行下面的命令来获取 csrf_token

在输出中可以找到 csrf…]]></description><link>https://www.kxxt.dev/blog/admin-passwd-of-G-140W-UG/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/admin-passwd-of-G-140W-UG/</guid><pubDate>Tue, 30 Aug 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/admin-passwd-of-G-140W-UG/</content:encoded></item><item><title><![CDATA[使用 NDI Tools 向虚拟机中的腾讯会议共享宿主机屏幕]]></title><description><![CDATA[又到了一年的七月，暑期学校开了计算机图形学与数字孪生这门课，然而它和计算机图形学几乎没有任何关系，这门课的主要内容是学习使用 SolidWorks 软件，于是乎，我出于无奈，又落入到了要每天和异常难用的 Windows 操作系统打交道的境地。上课的方式是腾讯会议…]]></description><link>https://www.kxxt.dev/blog/using-ndi-to-share-screen-with-vm/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/using-ndi-to-share-screen-with-vm/</guid><pubDate>Thu, 07 Jul 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/using-ndi-to-share-screen-with-vm/</content:encoded></item><item><title><![CDATA[绕过校园网登录认证的一种方法]]></title><description><![CDATA[Warning 本文中所提到的绕过校园网登录认证的方法仅供研究和学习使用，在实际使用校园网时请遵守校园网的使用规则！

你校校园网总是每天晚上十一点半左右断网(失去登录认证状态且直到明天早晨无法再登录认证)，但是我发现断网后使用 nslookup 仍然可以解析域名，而且即使把 DNS…]]></description><link>https://www.kxxt.dev/blog/bypass-campus-network-auth/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/bypass-campus-network-auth/</guid><pubDate>Fri, 24 Jun 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/bypass-campus-network-auth/</content:encoded></item><item><title><![CDATA[Alldocube iPlay40 Pro Root 教程]]></title><description><![CDATA[Danger Root/刷机有风险，继续阅读即表示你了解 Root/刷机造成的风险，且本人不对你的行为承担任何责任

解锁前请先开启开发者模式，并在开发者模式菜单选择允许解锁。

Danger

解锁将清除设备上的所有数据！请务必先备份好重要数据。

Warning

本文中的所有操作…]]></description><link>https://www.kxxt.dev/blog/how-to-root-iplay40pro/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/how-to-root-iplay40pro/</guid><pubDate>Tue, 10 May 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/how-to-root-iplay40pro/</content:encoded></item><item><title><![CDATA[[编程感想] 2022年4月16日]]></title><description><![CDATA[最近在进行开发的时候, 总有一种感觉, 我感觉编程时很多知识是通过尝试来尝试出来的，而不是通过阅读文档得来的。我并不清楚这是我的个人体验还是很多人的共同感受。但是，经过思考，我发现这种方式存在着一些问题： 通过尝试得来的知识有时是不准确的，甚至会造成非常严重的后果，一些…]]></description><link>https://www.kxxt.dev/blog/programming-thoughts/2022-04-16/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/programming-thoughts/2022-04-16/</guid><pubDate>Sat, 16 Apr 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/programming-thoughts/2022-04-16/</content:encoded></item><item><title><![CDATA[在 WSL 中使用 GPG 智能卡]]></title><description><![CDATA[Note 本文假设您正在使用 WIndows 11 Build 22000 及以上版本。

我所使用的 WSL 发行版是 Arch Linux, 若读者正在使用的发行版有所不同，则需要自己更改安装软件包的命令。

本文介绍的方法是基于 USBIPD 的，对于 wsl 来说…]]></description><link>https://www.kxxt.dev/blog/wsl-and-gpg-card/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/wsl-and-gpg-card/</guid><pubDate>Thu, 17 Mar 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/wsl-and-gpg-card/</content:encoded></item><item><title><![CDATA[在 Thunderbird 中使用 Outlook 日历]]></title><description><![CDATA[因为 Outlook 的日历并不走 CalDav 协议，所以没办法直接和 Thunderbird 集成，鉴于目前网络上此方面的教程稀少，遂撰写此文。 打开 Thunderbird 的扩展插件页面，安装 TbSync 和 Provider for Exchange…]]></description><link>https://www.kxxt.dev/blog/outlook-calendar-with-thunderbird/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/outlook-calendar-with-thunderbird/</guid><pubDate>Mon, 21 Feb 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/outlook-calendar-with-thunderbird/</content:encoded></item><item><title><![CDATA[Yubikey 开箱上手]]></title><description><![CDATA[新买的 YubiKey 5 NFC 刚刚送到，趁此机会来水一篇博客(主要是跟着 https://github.com/drduh/YubiKey-Guide 这篇教程走) 首先在 Linux 系统上进行设置

我使用的是 Manjaro 操作系统，不同的 Linux…]]></description><link>https://www.kxxt.dev/blog/yubikey-oobe/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/yubikey-oobe/</guid><pubDate>Tue, 11 Jan 2022 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/yubikey-oobe/</content:encoded></item><item><title><![CDATA[在 Gatsby 中与 MDX 一起使用 KaTeX]]></title><description><![CDATA[一开始，我跟据网上的教程为我的使用了 MDX 的 Gatsby 站点添加了 KaTeX\KaTeXKATE​X 支持，比如使用 gatsby-remark-katex， 但是遇到了很多问题，很多都是版本的兼容性问题。 尽管很多情况下，把各种依赖项降级就能解决问题…]]></description><link>https://www.kxxt.dev/blog/using-katex-with-mdx-in-gatsby/</link><guid isPermaLink="true">https://www.kxxt.dev/blog/using-katex-with-mdx-in-gatsby/</guid><pubDate>Fri, 24 Dec 2021 00:00:00 GMT</pubDate><content:encoded>https://www.kxxt.dev/blog/using-katex-with-mdx-in-gatsby/</content:encoded></item></channel></rss>