首页
/ 1Panel 印尼语技术指南:开源 Linux 服务器管理面板的架构解析、快速安装与安全机制

1Panel 印尼语技术指南:开源 Linux 服务器管理面板的架构解析、快速安装与安全机制

2026-09-05 19:41:50作者:温玫谨Lighthearted

本文基于 1Panel 仓库的官方印尼语文档(docs/README.id.md)撰写,系统讲解这款现代开源 Linux 服务器管理面板的核心能力、仓库双模块(core + agent)架构、一键安装方式,以及 API 鉴权、防火墙、审计日志与云备份等安全机制,帮助读者在掌握功能全貌的同时理解其源码级实现。

一、什么是 1Panel:核心能力总览

根据官方文档描述,1Panel(Panel)adalah panel kontrol berbasis web yang modern dan open-source untuk manajemen server Linux(一个现代化、开源的 Web 控制面板,用于 Linux 服务器管理)。结合项目描述,它同时也是一个轻量级的 AI 管理平台。原文档列出的五大核心能力如下,后文将逐一结合仓库源码佐证其实现:

能力 官方说明(印尼语原文要点) 仓库实现佐证
Manajemen Efisien(高效管理) 通过友好的 Web 图形界面管理 Linux 服务器,涵盖主机监控、文件管理、数据库管理和容器管理 agent/service/ 下包含 monitor.gofile.godatabase.go、[container.go)(agent/service/container.go) 等服务实现
Penyebaran Situs Web Cepat(网站快速部署) 深度集成开源建站软件 WordPress,简化域名绑定与 SSL 证书配置,一键完成 agent/service/website_op.goagent/utils/ssl/(基于 go-acme/lego 的 ACME 证书客户端)
Toko Aplikasi(应用商店) 提供大量优质开源工具与应用,方便安装与更新 agent/service/app_install.goagent/service/app_upgrade.goagent/model/app_detail.go
Keamanan dan Keandalan(安全与可靠性) 借助容器化技术与安全的应用部署实践降低漏洞暴露面,通过集成的防火墙管理与审计日志增强安全 agent/utils/firewall/(iptables/nftables 双引擎)、agent/middleware/operation.go 操作审计
Cadangan & Pulih Satu Klik(一键备份与恢复) 一键备份/恢复功能简化数据保护,支持多种云存储方案保障数据完整性与可用性 agent/service/backup.gobackup_mysql.go 等按对象类型的备份实现

二、仓库架构:core 与 agent 双 Go 模块设计

从源码结构看,1Panel 采用「面板服务 + 主机代理」的双模块架构,两个独立 Go module 通过 Makefile 统一构建:

  • coremodule github.com/1Panel-dev/1Panel/core,见 core/go.mod):负责 Web 面板服务,提供登录认证、会话管理、前端静态资源与对外 API。其 core/app/auth/api_auth.go 实现 API Key 鉴权,core/middleware/session.gocore/init/session/psession/ 负责会话安全,还支持 MFA(core/utils/mfa/)、WebAuthn Passkey(core/utils/passkey/)、SAML/OIDC 单点登录(依赖 crewjam/samlcoreos/go-oidc,见 core/go.mod)。
  • agentmodule github.com/1Panel-dev/1Panel/agent,见 agent/go.mod):部署在目标主机上,直接执行资源监控、文件操作、Docker 容器管理、数据库管理、防火墙与快照等重活。关键依赖包括 docker/dockercompose-goshirou/gopsutil(主机指标采集,封装于 agent/utils/psutil/)、go-sql-driver/mysqljackc/pgxgo.mongodb.org/mongo-drivergo-redis/redis,说明其对 MySQL、PostgreSQL、MongoDB、Redis 四类数据库的原生管理是有源码依据的。

两个模块均为 Go 1.26.1(见两个 go.mod 的 go 1.26.1 声明),Web 入口分别为 core/cmd/server/main.goagent/cmd/server/main.go,后者同时携带 Swagger 注解(@BasePath /api/v2),即 Agent 暴露的 REST API 前缀为 /api/v2

前端技术栈

管理界面位于 frontend/,从 frontend/package.json 可确认其技术栈:Vue 3.5 + Element Plus 2.14 + Vite + Pinia + Tailwind CSS,并集成 CodeMirror/Monaco(在线编辑器)、ECharts(监控图表)、xterm.js 与 noVNC(Web 终端)。Makefile 中的 build_frontend 目标执行 npm install && npm run build:pro,产物嵌入 core 的静态资源目录(core/cmd/server/web/assets)。

三、快速开始:一键安装

官方文档「Panduan Cepat Memulai(快速开始指南)」给出的安装方式为运行官方脚本并跟随提示完成安装:

curl -sSL https://resource.1panel.pro/quick_start.sh -o quick_start.sh && bash quick_start.sh

文档同时引导读者查阅其官方部署文档获取更多安装信息(安装过程会交互式选择面板端口、登录用户名与密码等,详见官方文档站)。对于开发者,也可以直接浏览本仓库源码来理解其实现;Makefile 提供了本地交叉编译目标:

build_all: build_frontend build_core_on_linux build_agent_on_linux

build_core_on_linux:
	cd $(CORE_PATH) \
	&& CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) $(GOBUILD) -trimpath -ldflags '-s -w' -o $(BUILD_PATH)/$(CORE_NAME) $(CORE_MAIN)

build_all 会先构建前端,再以 CGO_ENABLED=0 静态编译 1panel-core1panel-agent 两个二进制(-ldflags '-s -w' 用于去除符号表减小体积),并提供 upx_bin 目标进一步压缩。

四、安全机制:API 鉴权、防火墙与漏洞报告

4.1 API Key 鉴权算法

文档强调 1Panel 通过「防火墙管理与审计日志」提升安全性。从源码看,Agent 对外 API 采用自定义 Token 鉴权,agent/cmd/server/main.go 的 Swagger 注解明确了算法:

Token 格式: md5('1panel' + API-Key + UnixTimestamp)

请求示例:
curl -X GET "http://{host}:{port}/api/v2/toolbox/device/base" \
-H "1Panel-Token: <1panel_token>" \
-H "1Panel-Timestamp: <current_unix_timestamp>"

即调用方需将 API Key 与当前 Unix 秒级时间戳拼接为 1panel{API-Key}{timestamp} 后取 MD5,放入 1Panel-Token 请求头,并将时间戳放入 1Panel-Timestamp 请求头;core 侧对应校验逻辑可参见 core/app/auth/api_auth.go。时间戳参与签名使重放攻击失效,这一细节是阅读源码才能获得的实现事实。

4.2 防火墙与审计

4.3 漏洞报告渠道

文档「Informasi Keamanan(安全信息)」部分指出:发现安全问题请通过 wanghe@fit2cloud.com 联系团队。这与仓库的 SECURITY.md 完全一致——该文件声明当前支持 v1.x 版本的安全维护,并请求报告者在补丁发布前不要对外披露漏洞,改为邮件发送给上述地址。

五、备份与多云存储:文档「Cadangan & Pulih Satu Klik」的源码印证

文档称 1Panel 支持「berbagai solusi penyimpanan cloud(多种云存储解决方案)」。agent/utils/cloud_storage/client/ 目录中的客户端文件印证了其覆盖范围:

文件 云存储/协议
s3.go 通用 S3 协议
oss.go / ali.go 阿里云 OSS
cos.go 腾讯云 COS
kodo.go / up.go 七牛 Kodo / 又拍云
onedrive.go / google_drive.go OneDrive / Google Drive
webdav.go WebDAV
sftp.go SFTP
minio.go MinIO
local.go 本地存储

上层 agent/service/backup.go 配合 backup_mysql.gobackup_website.gobackup_container.go 等按对象类型实现备份,另有 agent/service/snapshot.gosnapshot_create.go 实现系统级快照与恢复,与文档「cadangan dan pulih satu klik(一键备份与恢复)」的承诺相对应。

六、许可证(License)

与文档一致,1Panel 在 GNU General Public License v3 (GPLv3) 下发布,许可文本见 LICENSESECURITY.md 与两份 main.go 的 Swagger 注解(@license.name GPL-3.0)也均指向同一许可。文档原文说明:未遵循许可证条款不得使用相关代码,且软件按「现状(APA ADANYA)」提供,不附任何明示或默示担保——具体权利与限制以 GPL v3 许可证文本为准。

七、小结

1Panel 以「core 面板服务 + agent 主机代理」的双 Go 模块架构,将主机监控、文件、数据库、容器、网站建站、应用商店、防火墙、审计日志与多云备份统一到 Web 界面中;官方提供的一行 curl 脚本即可完成安装,开发者则可通过 Makefilecore/agent/frontend/ 三个入口深入阅读其实现。本文所有架构与功能结论均可在对应源码路径中逐条验证。

登录后查看全文
热门项目推荐
相关项目推荐