Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2022


Interface selection when Linux has multiple network interface at the same time

当Linux设备连接多个网络接口时,默认路由的选择可能会导致意外的结果。这篇文章通过一个实际案例,探讨了在同一台Linux设备上同时连接两个不同子网(一个具备互联网访问能力的公网和一个纯内网)时遇到的网络连通性问题。作者详细描述了故障现象:尽管设备显示有多个网络接口在线,但尝试访问互联网却收到“目标主机不可达”的错误提示。 通过深入分析路由表,文章揭示了问题的本质原因——系统默认选择了优先级更高的内网路由作为默认出口,而忽略了具备实际互联网连接能力的外网接口。为了解决这一问题,作者介绍了如何通过调整默认路由的度量值(metric)来重新定义网络流量的路径选择策略。 文章分享了具体的操作步骤:包括查看当前路由表、删除现有默认路由以及添加新的默认路由。同时,还提供了验证配置效果的方法,例如使用`ip route get`命令查询特定目标地址的路由信息或通过`ping`测试互联网连通性。 最后,作者总结出一个关键原则:当系统中存在多个默认路由时,可以通过调整路由的度量值来控制流量优先选择哪个网络接口。这种机制为管理员在复杂网络环境中灵活配置多网卡设备提供了实用指导。 这篇文章不仅解决了实际问题,还引发了一个值得深入思考的问题:**除了调整度量值之外,还有哪些方法可以优化多网卡环境下的路由策略?如何更精细地控制不同类型的流量通过特定的网络接口?这些问题都值得读者在阅读后进一步探索和实践。--DeepSeek

IP Linux Network Routing Interface Linux Networking

Read from joystick output based on C#

最近购买了一款Thrustmaster TCA Airbus Throttle手柄,并打算利用C#编程语言通过SharpDX.DirectInput库实现对其输入信号的读取,进而用于控制数据中心服务器的风扇转速。文章介绍了如何安装必要的NuGet包`SharpDX.DirectInput`,并展示了使用C#代码从游戏控制器或操纵杆设备中获取输入数据的具体实现方法。通过这段代码,可以实时监控手柄的各个操作事件,并将其转化为可编程信号,从而为自动化控制提供硬件支持。这种基于硬件的手动控制方式不仅能够提升数据中心散热管理的灵活性,还可能为其他类型的工业控制系统带来启发。你是否也在寻找一种高效的方式来将物理设备与软件系统集成?不妨尝试这种方法,探索更多可能性!--DeepSeek

C# Game SharpDX DirectInput Joystick Thrustmaster TCA

区分你在日常生活中的常用软件类型

这篇文章探讨了我们日常使用的三种常见软件类型——互联网软件、企业软件和开源软件,并深入分析了它们各自的优缺点以及背后的设计理念。互联网软件由大型公司开发,以盈利为目的,追求极致的用户体验和性能,但也伴随着广告泛滥、隐私问题和高昂的实际成本。企业软件则注重功能丰富性和协作能力,但设计低劣和维护困难常常令人头疼。开源软件虽然缺乏产品设计和易用性,但却以其高度的可扩展性和社区支持成为解决特定问题的理想选择。文章通过对比这三类软件的特点,揭示了它们在功能、性能、隐私、广告等方面的本质区别,并呼吁读者根据自己的需求选择合适的工具。那么,在面对复杂的数字化生活时,你是否清楚哪种类型的软件最适合自己呢?不妨仔细思考一下!--DeepSeek

User Experience Internet Software Enterprise Software Open Source Software Software Comparison Development Patterns

Windows 11 挖宝游戏

这篇文章带你探索Windows 11中的隐藏宝藏——那些看似被遗忘的经典功能。从经典的文件浏览器到令人怀念的IE浏览器,再到上古的主题设置和屏幕保护程序,你会发现微软并未完全抛弃这些老朋友。通过简单的操作,如输入特定命令或注册表修复,你甚至可以唤醒沉睡的经典照片查看器和记事本。文章还展示了如何恢复经典任务管理器,虽然不能与新版本同时使用,但依然能满足怀旧情怀。如果你对Windows的历史充满好奇,不妨跟随作者的脚步,继续挖掘更多隐藏的功能和宝藏!--DeepSeek

Windows 11 Classic Tools Hidden Features Built in Features Legacy Software System Restore

MySQL allow remote connection (For root and other users)

本文详细介绍了如何在MySQL中配置远程连接权限,包括为root用户和其他普通用户设置远程访问权限的步骤。文章首先指导读者查看当前数据库的状态,接着分别针对所有用户、root用户和其他用户提供了具体的配置方法和SQL命令。对于root用户,文章强调了需要更新其host字段以允许从任何IP地址进行连接,并要求重启MySQL服务以应用更改。而对于其他用户,无论是创建新用户还是修改现有用户的权限,都需要确保用户能够在本地和远程环境下访问数据库,并通过授予权限来保障数据的安全性。最后,文章提醒读者在完成所有配置后,需要刷新权限并退出控制台。通过这些步骤,您可以轻松地为MySQL数据库启用远程连接功能。您是否已经成功配置了MySQL的远程连接?或者在操作过程中遇到了哪些问题和挑战?--DeepSeek

bash Database Linux Ubuntu Remote Management MySQL

ESXI converts Thick Provisioning Disk back to Thin Provision and reclaims space

这篇文章详细介绍了如何将ESXi环境中 Thick Provisioning 磁盘转换回 Thin Provision 并回收存储空间的方法。作者通过实际操作展示了如何解决因误操作导致的虚拟磁盘膨胀问题。文章中提供了具体的操作步骤,包括删除快照、启用SSH访问、使用命令行工具(如 `vmkfstools`)进行磁盘复制和重命名等操作。这些步骤可以帮助用户将过大的 Thick 磁盘转换为 Thin 磁盘,并释放占用的空间。最后,文章还验证了转换后的结果,并建议通过创建快照来进一步确认存储空间的恢复情况。如果你也遇到类似的问题,这篇文章提供了实用的解决方案和工具使用方法,值得深入阅读并尝试。此外,你是否也在处理虚拟机存储优化时遇到过类似的挑战?这篇文章可能会为你提供一些启发和解决思路。--DeepSeek

VMware ESXI VMFS Reclaim thin provisioning thick provisioning


Aiursoft Nextcloud 事故调查、分析与总结

这篇文章详细描述了一次因备份配置错误导致系统盘被填满的服务器故障事件。事故原因是由于存储和计算分离操作中,备份挂载点 `/mnt/backup` 未能正确连接,导致备份数据写入了系统盘,最终使系统盘空间耗尽,引发服务中断和潜在的数据丢失风险。文章总结了三点教训:备份操作存在高风险;需建立磁盘空间监控告警机制;挂载点异常可能导致严重后果,并提出了改进措施,包括在备份前验证挂载状态、设置剩余容量报警等。最后,文章附上了一个改进后的备份脚本示例,以避免类似问题再次发生。--DeepSeek

bash Linux Backup Nextcloud Disk Incident

Install your own NFS ESXI storage server

搭建高效NFS存储服务器需要从硬件选型、系统安装与配置、网络调优以及性能优化等多方面进行综合考虑,文章详细介绍了如何通过选择支持10Gbps的网卡和高速硬盘来提升传输速度,在软件层面则推荐使用轻量级的Debian系统,并通过绑定技术增强网络稳定性;在网络配置上强调了MTU设置的重要性,同时在存储部分给出了RAID级别的建议以及文件系统的优化方案;服务部署环节详细说明了NFS参数的调整与防火墙策略的设定,确保高效稳定的服务运行;最后通过CrystalDiskBench等工具进行性能测试,验证搭建效果,并借助Cockpit监控网络和磁盘使用情况,确保系统在高负载下的表现符合预期。--DeepSeek

Linux Storage NFS VMware ESXI Vsphere Dell IPMI Debian Server

If a Ubuntu server should run apt upgrade automatically?

这篇文章探讨了Ubuntu服务器是否应该自动运行`apt upgrade`的问题。作者首先描述了手动升级的繁琐过程,并提出了自动化升级的好处:节省时间、及时获取安全更新以及减少一次性升级的压力。然而,尽管自动化升级看似高效且安全,作者指出这并不适用于所有场景。 文章进一步分析了不应自动升级的原因:维护问题排查变得困难、极端稳定的环境需求无法容忍任何变化、功能性更新可能导致不可预见的故障、重启操作可能带来致命影响。最后,作者提出了只有在系统允许降级、无状态、具备完美备份、持续在线以及需要最新功能更新的情况下,才建议使用自动化升级。 这篇文章引发了一个值得深思的问题:在追求效率与稳定性的平衡中,我们应该如何权衡自动化的利弊?--DeepSeek

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本文介绍了如何在Ubuntu 22.04系统上安装和配置Cockpit工具,包括基本安装、认证设置、网络问题解决、Navigator插件安装以及通过Caddy实现HTTPS访问的步骤。文章首先展示了简单的安装命令,并强调了使用非root用户进行操作的重要性。随后,针对可能出现的网络错误,详细说明了如何调整Netplan配置文件以确保网络渲染器正确工作。此外,还介绍了如何通过GitHub API自动下载并安装Navigator插件,进一步增强了Cockpit的功能性。最后,文章提到了使用Caddy作为反向代理来实现安全的HTTPS访问,并提供了一个示例配置。你是否了解为什么需要避免使用root用户直接操作?你知道如何通过Netplan解决网络渲染器的问题吗?navigator插件在Cockpit中起到了什么作用?为什么作者推荐使用Caddy来进行反向代理?这些问题的答案都将在文章中找到,而你又会如何优化自己的Cockpit配置呢?--DeepSeek

bash Linux Ubuntu Remote Management Cockpit NetworkManager

CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

这篇文章详细介绍了使用Caddy v2进行反向代理和安全配置的多种方法,包括启用Basic Auth、限制访问、负载均衡以及健康检查等功能,并提供了多个实例演示不同场景下的配置方式,例如保护敏感路径、重写Host头、允许内网直接访问等,全面展示了Caddy在实际应用中的强大功能与灵活性。--DeepSeek

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

Build a new NFS server with WinServer or Ubuntu and mount it

这篇文章详细介绍了如何在Windows Server和Ubuntu系统上搭建新的NFS服务器,并展示了如何从不同平台(包括Windows、Ubuntu和VMware ESXi)挂载远程NFS存储。通过分步指南,文章帮助用户快速掌握NFS的配置与使用,同时提供了实际操作中的关键步骤和注意事项,如安装必要的软件包、设置共享目录权限、编辑配置文件以及防火墙端口的开放。无论是从Windows客户端还是Linux环境进行挂载,文章都给出了清晰的操作示例,并通过VMware ESXi的案例展示了NFS在虚拟化存储管理中的应用。这篇文章不仅帮助读者快速搭建和使用NFS服务器,还为优化存储管理和实现跨平台资源共享提供了实用指导。你是否也在寻找一种高效、灵活的文件共享解决方案?这篇文章或许能为你打开新的思路!--DeepSeek

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本文详细介绍了如何在Ubuntu系统上挂载Windows SMB共享文件夹,包括安装必要的工具、创建挂载点以及执行挂载命令的具体步骤。文章还提供了配置开机自动挂载的方法,使用户能够在启动时自动连接到远程SMB资源。通过这些操作,用户可以轻松地将Windows服务器上的文件夹访问权限扩展到Linux环境,从而实现更高效的工作流程和数据管理。你是否也遇到了在混合环境中需要频繁访问不同平台资源的困扰?这篇文章为你提供了一个实用的解决方案。那么,在实际应用中,你是否已经尝试过类似的配置,或者有没有更好的方法来优化这一过程呢?--DeepSeek

bash Linux Ubuntu Windows Server SMB Share

Run WeChat in Ubuntu

这篇文章详细介绍了如何在Ubuntu系统中运行微信,提供了基于Wine环境的安装和配置指南,并探讨了其他解决方案如Kylin WeChat和Deepin Wine WeChat的可能性。文章首先指导读者通过Wine安装微信,包括字体下载、DPI调整以及语言设置等关键步骤。随后,文章讨论了使用过程中可能遇到的问题,例如程序崩溃和功能缺失,并介绍了其他解决方案,但这些方案也存在不同程度的功能限制。最后,文章以一个问题结尾:除了上述方法,还有哪些创新的方式可以在Linux系统中更高效地运行微信?--DeepSeek

bash Linux Ubuntu China WeChat Wine

Install Nextcloud on a Ubuntu 20.04\22.04 server

这篇文章详细介绍了在Ubuntu 20.04 LTS系统上安装和配置Nextcloud的过程,包括系统环境要求、软件依赖安装、手动编译与配置、数据存储路径设置以及数据库优化等内容,并涵盖了服务器及应用的优化策略、用户界面个性化设置、安全与权限管理措施、性能调优方法、备份策略制定以及GPU加速功能的配置建议。--DeepSeek

Web Linux Ubuntu IT Apache2 PHP MySQL Certbot Nextcloud Storage

Minecraft Most wanted 比赛

这篇文章介绍了名为“Minecraft Most wanted 比赛”的活动规则与细节。比赛中,玩家将扮演猎手或猎物,通过击杀猎物或使其死亡来争夺胜利。猎物在比赛时间内若被杀死,则猎杀者胜出;若无人成功击杀猎物,猎物则成为最终赢家。比赛期间,所有玩家的指南针都将指向猎物的位置,而猎物若因其他原因死亡,则会被传送到安全区域并清空装备与经验。值得注意的是,除了猎物外,其他玩家死亡时不会掉落装备,但会失去经验值,并根据是否有床决定复活位置。 参赛者可以在比赛前携带装备、建设陷阱、探索地图以及规划猎杀或逃生路线。建议玩家准备好包括指南针、武器、食物、弓箭、火把、水桶、TNT等在内的物资,以提高生存与战斗能力。比赛将在位于中国上海的Java版1.19服务器“mc.aiurs.co”上进行,时间为2022年7月23日晚上21:00至22:00(GMT+8)。获胜者将获得64块任意指定的标准方块作为奖励。 文章还提供了客户端下载指南和服务器状态查询链接,并强调了活动的解释权归属。比赛尚未开始,参与者需仔细阅读规则并做好充分准备。你觉得自己能成为猎物的天敌吗?还是会选择扮演猎物的角色?准备好你的装备,在这个充满策略与挑战的比赛中展现你的实力吧!--DeepSeek

Minecraft Kill Hunt Hunt Game Competition Rules Block Reward Player Preparation

Make and prepare your own Windows image and deploy with the OOBE experience

文章介绍了一种方法,用于制作和部署自定义Windows镜像,并通过DISM工具注入驱动程序以增强系统的兼容性和功能。首先,用户需要从OOBE状态进入审核状态进行配置,完成后可再次返回OOBE模式。接着,利用DISM挂载WIM文件,选择目标系统索引(如Windows 11 Pro的索引6),并添加所需驱动程序,确保在注入过程中避免错误操作,例如保持文件资源管理器和终端关闭以防止挂载失败。最后,完成驱动注入后需提交更改并验证WIM文件的时间戳更新。此外,文章还强调了为系统准备Windows RE环境的重要性,并提供了相关指导链接,以确保设备出现问题时能够顺利恢复。--DeepSeek

Windows Customization DISM Tool Driver Injection System Deployment Audit Mode Windows RE Preparation

Why do low-code development is a pseudo requirement?

这篇文章探讨了低代码开发框架的优点与局限性。作者指出,虽然在简单场景下(如注册表单)低代码能够迅速完成任务,但在面对复杂业务逻辑时(如充值、购物等),其复杂度会显著增加。这是因为开发本质上是对现实世界过程的抽象,而现有的形式语言已经提供了良好的方法,低代码难以超越。 文章还通过WinForm和WPF的例子说明了传统设计器与低代码的不同:前者强调代码驱动,后者则依赖所见即所得。成熟开发者可完全依赖代码实现功能,无需设计器预览。 最后,作者认为低代码确有市场需求,但不像媒体宣传的那么夸张。只有在需求简单、具备开发能力、基础设施完善及不愿投入过多资源的情况下,低代码才是一个好选择。--DeepSeek

Software Development Low Code PowerApps WYSIWYG Low code Development Software Abstraction

Play with Windows Subsystem for Android with Google Play

这篇文章主要介绍了在Windows 11上设置Android子系统(WSA)并解决常见问题的方法。首先,用户通过安装WSA和配置ADB工具来实现对Android环境的操作和管理。接着,文章详细说明了如何连接到Wifi以及切换虚拟交换机以确保网络正常工作。最后,作者还分享了一些实用技巧,如获取IP地址、重新连接ADB等,帮助读者顺利完成设置并享受流畅的使用体验。--DeepSeek

bash Windows 11 Android Windows Subsystem For Android WSA Magisk MagiskOnWSA Google Google Play adb

Use you local server to replace the cloud with FRP.

文章介绍了通过FRP(Fast Reverse Proxy)实现从云服务器到家庭服务器的代理服务配置方法。首先,在云端服务器上安装并配置FRPS,启动服务;接着在家庭服务器上安装FRPC,并设置相应的参数以连接云端FRP服务器。测试连接时,可通过移动设备或外网访问云端服务器的特定端口,验证是否成功代理到家庭服务器的服务。此外,文章还提供了自动化升级脚本,方便用户自动更新FRP组件至最新版本。最后,讨论了成本问题,比较了FRP解决方案与传统云服务的成本差异,指出尽管FRP需要初期硬件投入,但长期来看可显著降低运营成本,并获得更好的性能体验。--DeepSeek

IP bash Linux Windows Server Cloud FRP Network Port Firewall

Setup Minecraft perfect game experience

这篇文章主要介绍了如何通过安装和配置各类模组来优化Minecraft游戏体验,并提供了一些关于创建和管理Minecraft服务器的建议。其中包括了光影和性能优化模组(如OptiFine、BetterFoliage等)、功能增强类模组(如Wawla、Quark等),以及客户端界面优化工具。文章还推荐使用PaperMC作为服务器引擎,提供了多个数据包以丰富游戏内容,并详细说明了一些服务器设置参数的调整方法,如修改世界边界、调整难度和游戏规则等,以提升游戏的平衡性和趣味性。--DeepSeek

Configuration Minecraft Game Java Minecraft Optimization Mod Installation

Best practice after installing Windows Server | Why you should NEVER use 'Administrator' user?

本文介绍了Windows Server的安全配置与优化方法,包括禁用默认账户、修改远程桌面端口、更新防火墙规则和加强用户权限管理等步骤。同时,推荐安装了多种实用软件工具,如IIS Crypto用于优化IIS设置、CPUZ进行CPU性能测试、WinDirStat分析磁盘使用情况、NSSM管理后台服务、FRP暴露内网服务器到公网、7zip管理压缩文件、FastCopy快速备份与迁移文件、Win-ACME启用TLS加密、Visual Studio Code编辑配置文件、AdoptOpenJDK运行Java程序、.NET支持ASP.NET Core应用、Git进行版本控制和使用bash脚本、Aria2加速下载、Winget和Windows Terminal管理软件包等,以提升服务器的管理和安全性。--DeepSeek

Security Windows Server Cloud Configuration Security Configuration IIS Crypto


精准防控面临的问题来自于健康码的设计需要革新

文章讨论了当前健康码系统在疫情防控中的局限性,并提出了一种基于量化被感染概率的“健康码2.0”设想。作者建议通过结合全城人的行程数据和核酸检测结果,利用AI算法计算每个人的感染风险,并据此实施精准防控,避免过度防疫带来的不便。文章还强调了提高防疫效率的重要性,认为严格的防疫措施虽然必要,但需要更加灵活和科学化,以降低对人们生活的影响。最终,作者呼吁通过技术手段提升疫情防控的效率和精确性,实现既能有效控制疫情又能减少社会成本的目标。--DeepSeek

China Health Code Shanghai COVID-19 AI/ML Precision Control

Install Windows 11 on Vultr cloud machine

文章详细介绍了如何在云服务器上搭建属于自己的Windows 11云电脑的过程。主要内容包括:准备工作和注意事项、虚拟机部署及网络配置、操作系统安装与激活密钥使用、驱动程序安装与远程桌面服务配置、Windows 11个性化设置(如更改账户类型、创建本地用户和密码)、远程桌面功能启用与优化,以及删除旧系统和保存快照以便快速部署更多云电脑。最终目标是打造一个可随时随地访问的个人专属Windows 11云电脑,并建议调整默认RDP端口以提高安全性。--DeepSeek

PowerShell Windows Server Cloud Windows Windows 11 DISM Bcdedit Vultr Cloud PC

Lint markdown with customized rule by JavaScript

本文介绍了一种通过 JavaScript 实现对 Markdown 文件进行自定义规则检查的方法,并展示了如何在 GitHub CI 中配置该检查流程以实现自动化验证。文章详细说明了如何使用 Node.js 和 npm 包来安装必要的依赖项,并提供了一个完整的脚本示例,用于检查 Markdown 文件的文件名、标题格式以及内容结构是否符合预设规范。此外,作者还分享了如何在 GitHub Actions 中配置工作流文件以自动运行这些检查,并通过具体的代码片段展示了如何实现自定义规则的验证逻辑。这种方法不仅提高了文档的一致性和质量,还能帮助团队快速发现潜在问题并进行修复。你是否也在寻找一种高效的文档管理解决方案?不妨尝试将此方法扩展到你的项目中!--DeepSeek

GitHub node JavaScript GitHub Actions Continuous Integration markdown

Raise up Visual Studio Code correctly in your C# client-side program

在C#客户端程序中如何正确启动Visual Studio Code?当我们搜索相关教程时,通常得到的都是“如何在VS Code中编写C#程序”,但实际情况可能截然不同:我们需要创建一个允许用户通过点击按钮直接打开VS Code编辑特定文件夹的编辑器。这种需求涉及到如何将VS Code集成到现有的应用程序中,并确保用户体验流畅自然。在实现过程中,关键是如何配置Process.Start以正确启动VS Code并传递所需参数。例如,使用UseShellExecute = true可以让命令行执行更加可靠,而隐藏控制台窗口则能提升用户体验。通过这些设置,我们能够实现在C#程序中一键打开指定文件夹的VS Code编辑功能。然而,这引发了一些值得思考的问题:为什么大多数教程都集中在如何编写代码,而不是如何将工具集成到实际应用中?这种差异反映了开发者在学习过程中可能遇到的挑战,也凸显了深入理解底层机制的重要性。你是否也在寻找类似的方法来整合开发工具到你的应用程序中?答案可能就藏在这篇文章中。--DeepSeek

C# VSCode WPF c# programming vs code process.start