Language : [🇺🇸 English](./README.md) | 🇨🇳 简体中文

netop

[![Docker Pulls](https://img.shields.io/docker/pulls/zingerbee/netop?style=flat-square)](https://hub.docker.com/r/zingerbee/netop) [![Docker Image Size](https://img.shields.io/docker/image-size/zingerbee/netop?style=flat-square)](https://hub.docker.com/r/zingerbee/netop/tags) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/zingerbee/netop?style=flat-square)](https://hub.docker.com/r/zingerbee/netop/tags)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ZingerLittleBee/netop/publish.yml?style=flat-square)](https://github.com/ZingerLittleBee/netop/actions) [![Last Commit](https://img.shields.io/github/last-commit/ZingerLittleBee/netop?style=flat-square)](https://github.com/ZingerLittleBee/netop/commits/main) [![LICENSE](https://img.shields.io/crates/l/netop?style=flat-square)](./LICENSE)
## 简介 `netop` 是可以自定义过滤**网络流量**规则的终端命令行界面 🎯 ### 特点 - 使用 `bpf` 规则过滤 - 多规则切换 - 实时速率 - 总流量 - 响应式 UI - 资源占用小,`Rust` 编写 - `docker` 部署 ## 安装 ### Docker ```bash docker run -it --rm --net=host zingerbee/netop ``` ### Cargo 需要 `rust` 和 `pcap`, 具体查看 [如何构建](#如何从源码构建) ```bash # 安装 sudo cargo install netop # 运行 netop # 或者指定网卡运行 netop -n eth0 ``` ### NetBSD 在 `NetBSD` 上有官方软件包, 要安装预编译的二进制文件,只需运行 ```bash pkgin install netop ``` 或者,如果你喜欢从源代码构建它 ```bash cd /usr/pkgsrc/net/netop make install ``` ## 如何使用 - 按 `e` **进入编辑模式**, 输入新 [bpf](https://biot.com/capstats/bpf.html) 规则, **回车**确认 - 按 `Esc` **退出编辑模式** - 使用方向键 `<-` 和 `->` 在不同规则间切换 - 在非编辑模式下, 按 `dd` 删除当前规则 - 在非编辑模式下, 按 `q` 退出程序 ### 查看帮助 ```bash netop -h # docker docker run -it --rm --net=host zingerbee/netop -h ``` 输出如下 ```bash netop 0.1.4 USAGE: netop [OPTIONS] OPTIONS: -h, --help 打印帮助信息 -n, --name 指定网卡运行 -V, --version 打印版本信息 ``` ### 指定网卡运行 > 参数为**网卡名称** > > *unix: 使用 `ifconfig` 查看所有网卡信息 > > windows: 使用 `ipconfig` 查看所有网卡信息 ```bash netop -n eth0 # docker docker run -it --rm --net=host zingerbee/netop -n eth0 ``` ## 如何从源码构建 开发环境 - 最好是 `root` 用户, `pcap` 需要权限 - `rust` >= 1.40.0 - `pcap` - Ubuntu、Debian: `apt install libpcap-dev` - MacOS: 系统自带 - Windows: 下载 [WinPcap](https://www.winpcap.org/install/default.htm) 开发者包, 添加 `/Lib` 或 `/Lib/x64` 目录到系统环境变量中 ```bash # clone git clone https://github.com/ZingerLittleBee/netop.git # run sudo cargo run ``` ## 发现问题或提出建议 [Create an issue](https://github.com/ZingerLittleBee/netop/issues) ## 发行说明 SEE [CHANGELOG](./CHANGELOG.md)