[TrafficCop] 监控 VPS 流量使用,到达限制自动限流,保留 SSH 端口可用

借助claude写了个监控VPS流量使用的脚本,调试了大概三四天,今天终于是完全体了!
github项目地址:GitHub - ypq123456789/TrafficCop: 监控VPS流量使用,到达限制自动限流/关机,保留SSH端口可用 喜欢这个项目的可以给个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共享带宽试了下,精度还是比较高的!如下图所示


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

34 个赞

这个不错,我开台阿里云香港试试

3 个赞

挺好用的,未来一定star不断

2 个赞

谢谢大佬帮忙测试

2 个赞

借你吉言啊大佬,谢谢支持

1 个赞

感谢!

谢谢支持

轻量阿里云香港,天天用一看监控,才2.7G

你是说脚本的监控还是阿里云的监控呀

后续计划中有对端口进行限速和统计吗?

暂时没有,目前在做tg推送功能,欢迎pr

阿里云官方监控页面

那么本脚本统计的流量是多少呢,是否准确啊

From #dev to 开发调优

dd成debian12 提示好像有点错误

请输入限速 (kbit/s,默认为20): 
2024-09-19 01:42:12 配置已更新
2024-09-19 01:42:12 Crontab 已设置,每分钟运行一次
2024-09-19 01:42:12 配置已更新,脚本将每分钟自动运行一次
2024-09-19 01:42:12 当前流量使用情况:
2024-09-19 01:42:12 周期开始日期: 2024-08-26, 周期结束日期: 2024-09-25
(standard_in) 1: illegal character: :
(standard_in) 1: syntax error
2024-09-19 01:42:12 当前统计周期: monthly (从 2024-08-26 开始)
2024-09-19 01:42:12 统计模式: out
2024-09-19 01:42:12 当前使用流量:  GB
2024-09-19 01:42:12 检查并限制流量:
2024-09-19 01:42:12 周期开始日期: 2024-08-26, 周期结束日期: 2024-09-25
(standard_in) 1: illegal character: :
(standard_in) 1: syntax error
2024-09-19 01:42:12 当前使用流量:  GB,限制流量: 175 GB
(standard_in) 1: syntax error
2024-09-19 01:42:12 流量正常,清除所有限制
-----------------------------------------------------
root@iZj6c35hoco1d5xb4ixpk6Z:~# 

这个报错并不影响,不显示流量,是因为你没有跑流量。你跑完流量,等5分钟看看

感谢分享,点赞收藏

谢谢支持:heart::rose:

感谢分享,大佬能不能出个alpine的

挺实用的功能 感谢分享