# 【TrafficCop】监控VPS流量使用，到达限制自动限流，保留SSH端口可用

**URL:** <https://www.nodeloc.com/t/topic/18895>\
**Category:** 编程开发\
**Created:** [2024 年7 月 2 日 15:40 UTC](https://www.nodeloc.com/t/topic/18895 "2024-07-02T15:40:45Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 15:40 UTC](https://www.nodeloc.com/t/topic/18895/1 "2024-07-02T15:40:45Z")

</div>

借助claude写了个监控VPS流量使用的脚本，调试了大概三四天，今天终于是完全体了！  
  
github项目地址：[GitHub - ypq123456789/TrafficCop: 监控VPS流量使用，到达限制自动限流/关机，保留SSH端口可用 · GitHub](https://github.com/ypq123456789/TrafficCop) 喜欢这个项目的可以给个star！

# ~~#~~ TrafficCop - 智能流量监控与限制脚本

## ~~##~~ 特别提醒

** ~~\*\*~~ 流量统计是从你开始安装vnstat开始的\*\***

** ~~\*\*~~ 流量统计是从你开始安装vnstat开始的\*\***

** ~~\*\*~~ 流量统计是从你开始安装vnstat开始的\*\***

** ~~\*\*~~ 如果你在安装本脚本之前没有安装过vnstat，请注意：本脚本基于vnstat的流量统计，而vnstat只会从它安装好之后开始统计流量！\*\***

## ~~##~~ 一键安装脚本

### ~~###~~ 标准安装（可能有几分钟延迟）：
````
curl -fsSL https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/trafficcop.sh -o /root/traffic_monitor.sh && chmod +x /root/traffic_monitor.sh && bash /root/traffic_monitor.sh
````
### ~~###~~ 快速更新版本：
````
curl -H "Accept: application/vnd.github.v3.raw" -fsSL "https://api.github.com/repos/ypq123456789/TrafficCop/contents/trafficcop.sh" | tr -d '\r' > /root/traffic_monitor.sh && chmod +x /root/traffic_monitor.sh && bash /root/traffic_monitor.sh
````
## ~~##~~ 实用命令

### ~~###~~ 查看日志：
````
tail -f -n 30 /root/traffic_monitor.log
````
### ~~###~~ 查看当前配置：
````
cat traffic_monitor_config.txt
````
### ~~###~~ 紧急停止所有traffic\_monitor进程（用于脚本出现问题时）：
````
pkill -f traffic_monitor.sh
````
### ~~###~~ 一键解除限速
````
curl -sSL https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/remove_traffic_limit.sh | sudo bash
````
## ~~##~~ 脚本逻辑
- ~~-~~ 自动检测并选择主要网卡进行流量限制。
- ~~-~~ 用户选择流量统计模式（四种选项）。
- ~~-~~ 用户设置流量计算周期（月/季/年）和起始日期。
- ~~-~~ 用户输入流量限制和容错范围。
- ~~-~~ 用户选择限制模式（TC模式或关机模式）。
- ~~-~~ 对于TC模式，用户可设置限速值。
- ~~-~~ 脚本每分钟检测流量消耗，达到限制时执行相应操作。
- ~~-~~ 在新的流量周期开始时自动解除限制。

## ~~##~~ 脚本特色
- ~~-~~ 四种全面的流量统计模式，适应各种VPS计费方式。
- ~~-~~ 自定义流量计算周期和起始日。
- ~~-~~ 自定义流量容错范围。
- ~~-~~ 交互式配置，可随时修改参数。
- ~~-~~ 实时流量统计提示。
- ~~-~~ TC模式保证SSH连接可用。
- ~~-~~ 关机模式提供更严格的流量控制。
- ~~-~~ 自定义限速带宽（TC模式）。

## ~~##~~ 预设配置

### ~~###~~ 阿里云CDT 200G：
````
curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/ali-200g
````
### ~~###~~ 阿里云CDT 20G：
````
curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/ali-20g
````

我拿阿里云香港cdt共享带宽试了下，精度还是比较高的！如下图所示

 ![image](https://www.nodeloc.com/uploads/default/original/2X/8/892b0f0c993b2c815ac2b82bd67a589d2c0a0b9e.png)~~![~~image](upload://jzrFjVF344GHKUDBLPXugzjjaWO.png)  
 ![image](https://www.nodeloc.com/uploads/default/original/2X/8/892b0f0c993b2c815ac2b82bd67a589d2c0a0b9e.png)~~![~~image](upload://jzrFjVF344GHKUDBLPXugzjjaWO.png)

求个点赞不过分吧家人们！真的调试了很久！有bug可以提isuue或者pr，我这个小菜鸡尽量修复

---

<div class="post-metadata">

**Author:** ![James](https://www.nodeloc.com/user_avatar/www.nodeloc.com/james/32/1745_2.png) [@James](https://www.nodeloc.com/u/James)\
**Post date:** [2024 年7 月 2 日 15:43 UTC](https://www.nodeloc.com/t/topic/18895/2 "2024-07-02T15:43:50Z")

</div>

不错啊 很完善的脚本

---

<div class="post-metadata">

**Author:** ![James](https://www.nodeloc.com/user_avatar/www.nodeloc.com/james/32/1745_2.png) [@James](https://www.nodeloc.com/u/James)\
**Post date:** [2024 年7 月 2 日 15:43 UTC](https://www.nodeloc.com/t/topic/18895/3 "2024-07-02T15:43:58Z")

</div>

等下star

---

<div class="post-metadata">

**Author:** ![everett7623](https://www.nodeloc.com/user_avatar/www.nodeloc.com/everett7623/32/199_2.png) [@everett7623](https://www.nodeloc.com/u/everett7623)\
**Post date:** [2024 年7 月 2 日 15:50 UTC](https://www.nodeloc.com/t/topic/18895/4 "2024-07-02T15:50:12Z")

</div>

厉害啊，大佬，这个很实用。

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 15:58 UTC](https://www.nodeloc.com/t/topic/18895/5 "2024-07-02T15:58:49Z")

</div>

@“James”#p41953 谢谢站长支持hh

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 15:59 UTC](https://www.nodeloc.com/t/topic/18895/6 "2024-07-02T15:59:07Z")

</div>

@“Jensfrank”#p41959 确实实用，打算给每个机子都配上，也用不上哪吒了

---

<div class="post-metadata">

**Author:** ![everett7623](https://www.nodeloc.com/user_avatar/www.nodeloc.com/everett7623/32/199_2.png) [@everett7623](https://www.nodeloc.com/u/everett7623)\
**Post date:** [2024 年7 月 2 日 16:04 UTC](https://www.nodeloc.com/t/topic/18895/7 "2024-07-02T16:04:16Z")

</div>

[upl-image-preview url=[https://www.nodeloc.com/uploads/default/2024-07-02/1719907434-722470-rn-5.jpg](https://www.nodeloc.com/uploads/default/2024-07-02/1719907434-722470-rn-5.jpg)]  
  
已测试，的确不错

---

<div class="post-metadata">

**Author:** ![everett7623](https://www.nodeloc.com/user_avatar/www.nodeloc.com/everett7623/32/199_2.png) [@everett7623](https://www.nodeloc.com/u/everett7623)\
**Post date:** [2024 年7 月 2 日 16:04 UTC](https://www.nodeloc.com/t/topic/18895/8 "2024-07-02T16:04:55Z")

</div>

@“培根冲冲冲”#p41964 哪吒还是要的，这个多一个辅助

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 16:08 UTC](https://www.nodeloc.com/t/topic/18895/9 "2024-07-02T16:08:38Z")

</div>

@“Jensfrank”#p41969 哈哈也是，确实，这个脚本可能还有很多bug，需要大家一起测试，目前只是我手上的机子没问题了而已

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 16:19 UTC](https://www.nodeloc.com/t/topic/18895/10 "2024-07-02T16:19:51Z")

</div>

@“Jensfrank”#p41968 可以跑点流量测试下哈哈哈大佬

---

<div class="post-metadata">

**Author:** ![James](https://www.nodeloc.com/user_avatar/www.nodeloc.com/james/32/1745_2.png) [@James](https://www.nodeloc.com/u/James)\
**Post date:** [2024 年7 月 2 日 16:51 UTC](https://www.nodeloc.com/t/topic/18895/11 "2024-07-02T16:51:55Z")

</div>

我有好几台阿里云学生机 :xhj01:

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 17:06 UTC](https://www.nodeloc.com/t/topic/18895/12 "2024-07-02T17:06:50Z")

</div>

@“James”#p41979 直接脚本一键套用了，大佬可以测试下流量统计是否精准、流量超限是否会限速哈

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 20:26 UTC](https://www.nodeloc.com/t/topic/18895/13 "2024-07-02T20:26:51Z")

</div>

现在已经支持关机模式，大佬们可以测试下！

---

<div class="post-metadata">

**Author:** ![Linux](https://www.nodeloc.com/user_avatar/www.nodeloc.com/linux/32/489_2.png) [@Linux](https://www.nodeloc.com/u/Linux)\
**Post date:** [2024 年7 月 2 日 20:48 UTC](https://www.nodeloc.com/t/topic/18895/14 "2024-07-02T20:48:38Z")

</div>

@“培根冲冲冲”#p41952 感谢开发者 这几天看到好几个类似的脚本还没来得及研究 你不会是首发大佬吧 好像某博主融合脚本里面也有一个类似功能

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 20:49 UTC](https://www.nodeloc.com/t/topic/18895/15 "2024-07-02T20:49:56Z")

</div>

@“Linux”#p42015 我在claude的辅助下一点点造轮子的 放心 太多功能是全网首发了，其他人都是纯偷懒，分个4个计算模式不得了了，某博主融合脚本也是最简陋的那种，你看看就知道了

---

<div class="post-metadata">

**Author:** ![Linux](https://www.nodeloc.com/user_avatar/www.nodeloc.com/linux/32/489_2.png) [@Linux](https://www.nodeloc.com/u/Linux)\
**Post date:** [2024 年7 月 2 日 20:52 UTC](https://www.nodeloc.com/t/topic/18895/16 "2024-07-02T20:52:38Z")

</div>

@“培根冲冲冲”#p42016 好的冲个凉 一会就去star支持一波:xhj16:

---

<div class="post-metadata">

**Author:** ![bacon159](https://www.nodeloc.com/user_avatar/www.nodeloc.com/bacon159/32/7038_2.png) [@bacon159](https://www.nodeloc.com/u/bacon159)\
**Post date:** [2024 年7 月 2 日 20:53 UTC](https://www.nodeloc.com/t/topic/18895/17 "2024-07-02T20:53:25Z")

</div>

@“Linux”#p42017 谢谢大佬支持:ac06:
