阿里云控制台工具 (aliyun-controller)
这是一个调用阿里云 Python SDK 的终端用户界面(TUI)工具,基于 Textual 构建,用于在终端中完成账单查询与 DNS 解析管理等常用操作。
功能特性
- 流量统计:查询指定月份的公网流出流量(IPv4 / IPv6 / 合计),明细表格 + 20GB 免费额度双色进度条
- 账单归纳:按产品归纳指定月份的消费金额,附消费汇总面板(总额 / 产品数 / 占比最高项)
- DNS 管理:管理域名解析记录,支持搜索、排序以及增删改、启用/禁用
- 现代化 TUI:艺术字首页、统一键位、页面内折叠菜单、状态栏与非阻塞异步加载
后续计划
- 加入 ECS 控制 的相关内容
- 加入 OOS 控制 的相关内容
界面与快捷键
| 场景 | 快捷键 | 作用 |
|---|---|---|
| 全局 | Tab |
切换焦点 |
Ctrl+Q |
退出程序 | |
Home / End / PgUp / PgDn |
页面滚动到顶 / 底 / 翻页(焦点在文本框时自动让位给文本框) | |
| 主菜单 | 1 / 2 / 3 / 4 / 5 |
直达流量查询 / 账单归纳 / DNS 管理 / 设置 / 退出 |
↑ / ↓ · 回车 |
移动光标 · 确认 | |
q |
退出程序 | |
| 功能页 | Ctrl+R |
刷新数据 |
Esc |
返回上一级(折叠菜单打开时优先关闭菜单) | |
↑ / ↓ · 回车 |
表格内移动光标 · 操作所选行 | |
/ |
聚焦搜索框(实时模糊过滤) | |
← / → |
月份选择器切换账期(焦点在选择器上时) | |
| DNS 记录页 | Ctrl+N / Ctrl+E / Ctrl+D |
新增 / 编辑 / 删除(作用于当前行) |
| 弹窗 | Esc |
取消并关闭 |
回车 |
提交表单或确认 |
鼠标全程可用:按钮 / 选项 / 列表行一律单击即执行(表格行单击即进入下一级或打开编辑),滚轮滚动光标所在的滚动区域。
安装指南
通过 pip 安装(推荐)
pip install aliyun-controller
安装后,可以直接使用 aliyunctl 命令运行程序:
aliyunctl
需要 Python 3.10 及以上版本。
从源码运行(开发模式)
-
克隆此项目到本地:
git clone <项目地址> cd aliyun-controller
-
创建虚拟环境(推荐):
python -m venv venv source venv/bin/activate # Linux/Mac # 或在 Windows 上: venv\Scripts\activate
-
安装依赖:
pip install -e .
-
创建阿里云 RAM 用户并授权:
- 登录阿里云控制台。
- 进入 RAM 访问控制。
- 在左侧导航栏选择 用户 > 创建用户。
- 设置登录名称和显示名称,勾选 为该用户自动生成 AccessKey。
- 创建成功后,请务必保存好 AccessKey ID 和 AccessKey Secret,它们只显示一次。
- 为新创建的 RAM 用户授权:
- 在用户详情页,点击 添加权限。
- 选择 AliyunBSSReadOnlyAccess 和 AliyunDNSFullAccess 权限。
- 点击 确定 完成授权。
-
配置阿里云访问密钥: 默认情况下,程序会在
~/.config/aliyun-controller目录下查找配置文件。 首次运行或配置文件不存在时,程序会自动进入 Textual 配置向导,依次填写:access_key_idaccess_key_secret
填写完成后会自动生成
config.yaml。之后也可从主菜单的「设置」中随时修改访问密钥。你也可以使用
--dir/-D参数指定配置文件所在的目录:aliyunctl -D /path/to/your/config/dir
使用方法
安装后,可以直接使用 aliyunctl 命令运行程序:
aliyunctl
程序将显示 Textual 交互界面,你可以选择以下功能:
- 流量查询:查看指定月份的公网总流出流量
- 账单归纳:查看指定月份按产品汇总的账单明细
- DNS 解析管理:管理域名解析记录
- 设置:查看 / 修改阿里云访问密钥
你也可以使用 --dir/-D 参数指定配置文件所在的目录:
aliyunctl -D /path/to/your/config/dir
账单查询
- 进入后默认查询当前月份的账单
- 顶栏的
◀ YYYY-MM ▶月份选择器可逐月切换(点击月份还会弹出年份 + 12 月的快捷选择浮层),切换后自动重新查询(范围:2020-01 至当月) - 流量页附带 20GB 免费额度进度条:额度内绿色,超出部分红色(量程随用量自适应)
- 查询在后台线程执行,界面不会阻塞;结果以汇总面板 + 明细表格展示
DNS 管理
- 选择要管理的域名,进入解析记录列表
- 支持按主机记录 / 记录值模糊筛选
- 支持按创建时间、二级域名、首字母排序(正序 / 逆序)
- 回车可对所选记录执行编辑、启用 / 禁用、删除操作,并可新增记录
权限要求
为了正常使用所有功能,你的阿里云 RAM 用户记得开放以下权限:
AliyunBSSReadOnlyAccess:用于账单查询AliyunDNSFullAccess:用于 DNS 管理
开发
本项目遵循 Python 3.10+ 规范。
git clone https://github.com/Moha-Master/Aliyun-Controller.git
cd Aliyun-Controller
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
许可证
MIT
Release files for aliyun-controller 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aliyun_controller-0.2.0.tar.gz | 32.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aliyun_controller-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.6 kB
Release files / aliyun_controller-0.2.0.tar.gz
| Download URL | aliyun_controller-0.2.0.tar.gz |
|---|---|
| Size | 32.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1495086df6fc5ced45e63b7e181e1137b8e3b9223573f89d66bd93671175dfb3
|
|
BLAKE2b-256 checksum How to use checksums |
eb8ce0b7fb53ddd2e179deae69bca02e4cc4deb9c52f594c4af0a5bb205055e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / aliyun_controller-0.2.0-py3-none-any.whl
| Download URL | aliyun_controller-0.2.0-py3-none-any.whl |
|---|---|
| Size | 37.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99ab2988aad4af79a4f17d019285a2d48f2905058abde4d333ba052926adc9ae
|
|
BLAKE2b-256 checksum How to use checksums |
dd97ec91bd91b903214ffaa8bad5b61f07c766d322773f08b5812f464a5ec230
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|