VPS流量监控限制脚本

原帖地址:【TrafficCop】监控VPS流量使用,到达限制自动限流,保留SSH端口可用 (nodeseek.com)

github项目地址:https://github.com/ypq123456789/TrafficCop

注意事项

  1. 脚本是基于vnstat的流量统计,vnstat只会在安装后开始统计流量!
  2. TC模式无法防止DDoS消耗流量,流量消耗速度仍然较快!
  3. 如果遇到GitHub API速率限制问题,可以尝试以下解决方案:
    • 使用原始内容URL下载脚本
    • 等待API限制重置(通常1小时)
    • 使用个人访问令牌增加API限额
    • 手动下载脚本并运行
  4. 脚本默认使用root权限运行。如需非root用户运行,请确保该用户有sudo权限,并将所有命令前加sudo。
  5. 如果遇到问题,可以查看日志文件(/root/traffic_monitor.log)获取更多信息。
  6. 定期检查脚本更新以获取新功能和bug修复。
  7. 对于特定VPS提供商,可能需要调整配置以适应其计费模式。
  8. TC模式下的速度限制可能不是精确的,实际速度可能略有偏差。
  9. 关机模式会完全切断网络连接,请谨慎使用。
  10. 建议定期备份配置文件(traffic_monitor_config.txt)。

常见问题

Q: 为什么我的流量统计似乎不准确?
A: 确保vnstat已正确安装并运行一段时间。新安装的vnstat需要时间来收集准确的数据。

Q: 如何更改已设置的配置?
A: 重新运行脚本,它会提示你是否要修改现有配置。

Q: TC模式下SSH连接变慢怎么办?
A: 尝试增加TC模式下的速度限制值。

Q: 如何完全卸载脚本?
A: 使用以下命令:

sudo pkill -f traffic_monitor.sh
sudo rm /root/traffic_monitor.sh /root/traffic_monitor_config.txt /root/traffic_monitor.log
sudo tc qdisc del dev (ip route | awk '/default/ {print \5}') root

一键安装脚本

一键全家桶(调用api,版本最新,可能会被限流):

sudo apt update && 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 && sudo curl -H "Accept: application/vnd.github.v3.raw" -fsSL "https://api.github.com/repos/ypq123456789/TrafficCop/contents/tg_notifier.sh" | tr -d '\r' > /root/tg_notifier.sh && chmod +x /root/tg_notifier.sh && bash /root/tg_notifier.sh

一键全家桶(从原始内容下载,版本可能落后):

sudo apt update && curl -fsSL "https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/trafficcop.sh" | tr -d '\r' > /root/traffic_monitor.sh && chmod +x /root/traffic_monitor.sh && bash /root/traffic_monitor.sh && sudo curl -fsSL "https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/tg_notifier.sh" | tr -d '\r' > /root/tg_notifier.sh && chmod +x /root/tg_notifier.sh && bash /root/tg_notifier.sh

我只要监控,不要TG推送:

sudo apt update && 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

实用命令

查看日志:

sudo tail -f -n 30 /root/traffic_monitor.log

查看当前配置:

sudo cat traffic_monitor_config.txt

紧急停止所有traffic_monitor进程(用于脚本出现问题时):

sudo pkill -f traffic_monitor.sh

一键解除限速

sudo curl -sSL https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/remove_traffic_limit.sh | sudo bash

脚本逻辑

  • 自动检测并选择主要网卡进行流量限制。
  • 用户选择流量统计模式(四种选项)。
  • 用户设置流量计算周期(月/季/年)和起始日期。
  • 用户输入流量限制和容错范围。
  • 用户选择限制模式(TC模式或关机模式)。
  • 对于TC模式,用户可设置限速值。
  • 脚本每分钟检测流量消耗,达到限制时执行相应操作。
  • 在新的流量周期开始时自动解除限制。

脚本特色

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

Telegram Bot 集成

TrafficCop 现在集成了 Telegram Bot 功能,可以发送以下通知:

  • 限速警告
  • 限速解除通知
  • 新周期开始通知
  • 关机警告
  • 每日流量报告

支持自定义主机名,一个机器人就可以统一管理你的所有小鸡!

要使用此功能,请在脚本配置过程中提供你的 Telegram Bot Token 和 Chat ID。

Telegram Bot Token 在你创建机器人时会显示。

Chat ID获取方法:https://api.telegram.org/bot${BOT_TOKEN}/getUpdates

${BOT_TOKEN}是你的 Telegram Bot Token

Chat ID还可以通过bot获取,更简单,比如username_to_id_bot

相关命令

一键推送脚本

sudo apt update && curl -H "Accept: application/vnd.github.v3.raw" -fsSL "https://api.github.com/repos/ypq123456789/TrafficCop/contents/tg_notifier.sh" | tr -d '\r' > /root/tg_notifier.sh && chmod +x /root/tg_notifier.sh && bash /root/tg_notifier.sh

查看tg推送定时执行日志

sudo tail -f -n 30 /root/tg_notifier_cron.log

查看当前状态

sudo tail -f -n 30 /tmp/last_traffic_notification

杀死所有TG推送进程

sudo pkill -f tg_notifier.sh && crontab -l | grep -v "tg_notifier.sh" | crontab -

推送示意如下:

VPS流量监控限制脚本

预设配置

阿里云CDT 200G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/ali-200g && cat traffic_monitor_config.txt

阿里云CDT 20G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/ali-20g && cat traffic_monitor_config.txt

阿里云轻量 1T:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/ali-1T && cat traffic_monitor_config.txt

azure学生 15G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/az-15g && cat traffic_monitor_config.txt

azure学生 115G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/az-115g && cat traffic_monitor_config.txt

GCP 625G大流量极致解法

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/GCP-625g && cat traffic_monitor_config.txt

GCP 200G(白嫖标准路由200g流量就跑):

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/GCP-200g && cat traffic_monitor_config.txt

alice 1500G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/alice-1500g && cat traffic_monitor_config.txt

亚洲云 300G:

sudo curl -o /root/traffic_monitor_config.txt https://raw.githubusercontent.com/ypq123456789/TrafficCop/main/asia-300g && cat traffic_monitor_config.txt

发布者:木木,转载请注明出处:https://blog.mmcool.site/4464.html

Like (0)
Donate 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
木木的头像木木
Previous 2024 年 7 月 30 日 下午8:51
Next 2024 年 7 月 30 日 下午9:08

相关推荐

发表回复

Please Login to Comment
SHARE
TOP