Skip to content

Repository files navigation

网络监控菜单栏应用

License: MIT Python 3.8+ macOS

一个简洁的macOS菜单栏应用,实时显示网络上行和下行速度。

🌟 特性

  • ✅ 实时网络速度监控
  • ✅ 自动单位转换(B/s, KB/s, MB/s, GB/s)
  • ✅ 简洁的菜单栏界面
  • ✅ 网络接口检测
  • ✅ 详细信息显示
  • ✅ 低资源占用
  • ✅ 自定义应用图标
  • ✅ 自动化构建流程

🚀 快速开始

下载安装

方式一:直接下载(推荐)

  1. 前往 GitHub Releases
  2. 下载最新版本的 NetworkMonitor_v1.0.0.dmg
  3. 双击打开DMG文件
  4. 将应用拖拽到Applications文件夹
  5. 首次运行可能需要在"系统偏好设置 > 安全性与隐私"中允许运行

方式二:从源码构建

git clone https://github.com/JoeyTrribbiani/network_monitor.git
cd network_monitor

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

系统要求

  • macOS 10.15 (Catalina) 或更高版本
  • 支持 Intel 和 Apple Silicon
  • 需要网络访问权限

💻 使用方法

开发模式运行

python run.py

功能测试

# 运行统一测试脚本
python test_all.py

打包为macOS应用

# 使用自动化构建脚本(推荐)
python build_final.py

# 或手动打包
python create_icon.py
rm -rf build dist
python setup.py py2app
cp /opt/anaconda3/envs/python39/lib/libffi.8.dylib dist/网络监控.app/Contents/Frameworks/
open dist/网络监控.app

安装打包后的应用

# 方法1: 直接运行
open dist/网络监控.app

# 方法2: 安装到应用程序文件夹
cp -r dist/网络监控.app /Applications/
open /Applications/网络监控.app

详细安装说明请参考 INSTALL.md

🎯 功能演示

菜单栏显示

  • 实时显示网络上传/下载速度
  • 使用箭头区分上行和下行
  • 自动单位转换

菜单功能

  • 上行/下行详情: 查看详细的网络统计
  • 📈 详细信息: 显示系统和网络信息
  • 🌐 接口选择: 选择监控的网络接口
  • ⚙️ 设置: 应用配置选项
  • 🚪 退出: 关闭应用

系统要求

  • macOS 10.15 (Catalina) 或更高版本
  • Python 3.8+ (仅开发模式需要)
  • 网络连接

自动化构建

项目提供了完整的自动化构建流程:

# 一键构建(推荐)
python build_final.py

这个脚本会自动完成:

  • 创建自定义应用图标
  • 安装必要的依赖
  • 打包macOS应用
  • 修复依赖问题
  • 测试应用功能

📦 发布版本

项目会在 GitHub Releases 提供预编译的macOS应用包:

  • NetworkMonitor_v1.0.0.dmg - 标准安装包
  • NetworkMonitor_v1.0.0.zip - 压缩包版本
  • 支持 Intel 和 Apple Silicon 架构
  • 文件大小约 50MB

💡 提示: 首次运行未签名应用时,需要在"系统偏好设置 > 安全性与隐私"中点击"仍要打开"

📝 Release Notes: 查看详细的发布说明和更新日志

🤝 贡献

欢迎贡献代码!请查看 CONTRIBUTING.md 了解如何参与项目开发。

贡献方式

项目结构

network_monitor/
├── src/
│   ├── __init__.py
│   ├── main.py              # 主程序入口
│   ├── network_monitor.py   # 网络监控主类
│   ├── speed_calculator.py  # 速度计算器
│   └── utils.py             # 工具函数
├── docs/
│   └── design/              # 设计文档
├── icons/                   # 应用图标
├── requirements.txt          # 项目依赖
├── setup.py                 # 打包配置
├── run.py                   # 启动脚本
├── test_all.py              # 统一测试脚本
├── create_icon.py           # 图标生成脚本
├── build_final.py           # 自动化构建脚本
└── README.md               # 项目说明

📚 文档

开发指南

核心模块说明

1. NetworkMonitor (src/network_monitor.py)

  • 菜单栏应用的主类
  • 负责UI界面和用户交互

2. 构建工具

  • create_icon.py: 生成自定义网络监控图标
  • build_final.py: 自动化构建脚本,处理所有依赖和打包步骤
  • setup.py: py2app打包配置
  • 集成速度计算器

2. SpeedCalculator (src/speed_calculator.py)

  • 网络速度计算核心
  • 使用psutil获取网络统计
  • 实现速度格式化和单位转换

3. Utils (src/utils.py)

  • 通用工具函数
  • 网络接口检测
  • 系统信息获取

添加新功能

  1. 修改菜单结构: 编辑 NetworkMonitor.setup_menu() 方法
  2. 添加新功能: 在 NetworkMonitor 类中添加新的回调方法
  3. 扩展速度计算: 修改 SpeedCalculator
  4. 添加工具函数: 在 utils.py 中添加新函数

调试技巧

  1. 查看日志: 应用运行时会输出调试信息
  2. 测试网络: 使用网络工具测试不同网络环境
  3. 性能监控: 监控CPU和内存使用情况

常见问题

Q: 应用无法启动

A: 检查Python版本和依赖安装是否正确

Q: 网络速度显示为0

A: 检查网络连接和权限设置

Q: 菜单栏图标不显示

A: 确保应用有菜单栏权限

技术栈

  • Python 3.8+: 主要开发语言
  • rumps: macOS菜单栏应用框架
  • psutil: 系统和网络信息获取
  • py2app: macOS应用打包工具

开发计划

已完成

  • 基础框架搭建
  • 网络速度监控
  • 菜单栏界面
  • 速度格式化

计划中

  • 设置面板
  • 历史数据图表
  • 网络接口选择
  • 开机自启动
  • 通知功能

贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

感谢所有为项目做出贡献的开发者!


Happy Coding! 🚀

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages