Blogs
    62 posts
从零到一:使用 Hugo 和 GitHub Pages 搭建个人博客
前言 拥有一个个人博客是分享知识、记录学习和展示作品的绝佳方式。本文将详细介绍如何使用强大的静态网站生成器 Hugo 和免费的 GitHub Pages 服务,从零开始搭建一个属于你自己的、功能完善且高度可定制的个人博客。 为什么选择 Hugo 和 GitHub Pages? Hugo: Go 语言编写的静态网站生成器,以其惊人的构建速度和灵活性而闻名。它拥有丰富的主题和强大的功能,让你可以专注于内容创作。 GitHub Pages: GitHub 提供的免费静态网站托管服务。它与 Git 无缝集成,非常适合托管个人博客、项目文档等。 准备工作 在开始之前,请确保你的电脑上已经安装了以下软件: ......
NPS 全景解析(完结):揭秘功能强大的 Web 管理界面
引言 一个工具的强大与否,不仅取决于其核心功能的性能与稳定,也取决于其易用性。NPS 之所以广受欢迎,除了其强大的穿透能力外,一个直观、功能全面的 Web 管理界面功不可没。用户无需编辑复杂的配置文件,只需在浏览器上进行简单的点击操作,就能完成客户端管理、隧道配置、域名绑定等所有操作。在本系列文章的最后一篇,我们将深入 nps/web 目录,揭秘这个基于 Beego 框架构建的 Web 管理界面是如何与 NPS 核心服务无缝集成,为用户提供流畅体验的。 技术选型:Beego 框架 NPS 的 Web 后端采用了 Beego,一个用 Go 语言编写的高性能 Web 框架。Beego 遵循 MVC(Model-View-Controller)设计模式,提供了路由、模板引擎、ORM、Session 管理等一整套 Web 开发所需的功能,这使得开发者可以快速构建起一个功能完善的 Web 应用。 ......
NPS 核心探秘:配置加载与数据持久化
引言 一个稳定可靠的服务,离不开健全的配置管理和数据持久化机制。NPS 作为一个需要长期运行的内网穿透服务器,必须能够加载启动配置、在运行时动态修改配置,并在服务重启后恢复所有任务和客户端信息。这一切都由 nps/file 目录下的代码实现。本篇文章将深入这一模块,剖析 NPS 是如何通过简单的 JSON 文件,构建出一个轻量级且高效的“数据库”,并实现对客户端、隧道、主机等所有配置的增删改查和持久化存储。 file.go:NPS 的数据中枢 nps/file 目录的核心是 file.go 文件,它定义了 NPS 的数据模型和所有数据操作的接口。NPS 并未采用传统的关系型数据库或 NoSQL 数据库,而是选择使用 JSON 文件作为其数据存储后端,这使得 NPS 非常轻量、易于部署和迁移。 ......