Skip to main content

InPanel Client - A Desktop Client for InPanel Server Management

Project description

InPanel Client

PyPI Python License

InPanel —— 通过图形化界面远程管理 InPanel 服务器。

基于 Python Tkinter 构建,通过 HTTP API 与 InPanel 服务端通信,支持连接管理、系统监控、服务控制、文件管理、数据库管理、站点管理、系统工具等完整功能。


功能模块

仪表盘 (Dashboard)

  • 系统运行状态概览
  • CPU、内存、磁盘、网络实时监控

服务管理 (Services)

  • 管理 Nginx、Apache、MySQL、Redis 等服务
  • 启动 / 停止 / 重启 / 状态查看
  • 服务安装与卸载

文件管理 (Files)

  • 远程文件浏览、编辑、上传、下载
  • 文件权限修改
  • 回收站管理

数据库管理 (Databases)

  • MySQL / MariaDB 数据库管理
  • 数据库创建与删除
  • 用户权限管理

站点管理 (Sites)

  • 站点创建与配置
  • Nginx / Apache 虚拟主机管理

应用管理 (Apps)

  • 一键部署常用应用
  • 应用状态管理

系统工具 (Tools)

工具 说明
网络管理 网络接口配置、主机名、DNS 设置
时间管理 系统时间、时区、NTP 同步
定时任务 Cron 计划任务管理
用户管理 系统用户与用户组管理
进程管理 进程查看与终止
命令行终端 远程 Shell 命令执行
防火墙管理 iptables / firewalld / ufw 规则管理
软件仓库 系统软件源配置
SSL 证书 证书申请、续期、管理
磁盘管理 磁盘分区与挂载信息

设置 (Settings)

  • 连接管理与切换
  • 客户端偏好设置

安装

要求

  • Python >= 3.6
  • Tkinter 支持

注意: Windows 和 macOS 的 Python 官方安装包已自带 Tkinter,无需额外操作。
Linux 用户需要手动安装 tkinter:

系统 安装命令
Debian / Ubuntu sudo apt install python3-tk
RHEL / CentOS / Fedora sudo dnf install python3-tkinter
Arch Linux sudo pacman -S tk
Alpine sudo apk add python3-tkinter

安装后可验证:

python3 -c "import tkinter; print('tkinter OK')"

通过 pip 安装

pip install inpanel-client

安装完成后通过命令行启动:

inpanel-client

通过源码安装

git clone https://github.com/inpanel/inpanel-client.git
cd inpanel-client
pip install .

卸载

pip uninstall inpanel-client

开发说明

克隆项目

git clone https://github.com/inpanel/inpanel-client.git
cd inpanel-client

安装开发依赖

pip install -e .

项目结构

inpanel-client/
├── inpanel_client/              # 主包目录
│   ├── __init__.py              # 包入口
│   ├── app.py                   # 程序入口,main() 函数
│   ├── inpanel.py               # 主界面框架、侧边栏导航与连接管理
│   ├── api.py                   # InPanel HTTP API 客户端封装
│   ├── init.py                  # 数据库初始化窗口
│   ├── menu.py                  # 菜单栏
│   ├── settings.py              # 设置模块
│   ├── win.py                   # 通用窗口组件(启动屏幕、编辑窗口等)
│   ├── utils/                   # 工具模块
│   │   ├── connection_config.py # 连接配置管理(JSON 存储)
│   │   ├── dbcontent.py         # 数据库内容操作
│   │   ├── functions.py         # 通用函数(窗口居中、排序、弹窗基类)
│   │   ├── global_variable.py   # 全局变量管理
│   │   └── sqlite_helper.py     # SQLite 数据库助手
│   ├── data/                    # 数据文件
│   │   ├── config.ini           # 配置文件
│   │   ├── connection.json      # 连接配置
│   │   ├── database.db          # SQLite 数据库
│   │   └── image/               # 图片资源
│   └── views/                   # 视图模块
│       ├── common/              # 公共视图(关于、帮助)
│       ├── dashboard/           # 仪表盘
│       ├── service/             # 服务管理
│       ├── file/                # 文件管理(含回收站)
│       ├── database/            # 数据库管理
│       ├── site/                # 站点管理
│       ├── app/                 # 应用管理
│       ├── tools/               # 系统工具(网络/时间/定时任务/用户/进程/终端/防火墙/仓库/SSL/磁盘)
│       └── settings/            # 设置
├── scripts/                     # 构建脚本
│   └── build_package.sh         # pip 包构建脚本
├── resources/                   # 资源文件(应用图标等)
├── test/                        # 测试代码
├── pyproject.toml               # pip 打包配置
├── build.spec                   # PyInstaller 桌面应用打包
├── build.sh                     # 桌面应用构建入口
├── setup.iss / exe.iss          # Inno Setup Windows 安装包
├── InPanel.pkgproj              # Packages macOS 安装包
├── requirements.txt             # 依赖声明
└── LICENSE                      # MIT 开源协议

构建 pip 包

# 构建 sdist + wheel
./scripts/build_package.sh

# 仅构建 sdist
./scripts/build_package.sh sdist

# 仅构建 wheel
./scripts/build_package.sh wheel

# 构建并上传到 PyPI
./scripts/build_package.sh upload

# 构建并上传到 Test PyPI
./scripts/build_package.sh test

构建桌面应用

# macOS / Linux 桌面应用
pyinstaller build.spec

开发者

Jackson Doujksdou@qq.com


协议

本项目基于 MIT License 开源发布。

Copyright © 2017 - 2026 Jackson Dou

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inpanel_client-0.0.3.tar.gz (93.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inpanel_client-0.0.3-py3-none-any.whl (120.1 kB view details)

Uploaded Python 3

File details

Details for the file inpanel_client-0.0.3.tar.gz.

File metadata

  • Download URL: inpanel_client-0.0.3.tar.gz
  • Upload date:
  • Size: 93.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for inpanel_client-0.0.3.tar.gz
Algorithm Hash digest
SHA256 378c8651fce62bc88416dc70724b3ac43fd519b3c25a9202167f4e72aef9f817
MD5 eabf7f39d1fe638ca0ff3e62f2a49e9d
BLAKE2b-256 15043c551f0271f0586bd49152f76cda1cf80db2e20f74fad2cb77cbe9442d6d

See more details on using hashes here.

File details

Details for the file inpanel_client-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: inpanel_client-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 120.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for inpanel_client-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 565caf1fb1d07df022a21d7f3b5aff56ecb985ec6084888adec5fce46bca5aac
MD5 ff4d19937c37aa6f6e162c6a59bfa990
BLAKE2b-256 c385b2de19ab2a8bdeb1a476b20ee9ab8043d6f7981cb5bf0d6e044d51014ca5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page