Skip to main content

Build Peronal VLAN Web Services with Tailscale, Caddy and Soft Router

· 4 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

Tailscale is good enough to build a basic VLAN than connect your devices together under 100.64.0.0/10. But it's not enough for me:

  1. I have to use multiple private networks with different subnet (10.123.0.0/16, 192.168.1.0/24, etc.), and I don't want to configure every device for tailscale.
  2. I have multiple always-on devices (a cloud server, an Orange Pi,a work PC, and a home PC), where I want to deploy private services (http server, aria2, etc.)
  3. I have my own domain (namely example.com for decription), and I want to use it for HTTPS and covinence.

如何在Kubenetes集群中部署Stun服务器

· 3 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

一般地,WebRTC需要两台主机建立P2P连接从而完成直接的数据传输。然而,在一些情况下,这是不可能的(例如在K8s集群中),为此,我们需要STUN/TURN服务器的支持。而STUNner就是这样的一个专门为K8s集群准备的Stun/Turn服务器。本文将讲述如何快速部署Stunner到K8s实验集群中以开展非生产用途的测试。

自定义Unity编译内容

· One min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

与Unity Editor环境不同,在生成Unity Build时,Unity只会选择平台对应部分的代码构建,而跳过非本平台的部分。如,WindowsBuild只会包含Windows相关的内容,不会有Android的内容。那如果我想在LinuxBuild中包括Windows相关的API,该怎么办呢?

使用DocFx生成Java项目文档网站

· 6 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

DocFx是一个非常好用的文档生成软件,其优势在于配置简便,能够方便地生成API文档+人工文章文档有机结合的静态文档网站,而不需要过多的工作。

然而,DocFx的自动API文档生成目前仅官方支持.NET项目,而Java项目的默认Javadoc只包括API文档,缺乏人工文档辅助而过于拉跨。笔者问了Bing,发现Java平台下确实没有特别好用的文档生成工具,因此最后还是决定使用DocFx加上一个非官方插件docascode/docfx-doclet(Archived)的Fork: googleapis/java-docfx-doclet,用于构造HIT-ReFreSH/JMobileSuit的文档网站。这玩意坑还是很多的,笔者进行了许多小修小补。

Use Docs Layout in Docusaurus Blog

· 4 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

Docusaurus provides a powerful blog plugin as you can see in my site. However, I dislike two points of the docusaurus blog:

  1. I cannot collapse sidebar in blog pages rather than in docs pages.
  2. Too much blank space in maximumized blog pages.

Through swizzling, I migrated Docs layout to the Blog layout, the steps are as following:

解决Unity XR中UI不可交互的问题

· 2 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

笔者这一周来都在学习如何在Unity XR场景中构筑一个可交互的UI,可是无论怎么搞UI都没有反应,控制器的光线根本就照不到UI上,更别提交互了。然而,就在刚刚,这个谜题被解开,原因非常难绷。

深度订制属于自己的docusaurus网站

· 4 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

本站在原始的docusaurus基础上主要定制了两部分:

  • 主题配色系统
  • 右上角的Social图标

已经有前人给出了许多更详细的定制化方法,但是我没有时间过多参考。最近比较忙,今天就简单写写吧。

迁移到新Unity Input System: 最佳实践

· 9 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

Unity (new) Input System是Unity官方于2018年全新引入的一套跨平台、高易用性、高扩展性的新生代输入处理框架。关于如何在新项目中使用新输入系统,官方文档和大部分博客都给出了相当完善的解决方案,前任之述备矣。

然而,网络上却鲜有关于如何从旧的InputManager等组件快速迁移到Input System的相关技术文章。对于大部分的旧项目而言,迁移以便使用新特性,实现跨平台等功能非常重要。在这两天,我将一个较为大型的开源游戏OpenHogwarts/hogwarts: Hogwarts (Harry Potter) open sandbox game made in Unity迁移到Unity 2022和新输入系统(原始PR),将实践的过程简要整理成本文,希望可以对后来者有所帮助。

打造可扩展跨平台的科研工具链

· 13 min read
Ferdinand Su
PhD Student @ HIT-ICES, Founder & Manager @ HIT-ReFreSH, C# developer.

在填补了“绘图”这一软肋后,我完成了我跨平台科研工具链的最后一块拼图。这套工具链包含了三个软件:Zotero,Obsidian和Draw.io。唯一美中不足的Obsidian并非开源软件。在这篇博客中,我将简要分析我的配置和用法。