大家好。 这是我的第二篇文章。 我通常不会写帖子,除非我有一些好分享的东西,而且这次我肯定会有很多人感兴趣的东西。
几个月前,我曾想制作一个脚本来限制应用程序的带宽,但是我遇到了一些问题和错误,这使我感到很困难,因此我对使用 孔 de <ºFromLinux 万一有人有主意。
所以我离开了一段时间,有一天我决定恢复脚本。 我做了很多测试,读了很多有关bash的文章,业余时间我头疼,但我做到了!
我非常满意,因此我决定与您分享我的小脚本,以便您可以使用和改进它。 我计划在GPLv3下许可它,但这是我的第一个项目,因此我不太确定如何做到这一点(我需要曾经做过此事的人的建议)。
好吧,现在我将解释我的需求和解决问题的方式。
情况
我的网络计划为512Kbs,因此我使用 传输 作为BitTorrent客户端来下载大文件(例如LibreOffice和某些GNU / Linux发行版)。 以这种速度下载需要很长时间,问题出在使用网络浏览器时 Firefox:需要很长时间才能加载。
当我连接到Internet时,我激活了传输上传和下载的时间限制,并等待Firefox加载,然后再次启动种子。 如您所见,这样做几次很乏味。 更不用说有时我会完全暂停所有种子,然后忘记再次激活它们,从而浪费了宝贵的时间来上传/下载种子。
解决方案
对于这个问题,我决定在Bash中创建一个脚本,该脚本主要执行以下操作:
1. 检查传输是否正在运行并且没有洪流暂停。 如果是这样,请重新打开洪流。
2. 确认Firefox正在运行。 然后,它获取它发送和接收的KB / s并将其保存在文件中。
3. 如果浏览器的上传/下载KB / s超出参考范围,则更改传输上传/下载设置。
这允许当想要访问网页时,当浏览器发送请求时,传输文件上传受到限制,而当接收到页面数据时,下载受到限制。 一次访问多个页面时,此方法非常有用,并且结果实际上与禁用传输时相同。
最大的优点是它是全自动的,不需要我的干预。
剧本
尽管它可以用来控制任何应用程序的带宽消耗,但目前它仅用于解决一个非常特殊的问题。 但是进行修改不是很困难。
要求
为了使它正常工作,必须安装该应用程序«网络猪“。
在这种情况下,由于该脚本可与Firefox和Transmission一起使用,因此除了“ transmission-remote”外,还需要安装这些应用程序,而这正是改变torrent上传和下载值的原因。 我还在脚本“ awk”中使用。 我提到它是因为我不知道所有发行版是否都安装了它。
使用的软件
脚本使用的应用程序及其工作系统的列表。
•Debian GNU / Linux 6.0.8
• Linux 2.6.32-5-686
• 火狐 24.0
•变速箱2.03(11030)
• 网络猪 0.7.0
执行
它必须以root身份运行,因为 网络猪 只能与该用户一起运行,但是 远程传输 它由普通用户通过命令执行 他的。
该脚本使用内部Bash命令 陷阱 当通过SIGINT(CTRL + c)或SIGTERM信号停止传输加载/卸载默认值时,可以使用该设置恢复传输默认值。
仍然不确定如何在启动时运行它,以及在我关闭或重新启动计算机时停止运行。 我当时想在文件中放一个链接 在/etc/rc.local 但我不知道它是否会工作,我也不真正了解/ etc /的工作方式初始化 (我看到了一些脚本,甚至 骨架,但我听不懂)。 如果有人可以帮助我,我将非常感激。
伙计们,就是这样。 希望我的一点贡献对您有用,如果您愿意,您可以改善它。 如果文件存在安全问题,我将很高兴阅读您的意见和建议以及建议(我不是程序员,我会不时做一些事情)。
我知道通过一些修补程序,它将来可能会成为一个很好的应用程序,因为我不知道有任何程序可以做到这一点。 例如,我想到我可以在其中有一个图形界面 善意 并能够选择我们要优先使用的带宽(网络浏览器,更新管理器,文件传输等)和不同参考值的应用程序。 是的,它有点雄心勃勃,但很有用。
您可以在 糊。 非常感谢您的阅读!!