Skip to content

Syncanid/Afedium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AFEDIUM

Advanced Fursuit of Electrical Device and Information Universal Manager

AFEDIUM 是一个为 Linux 系统设计的模块化远程管理平台,支持快速部署、多功能拓展和高可用性。它允许你通过 WebSocket 远程控制设备、查看状态、管理文件,适用于电子眼显示等场景。


✨ 核心特性

  • 🔌 模块化设计 功能模块可动态加载、卸载,互不干扰,独立运行。

  • 🌐 WebSocket 远程控制 内置 WebSocket 服务,支持安全连接与远程操作。

  • 🔒 灵活认证机制 支持免密、固定密码、动态验证码等多种认证方式。

  • 🖥️ 远程终端访问 可执行后端命令,实时返回输出结果。

  • 📂 全功能文件管理 支持远程浏览、上传、下载、删除、重命名、移动,支持大文件分块与校验。

  • ⚙️ 状态监控与控制 实时查看或修改系统与模块状态,方便调试。

  • 🔄 自动依赖管理 模块启动时自动安装缺失的 Python 包或系统依赖。

  • 🚀 在线更新机制 支持 Git 拉取更新并热重载,无需重启部署。

  • 🎨 易于扩展 开发者可按需编写新模块,快速添加功能。


🏗️ 项目结构

项目结构清晰,便于理解与扩展:

Afedium/
├── config/              # 配置文件目录
├── lib/                 # 通用库和工具函数
│   ├── Event.py         # 事件处理系统
│   ├── command.py       # 命令处理系统
│   ├── config.py        # 配置管理
│   ├── lib.py           # 核心库函数
│   ├── support_lib.py   # 支持库函数
│   └── var.py           # 全局变量
├── logs/                # 日志输出目录
├── pyz_modules/         # 模块存放目录
├── system/              # 核心系统模块
│   ├── display_manager.py    # 显示管理器
│   ├── external_handler.py   # 外部处理器
│   ├── module_mgmt.py        # 模块管理器
│   └── ws_server.py          # WebSocket服务器
├── plugin_data/         # 模块使用的静态资源
├── core.py              # 主程序入口
├── Afedium_ws.md        # WebSocket协议文档
├── plugin_dev.md        # 模块开发文档
└── README.md            # 本文件

🚀 快速开始

环境依赖

  • Python 3.9+
  • Git
  • pip(用于安装依赖)

安装运行

  1. 克隆项目

    git clone https://github.com/furryaxw/Afedium.git
    cd Afedium
  2. 运行主程序

    python3 core.py

    程序将自动安装所需依赖,并启动本地控制台和 WebSocket 服务。默认配置支持单显示器即插即用,无需额外设置。


⚙️ 配置

配置文件说明

AFEDIUM 的配置文件位于 config/ 目录下(首次运行时会自动生成),包含以下配置文件:

各模块默认配置

显示管理器 (display_manager.json)
{
    "enable_display": true
}
  • enable_display: 是否启用显示管理器界面功能
模块管理器 (module_mgmt.json)
{
    "modules_endpoint": "http://modules.afedium.furryaxw.top/index.json",
    "modules": {
        "core": {
            "id": "core",
            "type": "core",
            "method": "none",
            "source": "waiting"
        }
    },
    "waiting": []
}
  • modules_endpoint: 模块仓库索引文件的URL
  • modules: 已安装模块的信息
  • waiting: 等待安装的模块列表
WebSocket服务器 (ws_server.json)
{
    "server_name": "hostname", 
    "server_port": 11840,
    "broadcast_port": 12840,
    "broadcast_interval": 1,
    "server_uuid": "uuid-string",
    "features": {},
    "auth_type": "none",
    "auth_timeout": 60,
    "password": "afedium",
    "captcha_length": 6
}
  • server_name: 服务器名称(默认为主机名)
  • server_port: WebSocket服务器端口
  • broadcast_port: 广播端口
  • broadcast_interval: 广播间隔(秒)
  • server_uuid: 服务器唯一标识符
  • features: 服务器功能特性
  • auth_type: 认证类型("none", "password", "captcha")
  • auth_timeout: 认证超时时间(秒)
  • password: 服务器密码(当auth_type为"password"时使用)
  • captcha_length: 验证码长度(当auth_type为"captcha"时使用)
核心模块 (core.json)
{
    "hostname": "platform.node()",
    "Disabled": ["module_template"],
    "online": true,
    "debugging": false,
    "pip_mirror": "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple",
    "git_mirror": "https://ghproxy.com/https://github.com",
    "portable_git": "WIP"
}
  • hostname: 服务器主机名
  • Disabled: 已禁用的模块列表
  • online: 是否启用在线功能
  • debugging: 是否启用调试模式
  • pip_mirror: pip包安装镜像源
  • git_mirror: Git克隆镜像源
  • portable_git: 便携式Git路径(开发中)

📡 远程控制

你可以通过 WebSocket 客户端远程连接 AFEDIUM:

  1. 推荐使用官方客户端 Afedium Mobile
  2. 或参考文档 Afedium_ws.md 自行开发客户端。

🧩 模块开发

如果你想开发自定义模块,请参考详细的开发文档和示例: 👉 AFEDIUM 模块开发文档 👉 AFEDIUM 模块模板仓库


🛠️ 核心功能模块

系统模块 (System Modules)

  • ws_server.py: WebSocket 服务器,提供远程连接功能
  • display_manager.py: 显示管理器,控制显示输出
  • module_mgmt.py: 模块管理器,负责模块的加载和卸载
  • external_handler.py: 外部处理器,处理外部请求

库文件 (Libraries)

  • Event.py: 事件处理系统
  • command.py: 命令处理系统
  • config.py: 配置管理
  • lib.py: 核心库函数
  • support_lib.py: 支持库函数
  • var.py: 全局变量定义

💡 使用命令

AFEDIUM 提供了丰富的控制命令:

  • boot <模块名>: 加载并启动指定模块
  • quit [模块名]: 停止指定模块(无参数则退出整个程序)
  • reload: 重载整个程序
  • upgrade: 在线更新程序
  • command unregister <命令名>: 注销指定命令
  • del logs: 清空日志文件
  • get <路径>: 获取系统信息
  • set <路径> <值>: 设置系统变量值

🤝 贡献

欢迎贡献和反馈!AFEDIUM 正在不断发展中,期待你的参与!


📄 License

本项目采用 GPL-3.0 License 开源许可。

About

先进电子兽装集成化通用管理程序 AFEDIUM

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages