Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts


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

本篇博客主要介绍了如何在Caddy V2中正确获取用户的IP地址,以及一些实用的Caddy V2技巧和示例。文章首先讲述了如何在Debian系统上安装Caddy V2及其插件,接着展示了如何修改Caddy V2文件以支持Proxy Protocol。此外,还提供了一些实用的Caddy V2配置示例,包括托管静态文件服务器、直接渲染HTML、在特定地址上进行反向代理、执行永久重定向、反向代理并移除/添加自定义头部、忽略证书问题的反向代理、仅允许局域网访问的反向代理、仅允许局域网进行登录的反向代理、覆盖HTTP Host头部的反向代理、通过基本身份验证保护反向代理以及在两个节点之间进行负载均衡的反向代理等。最后,文章给出了一个完整的示例配置,包括外部IP地址的基本身份验证保护、局域网直接访问、覆盖HTTP Host、允许不安全的HTTPS、移除头部“x-frame-options”等功能。阅读这篇博客,您将了解到Caddy V2的强大功能以及如何灵活运用这些功能进行网站配置。那么,如何在实际应用中根据需求选择合适的Caddy V2配置呢?这将取决于您的实际需求和场景,欢迎尝试这些示例并进行实践。--GPT 4

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 Server中,通过安装相关组件并设置文件夹属性来创建NFS服务器。接着在Ubuntu系统上,使用命令行工具安装nfs-kernel-server,创建共享文件夹并对其进行权限设置。配置完成后,需要编辑exports文件以允许特定子网访问服务器。 在Windows系统中,通过PowerShell启用NFS客户端功能,并在CMD中使用mount命令挂载远程NFS。对于Ubuntu系统,需要安装nfs-common包,并使用mount命令挂载远程NFS。此外,还介绍了如何在VMware ESXI中将远程NFS作为数据存储挂载。 本文详细阐述了在不同操作系统中搭建NFS服务器的步骤,以及在各个平台上挂载远程NFS的方法。通过阅读本文,你将能够了解到在Windows Server和Ubuntu系统中创建和使用NFS服务器的过程。那么,你是否想知道在其他操作系统中如何搭建NFS服务器呢?对于不同的场景和需求,你会选择哪种方式进行远程文件共享?--GPT 4

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本篇博客教你如何将远程SMB文件夹挂载到本地Ubuntu服务器。首先,安装cifs-utils工具,然后创建一个新文件夹。接下来,使用mount命令将远程SMB文件夹挂载到本地文件夹。你可能需要输入密码来完成挂载操作。挂载完成后,你可以在本地文件夹中查看远程SMB文件夹的内容。需要注意的是,挂载命令中的`your-name`、`your-server`和`your-path`分别代表你的Windows用户名、服务器IP地址或域名以及SMB共享文件夹的名称。 如果你希望在开机时自动挂载远程SMB文件夹到Ubuntu,可以编辑`/etc/fstab`文件并添加相应的配置行。在配置行中,将`<your-server>`、`<your-path>`、`<your-name>`和`<your-password>`替换为实际值。 通过阅读本文,你将学会如何在Ubuntu系统中挂载和卸载远程SMB文件夹,以及如何配置开机自动挂载。在实际操作中,你可能会遇到哪些问题?有哪些需要注意的地方?希望本文能为你提供有益的启示。--GPT 4

bash Linux Ubuntu Windows Server SMB Share

Run WeChat in Ubuntu

在本篇博客中,我们将探讨如何在Ubuntu系统下安装和运行微信。首先,我们需要安装Wine,一个允许在Linux和类Unix操作系统上运行Windows应用程序的兼容层。安装完成后,需要调整Wine的设置,例如DPI值,以适应不同的显示器分辨率。 接下来,我们需要下载并配置字体,以确保微信在运行时能正确显示中文字符。通过运行一系列命令,我们可以安装所需的字体包。 在完成字体配置后,我们需要下载微信安装包,并通过Wine运行安装程序。安装过程与在Windows系统上无异。 安装完成后,我们需要编辑微信的桌面快捷方式,以确保微信在启动时使用正确的语言环境。在这里,我们将其设置为“zh_CN.UTF8”。 现在,您可以启动并使用微信了!然而,在运行过程中,您可能会遇到一些问题,例如:微信运行在中文环境下,因此当微信启动其他程序(如浏览器)时,这些程序可能会显示为中文版;此外,微信在打开小程序时可能会崩溃。 本文详细介绍了如何在Ubuntu系统上安装和运行微信的过程,但仍有一些不足之处。那么,是否有其他方法可以解决这些问题?或者,有没有其他类似的应用程序可以在类Unix系统上更好地运行呢?这些问题值得我们进一步探讨。--GPT 4

bash Linux Ubuntu China WeChat Wine

Install Nextcloud on a Ubuntu 20.04\22.04 server

本篇博客详细介绍了如何在Ubuntu 20.04/22.04服务器上安装Nextcloud。文章分为17个步骤,包括安装所需的软件包、配置数据库、创建Nextcloud目录、设置权限、配置Apache、安装和配置SSL证书、设置大文件上传、配置Cron、调整数据存储位置、完成区域设置、完成电子邮件设置、完成Redis设置、设置备份、设置反向代理(可选)以及设置GPU。 文章还提供了一些有趣的问题,以吸引读者阅读并启发思考。例如,在调整数据存储位置时,如何确保在重启后云仍然可以正常工作?在设置备份时,如何自动运行备份脚本以确保数据安全?在设置反向代理时,如何避免出现问题? 通过阅读本篇博客,读者可以了解到如何成功安装和配置Nextcloud,以及如何根据自己的需求进行一些额外的设置。在文章的最后,作者还提到了如何为Nextcloud添加GPU支持,以便在安装了识别应用程序的情况下提高性能。 现在,你是否对在Ubuntu服务器上安装Nextcloud感兴趣?是否想知道如何通过这些设置来优化你的Nextcloud实例?快来阅读全文,自己找到答案吧!--GPT 4

Web Linux Ubuntu IT Apache2 PHP MySQL Certbot Nextcloud Storage

Minecraft Most wanted 比赛

本篇博客介绍了一个即将举行的Minecraft全民公敌比赛,参赛者需要在比赛时间内击败猎物以获得胜利。猎物是一名提前报名的玩家,比赛期间所有指南针将始终指向猎物。若猎物在比赛时间内自行死亡或无人击败,猎物将成为胜者。参赛者可以携带自己的装备物品、提前建设陷阱、探索地图以及准备猎杀和逃跑路线。 参赛者需确保携带指南针、武器、装备、盾牌、食物等物品,以及足够的床、船、箭、火把等用品。此外,还可以携带水桶、岩浆桶、TNT、紫颂果、末影珍珠、金苹果等物品来提高竞争力。比赛将在2022年7月23日晚上21:00至22:00(GMT+8)在位于中国上海的Java版1.19服务器上进行。 胜者将获得64块任意指定的标准方块作为奖品。想了解更多关于Minecraft客户端的下载和设置,请参考博客中推荐的教程。如需查询服务器状态,请查看博客中提供的实时链接。最后,本活动解释权归Anduin所有,胜者的信息将在博客链接中发布。 比赛即将开始,你准备好迎接挑战了吗?如何才能在众多玩家中脱颖而出,成为最终的胜者呢?赶快加入比赛,一起来探索吧!--GPT 4


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

本篇博客介绍了如何创建和准备自己的Windows镜像,并通过OOBE体验进行部署。首先,我们需要了解审计状态,它可以暂时跳过OOBE以激活、安装驱动程序和软件。在审计状态下,将使用管理员用户登录,并且只能执行计算机级操作。完成审计状态后,必须重新进入OOBE状态,以便获得计算机的用户可以在OOBE页面上创建普通用户。 文章接下来介绍了如何从OOBE状态切换到审计状态,以及OOBE状态下计算机的具体内容。然后,我们将学习如何构建自己的Windows镜像,通过使用`dism`在`generalize`参数擦除用户和设备数据后捕获当前系统磁盘并制作`wim`镜像。完成后,只需将此镜像安装到需要移交给客户端的计算机上即可。 最后,文章还讨论了如何在现有的wim镜像中注入驱动程序。首先,通过运行相应的命令获取首选的系统索引。然后,运行其他命令来挂载系统并注入所需的驱动程序。最后,提交更改至`wim`文件。 本文让读者了解了如何创建、准备和部署自定义的Windows镜像。那么,这种方法在实际应用中的优势和局限性是什么?如何根据不同的使用场景选择合适的部署方式?希望这篇博客能激发您的思考,寻找更多答案。--GPT 4


Why do low-code development is a pseudo requirement?

本篇博客探讨了低代码开发是否真的是一个伪需求。首先,作者指出网络页面和应用程序并非所见即所得,使用低代码开发工具在短期内可能容易上手,但在稍复杂的场景中,以及在重用和扩展方面,最终可能会面临很多障碍。 其次,作者提到低代码开发平台本身存在较高的学习成本。尽管低代码开发可以降低学习成本,但作者认为这可能存在一些误解。例如,公司购买低代码开发框架,是否真的能让产品经理和设计师直接进行应用开发? 此外,作者认为代码本身是对现实世界的抽象,而低代码开发在短期内无法更为通用。开发本质上是人类试图对现实世界的过程进行抽象。我们已经熟悉的形式化语言抽象具有很好的理论基础,而低代码开发放弃了这些高质量的抽象方法,期望计算机和AI能正确理解它(并不一定成功)。 作者还提到了WinForm和WPF等框架,并指出它们本质上并非低代码开发框架,而只是桌面应用开发框架。最重要的是,没有开发者认为Visual Studio设计器看到的内容一定与程序运行时看到的内容相同。 最后,作者认为低代码开发框架确实存在市场,但并非媒体宣传的那么夸张。当需求不复杂、开发者具备基本的开发素养、相关基础设施(如API)已经建立,且不想投入过多时间、精力和金钱时,低代码开发框架是一个不错的选择。然而,媒体宣传的“产品经理自己搞定开发工作”的说法则显得十分可笑。那么,低代码开发真的是一个伪需求吗?或许这取决于具体的应用场景和开发者的需求。--GPT 4

Software Development Low Code PowerApps WYSIWYG

Play with Windows Subsystem for Android with Google Play

本篇博客详细介绍了如何在Windows 11上使用Windows Subsystem for Android(WSA)运行Android应用。首先,作者阐述了如何启用WSA所需的特性,如Hyper-V、HypervisorPlatform和VirtualMachinePlatform。接着,通过在Microsoft应用商店下载并安装Amazon应用商店来启用WSA。安装完成后,可以在开始菜单中找到“Windows子系统 for Android设置”。 在确保子系统启动并启用开发者模式后,可以使用adb工具连接到子系统并管理Android应用。例如,可以通过adb安装和卸载apk文件。但是,由于WSA默认不支持Google Play服务,某些应用可能无法正常工作。为了解决这个问题,可以通过访问GitHub上的MagiskOnWSA项目,fork并构建自己的WSA镜像来安装带有Google Play服务的WSA。 最后,作者分享了如何解决WSA无法连接互联网的问题。首先,通过adb命令打开Android的Wifi设置,并保持该应用打开。接下来,在Hyper-V Manager中更改虚拟交换机设置,将其切换为“外部网络”,并选择具有互联网访问权限的物理网卡。然后,在Android Wifi设置中将网络配置更改为DHCP。完成这些操作后,WSA应该能够正常连接互联网。 通过本文的指导,你可以在Windows 11上顺利运行Android应用。那么,你准备尝试在你的电脑上运行WSA了吗?你认为这种跨平台的应用体验会给你带来什么样的便利?--GPT 4

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)将本地服务器替换为云服务器。首先,我们需要在云服务器上安装和配置FRP服务器。接下来,我们需要在本地家庭服务器上安装FRP客户端,并确保家庭服务器能够成功连接到FRP服务器。值得注意的是,家庭服务器不需要具有公共IP地址,可以部署在防火墙或NAT之后。 本文使用Windows Server作为示例,并介绍了如何在家庭服务器上安装FRP客户端。配置完成后,我们可以运行FRP本地验证配置。然后,我们需要将FRP注册为后台服务。此外,我们还可以选择配置自动升级。 需要注意的是,云服务器和家庭网络可能会因流量而产生费用。如果服务不是很繁重,通常使用FRP方案会非常便宜。相比之下,云服务器的月费用可能达到数百美元,而家庭服务器的电费和网络费用要低得多。总的来说,使用FRP方案可以节省成本,同时享受全面的裸金属性能。 那么,是否应该使用FRP方案替代云服务器呢?这取决于您的需求和预算。如果您希望节省成本并享受更好的性能,那么FRP方案可能是一个不错的选择。但如果您需要更高级的功能和更强大的计算能力,那么云服务器可能仍然是最佳选择。--GPT 4

IP bash Linux Windows Server Cloud FRP Network Port Firewall

Setup Minecraft perfect game experience

本篇博客详细介绍了如何设置Minecraft游戏,以获得完美的游戏体验。首先,文章讲述了如何下载并安装Fabric,并为游戏添加光影和地图插件。接下来,博客提供了一系列推荐的游戏插件,包括:cloth-config、Kotlin-support、badpackets、modmenu、inventory-profiles-next、Appleskin、not-enough-animations、extrasounds、BetterF3、Better Third Person等。文章还提供了一张包含所有插件快捷键映射的图片,方便玩家参考。 除此之外,博客还为拥有服务器的玩家提供了一些建议。推荐使用Paper MC作为服务器引擎,并安装一些增强游戏世界的插件,如:Dungeon Now Loading、Incendium、Keepin、Ships out on the oceans、Terralith、TreeCapitator等。最后,文章提供了一些服务器设置修改建议,以便玩家根据自己的需求调整游戏难度、玩家数量、世界边界等。 如何将这些设置和插件完美地融合在一起,为玩家带来更加沉浸式的Minecraft游戏体验呢?摘要无法回答这个问题,但阅读全文将为你揭示答案。此外,你是否有其他推荐的插件和设置,可以让Minecraft变得更加有趣?欢迎在阅读本文后,与其他玩家分享你的心得。--GPT 4

Configuration Minecraft Game Java

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

本篇博客介绍了在安装Windows Server之后的一些最佳实践,特别强调了为什么不应该使用默认的“Administrator”用户。首先,为服务器命名并加入Active Directory域(如果有的话)。接着,创建一个新用户并将其添加到管理员组中,然后使用新用户登录。为了提高安全性,禁用默认的“Administrator”用户,并更改默认的RDP端口以防止暴力破解。 在完成以上设置后,可以根据需要安装一些额外的软件。博客中推荐了一系列实用工具,如IIS Crypto、CPUZ、WinDirStat、NSSM、FRP、7zip、FastCopy、Win-ACME、Visual Studio Code、AdoptOpenJDK、.NET Windows Server hosting bundle、Git/Git-Bash、Aria2、Winget和Windows Terminal等。这些工具可以帮助您更好地管理服务器、提高工作效率和安全性。 在阅读完整篇博客后,您是否会对Windows Server的安全性和管理有更深入的了解?这些最佳实践是否会对您的服务器管理产生积极影响?如何根据自己的需求选择合适的工具?请阅读全文以获得更多详细信息和操作指南。--GPT 4

Security Windows Server Cloud Configuration