Anduin Xue

let today = new Beginning();

All Posts in 2022


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

本篇博客讨论了一个在Linux设备上使用多个网络接口时遇到的问题,以及如何解决这个问题。在一个数据中心中,作者创建了多个子网,并将Linux设备的两个接口同时连接到这两个子网上。问题在于,当尝试访问互联网时,可能会出现“目标主机不可达”的错误消息。通过运行`ip route list`,作者发现蓝色网络具有较高的优先级,这是问题的根本原因。 为了解决这个问题,首先需要查看当前的路由表,可以使用`ip route list`命令。然后需要删除现有的默认路由,使用`ip route del default`命令。接下来,使用`sudo ip route add default via 172.16.50.1 dev ens160 proto dhcp metric 102`命令为具有较低度量值的网络接口添加新的默认路由。最后,可以使用`ip route get 8.8.8.8`命令询问Linux将使用哪个接口发送数据包到特定的IP地址,或者尝试连接互联网,例如使用`ping www.baidu.com`命令。 总之,如果在Linux设备上有多个默认路由,可以通过删除并使用较低度量值重新添加它们来调整优先级。这样就可以确保在具有多个网络接口的情况下,Linux设备能够正确地访问互联网。--GPT 4

IP Linux Network Routing Interface

Read from joystick output based on C#

在本篇博客中,我们将探讨如何使用C#语言从游戏操纵杆上读取输出。文章以购买Thrustmaster TCA空客油门为例,作者计划将其用于控制数据中心服务器的风扇速度。 首先,需要安装`SharpDX.DirectInput`库。安装完成后,我们可以运行一段代码来从`GameControl`中读取数据。同样地,也可以从其他类型(如`Joystick`)中读取。 本文提供了一段简单的C#代码示例,展示了如何使用DirectInput库获取设备信息、实例化操纵杆对象、设置缓冲区大小并获取操纵杆的输入数据。通过不断轮询操纵杆并获取缓冲数据,我们可以实时查看操纵杆的状态变化。 这篇博客为我们提供了一个有趣的应用场景,即使用游戏操纵杆控制数据中心服务器的风扇速度。这让我们思考,游戏操纵杆在其他领域还有哪些潜在的应用呢?如何将这种控制方式应用到其他设备上,以提供更直观、更有趣的交互方式?在探索这些问题的过程中,我们可能会发现更多有趣的应用场景和创新点。--GPT 4

Game SharpDX DirectInput Joystick

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

在这篇博客中,我们探讨了日常生活中常用的三种软件类型:互联网软件、企业软件和开源软件。通过了解它们的特点,我们可以更好地选择适合自己需求的软件。互联网软件通常由大公司开发,以盈利为目的,提供优质的用户体验和强大的性能,但可能存在隐私问题。企业软件则为企业定制开发,功能强大且扩展性良好,但可能存在性能和界面细节问题。开源软件由社区贡献和维护,具有优异的性能和设计,但功能较少且使用难度较高。 那么,如何在这三种软件类型中做出合适的选择呢?我们是否应该追求功能丰富的企业软件,还是选择免费且高性能的开源软件?互联网软件是否真的能为我们提供最佳的用户体验?在使用过程中,我们又如何权衡隐私和便利之间的关系?这篇博客为我们提供了一个思考的起点,希望能帮助我们更好地了解和选择适合自己需求的软件。在这个过程中,我们可能会发现,最适合自己的软件并非一成不变,而是随着需求和环境的变化而调整。那么,你会如何选择呢?--GPT 4


Windows 11 挖宝游戏

Windows 11中融合了许多新功能和上古代码,这使得在系统中挖掘一些经典功能变得非常有趣。本文将分享如何在Windows 11中找回一些经典功能,包括经典文件浏览器、IE浏览器、经典主题设置、屏幕保护程序、经典照片查看器和经典记事本。这些功能的找回方法多种多样,有的需要通过搜索功能,有的需要在设置中进行更改,有的需要运行PowerShell命令。这些经典功能在新系统中仍然可以正常使用,让我们一起来挖掘更多的宝藏吧!你还知道其他可以在Windows 11中找回的经典功能吗?--GPT 4


MySQL allow remote connection (For root and other users)

本篇博客主要讲述了如何在MySQL数据库中允许远程连接,无论是对于root用户还是其他用户。首先,我们可以通过运行SQL查询来检查数据库的当前状态。接着,确保防火墙允许3306端口,并允许MySQL绑定到所有端口。然后,对于root用户,需要在本地登录root,替换主机值,并重启服务。对于其他用户,如果用户不存在,需要先登录MySQL,创建新数据库和新用户,并为新用户分配必要的权限。如果用户已存在,只需更新用户的主机值即可。 本文详细介绍了每个步骤所需的命令和操作,为您在实际操作中提供了便利。如何确保远程连接的安全性?是否还有其他方法可以实现远程连接?阅读全文以获取更多信息并找到答案。--GPT 4

bash Database Linux Ubuntu Remote Management MySQL

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

本文介绍了如何将 ESXI 中的 Thick Provisioning 磁盘还原为 Thin Provision 并回收空间。作者分享了一次将 Thin Provisioning 磁盘意外膨胀至 2TB 的经历,并详细介绍了还原过程中所需的操作步骤。 首先,需要删除所有快照并进行合并。然后启用主机上的 SSH 功能。接着,转到 `/vmfs/volumes/store-name/vm` 文件夹并运行 `ls -ashl` 命令,可以看到 `original-flat.vmdk` 文件很大(4TB,其中 `original` 是实际虚拟机名称)。在关闭虚拟机后,运行一系列命令来复制磁盘到 `temp.vmdk`,移动旧的 `flat` 文件,使用新的 `flat` 文件伪装旧的 `flat` 文件,并删除磁盘表示。 重新运行 `ls -ashl` 命令,可以看到新的 `-flat.vmdk` 文件已经变小。然后尝试重新启动虚拟机。如果一切正常,可以删除 `big.bin` 文件。最后,在 VCenter 中检查虚拟机的消耗大小。如果没有显示出来,尝试创建一个快照。 本文为我们提供了一个解决虚拟磁盘意外膨胀问题的有效方法。那么,在其他类型的虚拟化环境中,是否也有类似的解决方案呢?如何确保在操作过程中不会损坏虚拟机数据?这些问题值得我们在实际操作中加以探讨。--GPT 4

VMware ESXI VMFS Reclaim thin provisioning thick provisioning

Ubuntu resize an ext4 partition without LVM

本篇博客详细介绍了如何在Ubuntu系统下调整ext4分区的大小,而无需使用LVM。文章首先提醒读者在进行分区调整之前确保已卸载所有文件系统并关闭所有交换分区,以防止数据损失。接着,博客通过一系列命令展示了如何使用fdisk工具删除旧分区并创建一个新的、更大的分区。在创建新分区后,文章解释了如何使用resize2fs命令在线调整文件系统大小,以适应新的分区大小。最后,通过df命令展示了调整后的分区和文件系统的大小。 在阅读本文后,你可能会思考如何在不同的文件系统和操作系统下进行类似的操作。此外,你可能会好奇在这个过程中是否存在数据丢失的风险,以及如何确保数据的安全性。在实践中,你可能会遇到哪些问题,又如何解决这些问题呢?--GPT 4

Linux Ubuntu Disk ext4 fdisk Partition

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

在2022年10月4日早晨10:00 - 12:00,Aiursoft Nextcloud遭遇了一次重大事故,服务中断两小时并损失部分数据。事故原因经过调查分析,最终确定为备份过程中的磁盘挂载问题导致系统盘空间被填满。这次事故让我们认识到了备份操作的潜在风险,以及磁盘剩余空间监控告警系统的重要性。为防止类似问题再次发生,我们对备份脚本进行了改进,增加了磁盘挂载状态和剩余容量的检查。此外,我们还建立了监控报警系统,以确保磁盘挂载正确且剩余容量处于健康状态。这次事故给我们带来了宝贵的经验教训,也提醒我们在未来的运维工作中要更加关注系统的健康状况,防止类似问题的发生。那么,如何确保我们的备份操作更加安全可靠?有哪些方法可以更好地监控磁盘使用情况?在这次事故中,我们又可以从哪些方面进行改进,以提高系统的稳定性和可靠性?--GPT 4

bash Linux Backup Nextcloud Disk Incident

Install your own NFS ESXI storage server

本篇博客详细介绍了如何安装和配置自己的NFS ESXI存储服务器。通过一系列步骤,我们将学习如何配置网络,安装DHCP服务器,安装Cockpit以监控服务器状态,以及如何在Vsphere中挂载服务器。文章详细阐述了每个步骤的操作方法和注意事项,以图文并茂的形式展示了操作过程。 在配置网络部分,我们将学习如何在NFS服务器和ESXI服务器之间建立连接,以及如何通过桥接多个光纤端口来简化管理。为了提高性能,我们可以使用光纤直接连接ESXI主机和存储服务器。同时,我们还将安装DHCP服务器,并进行相应的配置。 Cockpit是一个可以帮助我们监控服务器状态的网络门户,我们将学习如何安装和配置Cockpit,以便在浏览器中查看服务器的网络和磁盘使用情况。在Vsphere部分,我们将学习如何为ESXI主机准备挂载NFS存储,并在VCenter服务器中添加新的存储。 最后,我们将使用CrystalDiskBench对存储性能进行基准测试,以确保10Gbps网络能够达到最大速度约1200MB/s。在整个过程中,我们需要密切关注网络使用情况和磁盘使用情况。 通过阅读本篇博客,您将能够掌握搭建NFS ESXI存储服务器的方法和技巧。那么,为什么我们需要在网络中安装额外的DHCP服务器呢?如何在浏览器中访问Cockpit并监控服务器状态?阅读全文,您将找到答案。--GPT 4

Linux Storage NFS VMware ESXI Vsphere Dell IPMI Debian Server

If a Ubuntu server should run apt upgrade automatically?

本文讨论了是否应该让Ubuntu服务器自动运行apt升级。首先,作者提到自动升级的优点:节省时间、尽快获得安全更新、始终保持软件包的清洁和新颖、历史上apt升级非常安全且不会删除现有库。然而,自动升级并不适用于所有场景。在问题调查阶段,自动更新可能会掩盖真正的问题;对于需要极度稳定的客户而言,服务器的任何更改都可能带来风险;自动升级可能导致软件的较大功能更新,从而引发业务中断;此外,更新过程通常需要重启,而某些程序在重启后可能难以恢复正常运行。 尽管如此,仍有一些情况下可以考虑自动升级:系统可容忍降低可用性;系统是无状态的,重启不会影响其正常运行;系统已配置完善的备份/快照;系统始终连接到互联网;系统需要获得最新的功能更新。作者建议仅在满足以上所有条件时才使用自动更新功能。 当然,文章还提供了如何配置Ubuntu服务器以每周自动升级的方法。首先编写一个`upgrade.sh`脚本,然后使用`crontab -e`编辑计划任务。但在实施自动升级之前,请务必权衡好利弊,确保自动升级不会给您的业务带来不必要的麻烦。--GPT 4

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本篇博客详细介绍了如何在Ubuntu 22.04上安装Cockpit,以及如何解决安装过程中可能遇到的问题。首先,我们需要使用命令行安装Cockpit。接下来,为了确保安全性,我们需要创建一个非root用户,并将其添加到sudo组中。本文提供了一个关于身份验证的最佳实践的链接,供读者参考。 在安装过程中,可能会遇到“packagekit无法在离线状态下刷新缓存”的错误。为了解决这个问题,我们需要在/etc/netplan/目录下创建一个新的网络配置文件,并将renderer设置为NetworkManager。然后,将其他配置文件的优先级调整为更高的数字,最后应用网络配置并重启Cockpit服务。 此外,本文还介绍了如何安装Cockpit的导航插件。首先,我们需要安装jq工具,然后从GitHub上获取插件的最新版本,并安装到本地。 安装完成后,可以在浏览器中访问Cockpit。为了确保HTTPS安全性,我们可以使用Caddy对Cockpit服务器进行反向代理。本文提供了一个关于Caddy的使用技巧的链接,以及一个示例配置文件。 通过阅读本文,您将能够顺利地在Ubuntu 22.04上安装并使用Cockpit。那么,您准备好尝试Cockpit了吗?在安装过程中,您是否遇到了其他问题?欢迎在阅读全文后,分享您的经验和解决方案。--GPT 4

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中正确获取用户的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

Install WinGet on Windows Server

在本篇博客中,我们将学习如何在Windows Server上安装WinGet。首先,确保您没有使用管理员帐户运行。然后,在具有管理员权限的新PowerShell会话中运行一系列命令。这些命令将帮助您查询最新的WinGet版本及其依赖项,并下载与安装适用于您系统的软件包。 尽管在安装过程中可能会遇到一些临时性错误,但完成后WinGet应该已经成功安装。如果安装失败,请按照博客中的步骤从GitHub下载并安装WinGet及其许可证。完成后,您应该可以看到WinGet已在您的系统中生效。 安装WinGet后,您可以使用它来安装Windows Terminal。尝试使用命令`winget install Microsoft.WindowsTerminal`。如果安装失败,您可以尝试在PowerShell中运行另一个命令来进行安装。此外,您还可以使用WinGet来安装其他应用,如剪贴工具、便笺、时钟以及邮件和日历。 最后,如果需要重置Windows商店,可以尝试在PowerShell(管理员权限)中运行`wsreset -i`和`wsreset`命令。请注意,这仅支持Windows 10 LTSC,可能无法在Windows Server上工作。 在阅读完整篇博客后,您是否已经掌握了如何在Windows Server上安装WinGet的方法?您还有哪些关于WinGet的其他应用和技巧可以分享呢?--GPT 4

PowerShell Windows Server Install Winget Automation

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

随着疫情的严重,苏州的防疫标准不断提高,多重健康码的出现使得人们出行变得繁琐。这篇博客讨论了多重健康码是否真的提高了防疫安全,以及如何精准防控疫情。文章指出,病毒不按行政区划传播,因此行程码的设计可能并不合理。同时,传统健康码容易出现绿色,使得防疫效果受到影响。 为了解决这些问题,文章提出了一种基于被感染概率的健康码设计。通过计算每个人与病例的时空交错,可以得到一个被感染概率。核酸检测可以根据被感染概率选择性执行,并改变人的被感染概率。文章还讨论了基于AI的精准防疫方法,以及理论安全与实际安全的差异。 总之,这篇博客呼吁在疫情防控中提高执行效率,通过AI技术辅助流行病调查,精准监测高概率感染人群,为健康码增加安全评估功能,实现健康码2.0,既保证防疫安全又降低代价。那么,在这个问题上,我们是否可以借鉴其他国家或地区的经验,找到更加合理的防疫方法呢?--GPT 4

China Health Code Shanghai COVID-19

Install Windows 11 on Vultr cloud machine

本篇博客详细介绍了如何在Vultr云服务器上安装Windows 11。首先,我们需要下载Windows 11的ISO文件,并将其转换为WIM文件。接着,准备一个新的磁盘驱动器以供安装Windows 11。在完成这些准备工作后,我们需要解压Windows 11的WIM文件,然后设置相应的启动配置。重启服务器后,通过VNC连接并完成Windows 11的初始设置。最后,启用远程桌面服务并删除旧的Windows Server。 在阅读这篇博客后,你会了解到在云服务器上安装Windows 11的整个过程。这将有助于你在云端搭建自己的个人电脑,并随时随地通过远程桌面连接使用。此外,你还可以为家人和朋友创建更多的云电脑,让他们也能随时随地体验Windows 11的便捷。 那么,云电脑的未来会是怎样的呢?随着技术的发展,云电脑是否会成为我们日常生活中不可或缺的一部分?请继续关注我们的博客,探讨云电脑的未来趋势!--GPT 4

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

Lint markdown with customized rule by JavaScript

本篇博客介绍了如何使用JavaScript对Markdown文件进行自定义规则的检查。作者首先介绍了一个包含许多Markdown文件的代码库,并通过安装一些Markdown lint插件来满足基本的检查需求。然而,为了满足更多自定义需求,作者决定使用Node.js来进行Markdown文件的检查,因为它易于在GitHub pipeline中配置,并具有一些高级的面向对象特性。 博客中详细介绍了如何创建一个包含自定义规则的JavaScript文件,并在GitHub Actions中配置CI流程来对Markdown文件进行检查。这个过程包括在根目录下创建一个package.json文件,编写一个包含自定义规则的JavaScript文件,以及在GitHub Actions中配置CI流程。 通过这种方法,我们可以轻松地实现对Markdown文件的自定义检查,从而确保文件的质量和一致性。这对于维护一个包含大量Markdown文件的项目来说非常有用。 那么,如何将这种方法应用到你的项目中呢?你是否有其他方法来实现类似的功能?在阅读本篇博客后,你可能会对这些问题有更多的想法和启示。--GPT 4

GitHub node JavaScript GitHub Actions Continuous Integration

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

本篇博客讨论了如何在C#客户端程序中正确地使用Visual Studio Code。文章主要关注的是如何在一个编辑器中允许用户打开VS Code来编辑一个文件夹,而不是如何在VS Code中编写C#程序。博客提供了一个用户界面示例,展示了如何在C#程序中使用VS Code编辑文件夹。同时,文章还提供了一段代码示例,解释了如何利用`Process.Start`方法和`ProcessStartInfo`类来实现这一功能。 通过这篇博客,您将了解到在C#客户端程序中使用VS Code的正确方法,以及如何通过代码实现这一目标。这将有助于您在开发类似功能的应用程序时,能够更好地理解和应用这些知识。在阅读这篇博客后,您可能会思考如何将这些知识应用到您自己的项目中,以及如何进一步优化和改进这个功能。 那么,在实际应用中,如何确保用户能够顺利地使用VS Code进行编辑呢?您是否还可以尝试其他方法来实现这个功能?在开发过程中,您可能会遇到哪些挑战和问题?阅读全文,寻找答案吧!--GPT 4

C# VSCode WPF