Сцрипт Басх: Аутоматски контролишите ширину појаса преноса

Поздрав свима. Ово је мој други пост. Обично не пишем постове осим ако немам нешто добро да поделим, а овај пут имам нешто што ће сигурно многе занимати.

Пре неколико месеци размишљао сам да направим скрипту за ограничење пропусног опсега апликација, али имао сам неких проблема и грешака које су ми отежавале, па сам изнео сумњу у форум de <º DesdeLinux у случају да неко има идеју.

Тако сам га оставио неко време и једног дана сам одлучио да наставим сценарио. Пуно сам тестирао, пуно сам читао о басху и имао сам главобоље у слободно време, али успео сам !!

Имам огромно задовољство и зато сам одлучио да поделим са вама свој мали сценарио како бисте га могли користити и побољшати. Планирам да га лиценцирам под ГПЛв3, али то је мој први пројекат, тако да нисам сасвим сигуран како то учинити (потребан ми је савет онога ко је то раније радио).

Е, сад ћу објаснити која ми је била потреба и шта сам урадио да решим проблем.

Ситуација
Имам Интернет пакет од 512 КБ, зато користим преношење као БитТоррент клијент за преузимање великих датотека (попут ЛибреОффице и неких ГНУ / Линук дистрибуција). Са том брзином преузимања трају дуго, а проблем је у коришћењу веб прегледача фирефок: потребно је пуно времена да се учита.

Када се повежем са Интернетом, активирам временска ограничења за отпремање и преузимање и сачекам да се Фирефок учита, а затим поново покреним бујице. Као што ћете видети, радити ово неколико пута је досадно. Да не спомињем да понекад отворено зауставим све бујице, а затим заборавим да их поново активирам, што доводи до губљења драгоценог времена за отпремање / преузимање бујица.

Решење
За овај проблем одлучио сам да креирам скрипту у Басху која у основи ради следеће:

1. Проверите да ли је пренос покренут и није ли заустављен ни један бујица. Ако је тако, поново укључите бујице.

2. Уверите се да је Фирефок покренут. Затим добија КБ / с послане и примљене и спрема их у датотеку.

3. Ако отпремање / преузимање КБ / с прегледача премаши референтни опсег, подешавања преноса / преноса преноса се мењају.

То омогућава да када се жели приступити веб страници, када прегледач пошаље захтев, пренос датотеке за пренос је ограничен, а када су примљени подаци о страници, преузимање је ограничено. Ово одлично функционише када приступате више страница одједном, а резултати су заправо исти као код онемогућеног преноса.

Велика предност је што је потпуно аутоматски и не захтева моју интервенцију.

Скрипта
Иако се може користити за контролу потрошње пропусног опсега било које апликације, тренутно је написана само за решавање врло одређеног проблема. Али није много тешко извршити модификације.

Захтеви
Да би правилно функционисао потребно је имати апликацију «нетхогс'.

У овом случају, како скрипта ради са Фирефок-ом и Трансмисијом, неопходно је да ове апликације буду инсталиране, поред „пренос-даљински“, што мења вредности отпремања и преузимања бујица. Такође користим у скрипти „авк“. Спомињем је јер не знам да ли је на свим дистрибуцијама инсталирана.

Софтвер који се користи
Списак апликација које скрипта користи и систем у којем ради.

• Дебиан ГНУ / Линук 6.0.8
• Линук 2.6.32-5-686
• Фирефок 24.0
• Пренос 2.03 (11030)
• Нетхогс 0.7.0

Извршење
Мора се покренути као роот јер нетхогс може се покренути само са тим корисником, али пренос-даљински извршава се са нормалним корисником помоћу наредбе његов.

Скрипта користи интерну наредбу Басх замка Помоћу које је могуће вратити задане вредности оптерећења / растерећења преноса, када се заустави помоћу СИГИНТ (ЦТРЛ + ц) или СИГТЕРМ сигнала.

Још увек нисам сигуран како да га покренем при покретању и зауставим када искључим или поново покренем рачунар. Размишљао сам да ставим везу у датотеку /етц/рц.лоцал али не знам да ли би то функционисало и заправо не разумем како / етц / ворксинит.д (Видео сам чак и неке скрипте које постоје скелет, али их не разумем). Ако неко може да ми помогне, бићу му веома захвалан.

Па људи, то је то. Надам се да вам је мој мали допринос користан и да га можете побољшати ако желите. Радо ћу прочитати ваша мишљења и препоруке, као и предлоге у случају да постоје безбедносни проблеми са датотеком (нисам програмер, с времена на време урадим само неколико ствари).

Знам да са неким поправцима може постати одлична апликација у будућности, јер не знам ниједан програм који ради исто. На пример, пада ми на памет да бих могао да имам графички интерфејс у зенитет и да бисмо могли да изаберемо апликације којима желимо да дајемо приоритет у коришћењу пропусног опсега (веб прегледач, менаџер ажурирања, пренос датотека итд.) и различите референтне вредности. Да, помало је амбициозан, али прилично користан.

Скрипт можете преузети у паста. Хвала пуно на читању !!


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   елав дијо

    Ох! Занимљиво 😀

    1.    елиотиме3000 дијо

      У доњем левом углу имате опцију да ограничите пропусни опсег који пренос преноси и приликом отпремања и преузимања. Са Трансмисијом нисам имао проблема са тим.

      1.    колачић дијо

        Али ово је аутоматско, а постоји и пренос без графичког интерфејса, тако да можда нећете имати ту функцију при руци.

      2.    Јоакуин дијо

        Здраво, како си.
        Да, то већ знам. Али то је управо оно што не желим да радим.
        Имам врло лош план за интернет (512 КБ и најбољи је у мом окружењу).

        Са мојим сценаријем не бринем да ли ћу све радити ручно. Замислите да отворите страницу у прегледачу и Трансмиссион у том тренутку заузима сав пропусни опсег, па се страници треба неко време да се учита (највише 1 ′, али је огорчавајући). Завршио сам са „активирањем временских ограничења“ свака два минута. Ово је аутоматски и готово тренутно (проверава КБ који Фирефок шаље и прима на сваких 5 секунди).

        Заиста у мом случају са том брзином интернета, то је изврсно. Такође не знам ни за једну другу апликацију која то ради, иначе то не би учинила. Они које сам видео само ограничавају пропусност, али не и аутоматски.

        Надам се да сам био јасан. Хвала вам за читање!

        1.    Јоакуин дијо

          Извини, погрешио сам. Они нису 512КБ, већ су Кбитс. (То јест, 1/2 "Мега"). Максимално што могу да преузмем је 75 КБ / с и 50 КБ / с за отпремање. Тада је Интернет у реду, иначе је нормално 48 и 23.

    2.    Јоакуин дијо

      Хвала!

  2.   колачић дијо

    Занимљиво, користим кБитторрент и користим прекидач за ограничења.

    Пост лепо изгледа са тим бојама 😉

    1.    Јоакуин дијо

      Хвала на бојама. Нисам баш добар у томе, делује јако дуго и монотоно са толико текста.

  3.   јорге дијо

    Лично користим пренос-демон и фирефок са картицом уживо апликације, тако да не ходам са спољним програмима нити заборављам да наставим бујице или активирану корњачу (а могу то да контролишем са свог телефона). Да бисте покренули услугу, додајте корисника (нпр. Аддусер –дисаблед-пассворд нетхогс), креирајте текстуалну датотеку за демон у /етц/инит.д са именом (нпр: нетхогс-даемон), а затим у дебиан откуцајте "упдате-рц.д нетхогс-даемон дефаулт" тако да се покреће сам.

    Текстуална датотека је такође басх скрипта у коју можете спојити скрипту.
    Погледајте да ли вам ово може помоћи, може се користити за покретање даемон-а за пренос, може се користити за покретање нетхогова https://trac.transmissionbt.com/wiki/Scripts/initd

    1.    Јоакуин дијо

      Поздрав!
      Да видимо да ли разумем: ово је покретање Трансмисије при покретању и заустављање приликом искључивања или поновног покретања. С тим у вези немам проблема, јер се увек покреће сам и почиње да се преузима (додао сам га апликацијама приликом покретања у Ксфце-у).

      Мој проблем је у томе што ако приликом постављања скрипте у рц.лоцал или инит.д не знам како рачунар зауставља скрипту. Односно, очигледно се приликом искључивања / поновног покретања рачунара сви процеси прекидају (а са њима и Трансмиссион и Нетхогс), али не знам шта би се догодило са мојом скриптом.

      И зашто ме то мучи? Скрипта креира датотеку у / тмп и контролише брзину преноса. Ако га покренем у терминалу и изненада зауставим (на пример са ЦТРЛ + ц), скрипта пре затварања враћа подразумеване брзине (у случају да је потребно), а затим зауставља Нетхогс и брише датотеку из / тмп. Покушао сам да то учиним што професионалнијим, тако да не оставља лабаве датотеке или процесе у позадини.

      У вези са оним што сте рекли, нисам разумео шта је „језичка апликација“.

      1.    јорге дијо

        Картица апликације је трајна, увек је отворена и умањена у Фирефоку http://i.imgur.com/a5i0aP3.png (контекстуални мени на картици, кликните на «налепити картицу»). Када демони пошаљу ТЕРМ сигнал, они чекају неко време, док не затворе сесију, и чувају своје податке. Имајте на уму да у везу коју сам дао пре изласка из скрипте позива старт-стоп-даемон и каже преносу да заустави, тамо можете да налепите "киллалл нетхогс" и шта садржи СтопСцрипт. Инит скрипту у овом случају морали бисте да је зовете роот, а не одређеног корисника, јер јој требају привилегије.

        1.    Јоакуин дијо

          Па хвала на савету. Чим имам времена, пробам!

  4.   фацундо дијо

    сјајно, наишао сам на овај недостатак, јер чак и ако имате брзу везу, присиљени сте да ограничите пренос док желите да сурфујете и тако „губите“ време.
    Испробаћу кад будем могао. Поздрав и хвала !!

    1.    Јоакуин дијо

      Захваљујући теби! Надам се да вам ово може помоћи!

      1.    Фацундо дијо

        Поздрав Јоакуин. Видим да се ви бринете да одговорите на све коментаре, па ћу искористити то и поставићу вам неколико новајлијских питања.
        Прво, како да знам да ли имам инсталирану скрипту „авк“? Користим Дебиан 7.2.
        Друго, не знам шта да радим са кодом за лепљење. Морам да узмем уређивач текста и сачувам га у датотеци која се назива „бандвидтх-цонтроллер.сх“, а затим да га покренем као „./банд-видтх-цонтрол.сх“. Ово је део у коме сам се највише изгубио.
        Треће: Када кажете да га покренете као роот, да ли је потребно прелазити са корисника на роот или је то довољно са судо?

        Ако имате неко читање које би ме препоручило на ту тему, ценим то.
        Поздрав!

  5.   Гискард дијо

    Због тога увек деинсталирам Трансмиссион и инсталирам Делуге. Па, за то и још мало ствари које ми нуди Делуге а које други не доноси.

    1.    Јоакуин дијо

      Здраво, не знам Потоп. Мој главни проблем је интернет услуга. Овим га стиснем до краја.

  6.   панда дијо

    Здраво. моја пропусност је такође ограничена па сам пробао ову скрипту. Али не иде. чини се да је грешка у команди нетхогс -т. враћа грешку „Чекајући да стигне први пакет (погледајте грешку соурцефорге.нет 1019381)“ и пробао сам минт, арцхлинук и ништа. Шта би та команда требала да врати? Претпостављам да бих требао у обичном тексту исписати пропусни опсег који користи свака апликација. Да ли знате још један програм који вам омогућава да слушате мрежу?

    1.    Јоакуин дијо

      Здраво, како си.
      То је Нетхогс грешка. И мени се чини, али свеједно успева.

      Оно што Нетхогс ради је да у реалном времену прикаже процесе који троше највише пропусног опсега. У скрипти се његов излаз чува у текстуалној датотеци „нет.лист“, тако да се касније може филтрирати.

      Скрипта ради само са Трансмисијом (БитТоррент клијент) и Фирефоком (веб прегледач). Оно што ради је да ограничи пропусни опсег Трансмисије када Фирефок учитава веб страницу. Морате инсталирати: Нетхогс, Трансмиссион, Трансмиссион-ремоте и Фирефок.

      Све је објашњено у посту, тако да не знам у чему је ваш проблем.

      ПС: Молимо вас да правилно напишете и побољшате правопис. То је коментар, а не текстуална порука.

      1.    панда дијо

        скрипта ми не иде. штампа ту поруку о грешци много пута. покрените "нетхогс -т" у терминалу да видите шта ради, али ништа не штампа, већ само грешку. на мом рачунару то не ради. Претпостављам да би требало да штампа нешто слично ономе што штампа када се изврши без -т, показујући процесе и пропусну ширину. али у мом случају не штампа ништа од тога. који дистро сте користили за развој сценарија?

        1.    Јоакуин дијо

          Ако добро погледате, пост садржи сав коришћени софтвер и његове верзије. Не знам зашто је грешка, али чини ми се сваки пут када се покрене „нетхогс -т“. У сценарију ће се то догађати свака 2 ″.

          Може бити да када покренете нетхогс, не постоји процес који користи мрежу и зато не добијате никакве резултате.

          Скрипта се мора покренути као роот, јер тај корисник треба да функционише.

          сад сам се сетио нечег важног и знам зашто вам то не иде:

          МОРАТЕ УРЕДИТИ скрипту и променити име нормалног корисника. У сценарију се зове "јоакуин". Морате га променити у своје корисничко име.

          Жао ми је што то нисам схватио, требало је да име ставим у променљиву. Оно што се дешава је да нисам размишљао да то учиним тако уопштеним, већ сам само желео да вам га покажем како бисте га видели, а они који желе могу добити идеје како то учинити. Нисам то урадио са намером да то функционише на било ком рачунару, за то је потребно време и не знам како да програмирам, неке ствари ми се догоде.

          Сретно, било шта питајте поново. Молимо вас да поново прочитате пост и коментаре сценарија.

  7.   Фацундо дијо

    Здраво Јоакуин, реци ми следеће:

    даљински пренос: (http://localhost:9091/transmission/rpc/) Повезивање са сервером није успело
    иоцтл није успео приликом успостављања локалне ИП адресе за изабрани уређај етх0. Уређај можете одредити у командној линији.

    било какве идеје ?? Хвала!

    1.    Јоакуин дијо

      Здраво, како си.
      Извините, али немам појма 😀
      Колико сам разумео, грешка каже да је то проблем са иоцтл-ом, али не знам шта је то.

      Можда бисте могли покушати зауставити скрипту и проверити да ли даљински управљач ради са неким од његових опција (прочитајте његову ман страницу помоћу команде „ман“).