Iskripthi seBhash: Ulawulo lokuHanjiswa kweBandwidth ngokuzenzekelayo

Molweni nonke. Le yiposi yam yesibini. Andihlali ndibhala izithuba ngaphandle kokuba ndinento elungileyo yokwabelana kwaye ngeli xesha ndinento ngokuqinisekileyo abaninzi abaya kuba nomdla kuyo.

Kwiinyanga ezimbalwa ezidlulileyo bendicinga ukwenza iskripthi sokunciphisa umda wokuhamba kwezicelo, kodwa bendineengxaki kunye neempazamo ezenze ukuba kube nzima kum, ndiye ndaphakamisa ukuthandabuza kwam kwiforum de <º DesdeLinux ukuba nabani na wayenombono.

Ndiye ndayiyeka okwethutyana kwaye ngolunye usuku ndaye ndagqiba kwelokuba ndiphinde ndibhale kwakhona. Ndenze uvavanyo oluninzi, ndafunda okuninzi malunga ne-bash, kwaye ndinentloko ebuhlungu ngexesha lam langaphandle, kodwa ndiyenzile !!

Ndoneliseke kakhulu kwaye ke ndaye ndagqiba kwelokuba ndibelane nawe ngesicatshulwa sam esincinci ukuze usisebenzise kwaye usiphucule. Ndiceba ukuyenza ilayisensi phantsi kwe-GPLv3, kodwa yiprojekthi yam yokuqala ngoko andiqinisekanga ukuba ndingayenza njani le nto (ndifuna ingcebiso kuye nabani na owakha wayenza ngaphambili).

Ewe, ngoku ndiza kuchaza ukuba yayiyintoni na intswelo yam kunye nento endiyenzileyo ukusombulula ingxaki.

Imeko
Ndinecebo le-Intanethi le-512Kbs, ke ndiyisebenzisa usasazo njengomthengi weBitTorrent yokukhuphela iifayile ezinkulu (njengeLibreOffice kunye ne-GNU / Linux distros). Ngeso santya sokukhuphela kuthatha ixesha elide kwaye ingxaki kuxa usebenzisa isikhangeli sewebhu Firefox: kuthatha ixesha elide ukulayisha.

Xa ndiqhagamshela kwi-Intanethi, ndenza ukuba iTransuction ithunyelwe kwaye ndikhuphele ixesha elimiselweyo kwaye ndilinde iFirefox ukuba ilayishe, emva koko ndiqale kwakhona imilambo. Njengoko uza kubona, ukwenza oku amaxesha ambalwa kuyadinisa. Ungayichazanga eyokuba ngamanye amaxesha ndiyeka kancinci yonke imilambo kwaye ndilibale ukuyivula kwakhona, ekhokelela ekuchitheni ixesha elibalulekileyo lokulayisha / ukukhuphela imilambo.

Solution
Kule ngxaki ndithathe isigqibo sokwenza iskripthi eBhash esenza oku kulandelayo:

1. Jonga ukuba ukuhanjiswa kuyasebenza kwaye akukho mlambo umisiweyo. Ukuba kunjalo, buyisela kwakhona imilambo.

2. Qinisekisa ukuba iFirefox iyasebenza. Emva koko ifumana i-KB / s ethunyelweyo kwaye ifunyenwe yiyo kwaye igcinwe kwifayile.

3. Ukuba isikhangeli silayishe / sikhuphele i-KB / s sigqitha kuluhlu lwesalathiso, useto lokuThumela / ukukhuphela useto luyatshintshwa.

Oku kuvumela ukuba xa ufuna ukufikelela kwiphepha lewebhu, xa isikhangeli sithumela isicelo, ukuhanjiswa kwefayile kulayishiwe kwaye xa idatha yephepha ifunyenwe, ukhuphelo lilinganiselwe. Oku kusebenza kakuhle xa ufikelela kumaphepha amaninzi ngaxeshanye kwaye iziphumo ziyafana ngokuNgeniswa kokukhubazeka.

Uncedo olukhulu kukuba iyazenzekela kwaye ayifuni kungenelelo lwam.

Iskripthi
Nangona inokusetyenziselwa ukulawula ukusetyenziswa kwebandwidth yaso nasiphi na isicelo, okwangoku kubhaliwe kuphela ukusombulula ingxaki ethile. Kodwa ukwenza ukulungiswa akukho nzima kakhulu.

Izidingo
Ukuze isebenze ngokufanelekileyo kufuneka ibe nesicelo «imingxunya».

Kule meko, njengoko iskripthi sisebenza kunye neFirefox kunye neTransmission, kuyimfuneko ukuba ezi zicelo zifakelwe, ukongeza kwi "transmission-remote", yiyo le nto iguqula ukufakwa kwesikhukula nokukhuphela amaxabiso. Ndisebenzisa kwiskripthi "awk". Ndiyayithetha kuba andazi ukuba zonke ii-distros ziyifakile na.

Isoftware esebenzayo
Uluhlu lwezicelo ezisebenzisa iskripthi kunye nenkqubo apho isebenza khona.

• I-Debian GNU / Linux 6.0.8
• KwiLinux 2.6.32-5-686
• IFirefox 24.0
• Ukuhanjiswa kuka-2.03 (11030)
• IiNethogs 0.7.0

Ukuphunyezwa
Kuya kufuneka iqhutywe njengengcambu kuba imingxunya unokuqhutywa kuphela naloo msebenzisi, kodwa ukudluliselwa-kude yenziwa kunye nomsebenzisi oqhelekileyo ngomyalelo yakhe.

Iskripthi sisebenzisa i-Bash yangaphakathi ngumgibe Xa kunokwenzeka ukubuyisela umthwalo wokuhambisa / ukothula amaxabiso asisiseko, xa umisiwe yi-SIGINT (CTRL + c) okanye imiqondiso ye-SIGTERM.

Okwangoku awuqinisekanga ukuba ungayenza njani xa uyiqala kwaye uyeka xa ndicima okanye ndiqala kwakhona ikhompyuter. Bendicinga ukubeka ikhonkco kwifayile /etc/rc.local kodwa andazi ukuba izakusebenza na, kwaye andiqondi ncam ukuba / etc / worksInit.d (Ndabona ezinye zeempendulo ezikhoyo, nkqu skeleton, kodwa andibaqondi). Ukuba nabani na unokundinceda, ndiya kuba nombulelo omkhulu.

Kulungile bantu, yiyo lonto. Ndiyathemba ukuba igalelo lam elincinci liluncedo kuwe kwaye ungaliphucula ukuba unqwenela njalo. Ndingavuya xa ndifunda uluvo lwakho kunye neengcebiso kunye neengcebiso kwimeko apho kukho iingxaki zokhuseleko kwifayile (andinguye umdwelisi wenkqubo, ndenza nje izinto ezimbalwa amaxesha ngamaxesha).

Ndiyazi ukuba ngokulungiswa okuthile kunokuba sisicelo esihle kwixa elizayo, kuba andazi nayiphi na inkqubo eyenza okufanayo. Umzekelo kuyenzeka kum ukuba ndibenomfanekiso obonakalayo kwi ubuninzi kwaye sikwazi ukukhetha usetyenziso esifuna ukulubeka phambili kusetyenziso lwe-bandwidth (isikhangeli sewebhu, umphathi wohlaziyo, ukuhanjiswa kwefayile, njlnjl.) kunye namaxabiso ahlukileyo ekubhekiswa kuwo. Ewe inomdla, kodwa iluncedo.

Unokukhuphela iskripthi kwifayile ye- kudla. Enkosi kakhulu ngokufunda !!


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   iyeva sitsho

    Owu! Inomdla 😀

    1.    Eliotime3000 sitsho

      Kwikona esezantsi ekhohlo unokhetho lokunciphisa umda we-bandwidth osetyenziselwa ukuGqithisela zombini xa ufaka kunye nokukhuphela. NgoThumelo khange ndibenangxaki nayo.

      1.    Cookie sitsho

        Kodwa oku kuyazenzekela, kwaye kukwakho noGqithiso ngaphandle komdibaniso womzobo ukuze ungabinalo msebenzi usondele kangaka.

      2.    Joaquin sitsho

        Molo unjani.
        Ewe sele ndiyazi loo nto. Kodwa yile nto kanye andifuni ukuyenza.
        Ndinesicwangciso se-intanethi esibi kakhulu (i-512KB kwaye yeyona ilungileyo kwindawo yam).

        Ngombhalo wam, andinaxhala lokwenza yonke into ngesandla. Khawufane ucinge ukuba uvula iphepha kwisikhangeli kwaye uNgeniso luhlala kuyo yonke i-bandwidth ngalo mzuzu, iphepha ke lithatha ixesha ukulayisha (ubuninzi be-1, kodwa iyacaphukisa). Ndidiniwe "kukusebenzisa ixesha" yonke imizuzu emibini. Oku kuyazenzekelayo kwaye kuphantse kwangoko (kujonga i-KB ithunyelwe kwaye ifunyenwe yiFirefox rhoqo kwimizuzwana emi-5).

        Ngokwenyani kwimeko yam ngesantya se-intanethi, kulungile. Kwaye andazi ngesinye isicelo esenza oku, ngapha koko ngekhe sikwenze. Ezo ndizibonileyo ziphela umda wendlela, kodwa hayi ngokuzenzekelayo.

        Ndiyathemba ukuba ndicacile. Enkosi ngokufunda!

        1.    Joaquin sitsho

          Uxolo, ndiphazamile. Ayizizo i-512KB, endaweni yoko zii-Kbits. (Oko kukuthi, 1/2 "Mega"). Elona xesha liphezulu endinokulikhuphela li-75KB / s kunye ne-50KB / s yokulayisha. Okokuba xa i-Intanethi ilungile, kungenjalo eqhelekileyo ngama-48 nama-23.

    2.    Joaquin sitsho

      Gracias!

  2.   Cookie sitsho

    Ndinomdla, ndisebenzisa i-qBittorrent kwaye ndisebenzisa utshintsho kumda.

    Iposti ijongeka intle ngale mibala 😉

    1.    Joaquin sitsho

      Enkosi ngemibala. Andilunganga kakhulu kuyo, kubonakala ngathi inde kakhulu kwaye iyandonwabisa ngombhalo omninzi.

  3.   jorge sitsho

    Ngokwam, ndisebenzisa i-transmission-daemon kunye ne-firefox ngethebhu yesicelo esiphilayo, ke andihambi ngeenkqubo zangaphandle okanye ndilibale ukuqhubeka nemisinga okanye ufudo olusebenzayo (kwaye ndiyakwazi ukuyilawula kwifowuni yam). Ukuqala inkonzo, yongeza umsebenzisi (umz. uhlaziyo-rc.d nethogs-daemon olungagqibekanga "ukuze iqale ngokwayo.

    Ifayile yokubhaliweyo siskripthi se-bash nayo, onokuhlanganisa iscript sakho.
    Jonga ukuba oku kungakunceda, inokusetyenziselwa ukuqala i-daemon yokudlulisa, inokusetyenziselwa ukuqala i-nethogs https://trac.transmissionbt.com/wiki/Scripts/initd

    1.    Joaquin sitsho

      Molo!
      Makhe sijonge ukuba ndiyayiqonda na: oku kukuqala ukuThutha xa kuqalwa kunye nokukuyeka xa ucima okanye uqala kwakhona. Ngaphandle koko andinangxaki kuba ihlala iqala ngokwayo kwaye iqala ukukhuphela (ndiyongeze kwizicelo xa kuqalwa kwiXfce).

      Ingxaki yam kukuba xa ubeka iskripthi kwi-rc.local okanye kwi-init.d andazi ukuba ikhompyuter imisa njani iskripthi. Oko kukuthi, ngokucacileyo xa ucima / ukuqala kwakhona iPC, zonke iinkqubo ziyapheliswa (kunye nazo Ukuhanjiswa kunye neNethogs ngokunjalo) kodwa andazi ukuba kuya kwenzeka ntoni kwiskripthi sam.

      Kutheni lento indikhathaza nje? Iskripthi senza ifayile kwi / tmp kwaye ilawula isantya soThumelo. Ukuba ndiyayiqhuba kwisiphelo sendlela ndize ndiyeke ngesiquphe (umzekelo nge-CTRL + c), iskripthi ngaphambi kokuvala sibuyisela isantya esingagqibekanga (ukuba kunokwenzeka) kwaye simise uNethogs kwaye sisuse ifayile kwi / tmp. Ndizamile ukuyenza "njengengcali" ngangokunokwenzeka ukuze ingashiyi naziphi na iifayile ezikhululekileyo okanye iinkqubo zangasemva.

      Malunga nento oyithethileyo, andiqondanga ukuba yintoni "ithebhu yesicelo esiphilayo".

      1.    jorge sitsho

        Ithebhu yesicelo yithebhu esisigxina, ihlala ivulekile kwaye incitshisiwe ngaphakathi kwefirefox http://i.imgur.com/a5i0aP3.png (imenyu yokuma kwithebhu, cofa ku «cola itab»). Xa iidemem zithumela umqondiso we-TERM zilinda ithutyana, kude kube emva kokuba zivaliwe, kwaye zigcina idatha yazo. Qaphela ukuba kwikhonkco endikunike ngaphambili xa uphuma kwiskripthi ubiza i-start-stop-daemon kwaye uxelele ukuhanjiswa kuyekwe, apho ungancamathisela "killall nethogs" kunye noko iqulathe iStopScript. Iskripthi se-init kule meko kuya kufuneka uyibize njengengcambu endaweni yomsebenzisi othile, kuba ifuna amalungelo.

        1.    Joaquin sitsho

          Kulungile enkosi ngencam. Ngokukhawuleza xa ndinexesha ndiza kuzama!

  4.   ubuso sitsho

    Kukhulu, ndiye ndadibana noku kubuya umva kuba nokuba unonxibelelwano olukhawulezayo, unyanzelekile ukuba unciphise usasazo ngelixa ufuna ukusefa kwaye ngenxa yoko "uchithe" ixesha.
    Ndizakuzama xa ndinako. Ukubulisa kunye nombulelo !!

    1.    Joaquin sitsho

      Enkosi kuwe! Ndiyathemba ukuba oku kungakunceda!

      1.    Ubuso sitsho

        Molo kwakhona Joaquin. Ndiyabona ukuba ukhathalele ukuphendula kuwo onke amagqabantshintshi ke ndiza kuzisebenzisa kwaye ndiza kukubuza imibuzo embalwa.
        Kuqala, ndazi njani ukuba ndinombhalo othi "awk"? Ndisebenzisa iDebian 7.2.
        Okwesibini, andazi ukuba ndenze ntoni ngekhowudi yokuncamathisela. Kuya kufuneka ndibambe umhleli wokubhaliweyo kwaye ndigcine kwifayile ebizwa ngokuba yi "bandwidth-controller.sh" emva koko ndiyiqhube njenge "./band-width-control.sh". Le yinxalenye apho ndilahlekile kakhulu.
        Okwesithathu: Xa usithi ukuyiqhuba njengengcambu, ngaba kunyanzelekile ukuba utshintshe ukusuka kumsebenzisi uye kwingcambu okanye kwanele ngeSudo?

        Ukuba unayo nayiphi na incwadi ondicebisa ngayo ngalo mbandela, ndiyayixabisa.
        Nibuliso!

  5.   Umngcipheko sitsho

    Kungenxa yoko le nto ndihlala ndikhupha ukuhambisa kunye nokufaka uNogumbe. Ewe, ngenxa yento kunye nezinto ezingakumbi ezandinika zona ngoNogumbe ezinye azizisi.

    1.    Joaquin sitsho

      Molo, andazi uNogumbe. Ingxaki yam ephambili yinkonzo ye-intanethi. Ngale nto ndiyikhama ngokupheleleyo.

  6.   Ipanda sitsho

    Mholweni. I-bandwidth yam iyancitshiswa ke ndizamile le script. Kodwa ayisebenzi. impazamo ibonakala ikwi-nethogs -t myalelo. ibuyisa impazamo "Ilinde ipakethe yokuqala ukuba ifike (jonga sourceforge.net bug 1019381)" kwaye ndazama i-mint, archlinux kwaye akhonto. Uthini lo myalelo ubuyayo? Ndicinga ukuba ndiza kuprinta kwisicatshulwa esicacileyo umda wokuhamba usetyenziswa sisicelo ngasinye. Ngaba uyazi enye inkqubo ekuvumela ukuba umamele inethiwekhi?

    1.    Joaquin sitsho

      Molo unjani.
      Leyo yiNethogs bug. Kubonakala nakum, kodwa iyasebenza.

      Into eyenziwa nguNethogs kukubonisa iinkqubo ezisebenzisa eyona bandwidth, ngexesha lokwenyani. Kwiskripthi, iziphumo zayo zigcinwa kwifayile yokubhaliweyo "net.list", ukuze ikwazi ukuhluzwa kamva.

      Iskripthi sisebenza kuphela ngeTransmission (umxhasi weBitTorrent) kunye neFirefox (isikhangeli sewebhu). Into eyenzayo kukukhawulela umda we-Transmission xa iFirefox ilayisha iphepha lewebhu. Kuya kufuneka ufake: iiNethogs, ukuGqithisela, ukuGqithisela kude-kunye neFirefox.

      Konke kuchaziwe eposini, ke andazi ukuba yintoni ingxaki yakho.

      PS: Nceda ubhale ngokuchanekileyo kwaye uphucule upelo lwakho. Ingxelo, hayi umyalezo obhaliweyo.

      1.    Ipanda sitsho

        Iskripthi asisebenzi kum. uprinta loo myalezo wemposiso amaxesha amaninzi. run "nethogs -t" kwisiphelo sendlela ukubona ukuba yenzani kodwa ayiprinti nantoni na, yimpazamo kuphela. kwi-pc yam ayisebenzi. Ndicinga ukuba kufuneka iprinte into efanayo kwinto eprintwayo xa isebenza ngaphandle kwe -t, ibonisa iinkqubo kunye ne-bandwidth. kodwa kwimeko yam ayishicileli nayiphi na. yeyiphi i-distro oyisebenzisileyo ukwenza iskripthi?

        1.    Joaquin sitsho

          Ukuba ujonga ngokusondeleyo, iposti iqulethe yonke isoftware esetyenzisiweyo kunye neenguqulelo zayo. Andazi ukuba kutheni lempazamo, kodwa ibonakala kum ngalo lonke ixesha "nethogs -t" ziqhutywa. Kwiskripthi kuya kwenzeka rhoqo ngo-2 ″.

          Kungenzeka ukuba xa uqhuba i-nethogs, akukho nkqubo isebenzisa inethiwekhi kwaye yiyo loo nto ungafumani siphumo.

          Iskripthi kufuneka siqhutywe njengengcambu kuba i-nethogs ifuna ukuba umsebenzisi asebenze.

          ngoku ndikhumbule into ebalulekileyo kwaye ndiyazi ukuba kutheni ingasebenzi kuwe:

          KUFUNEKA UHLELE iskripthi kwaye utshintshe igama lomsebenzisi oqhelekileyo. Kwiskripthi ibizwa ngokuba yi "joaquin". Kuya kufuneka uyitshintshele kwigama lakho lomsebenzisi.

          Uxolo khange ndiyazi lonto, bekufanele ukuba ndibeke igama kuguquguquko. Into eyenzekayo kukuba khange ndicinge ukuyenza ibanzi, bendifuna ukukubonisa yona ukuze uyibone kwaye nabo bafuna ukufumana izimvo zendlela yokwenza. Khange ndiyenze ngenjongo yokuba izakusebenza nakweyiphi na ikhompyuter, ethatha ixesha kwaye andazi ukuba ndenze njani, ezinye izinto zenzeka kum.

          Ngethamsanqa, nantoni na ibuze kwakhona. Kwaye nceda ufunde iposti kunye nezimvo zeskripthi kwakhona.

  7.   Ubuso sitsho

    Molo Joaquín, ndixelele oku kulandelayo:

    ukudlulisa-kude: (http://localhost:9091/transmission/rpc/Ayikwazanga ukuqhagamshela kwiseva
    ioctl isilele ngelixa kwakusekwa i-IP yendawo ngesixhobo esikhethiweyo se-eth0. Ungasichaza isixhobo kumgca wokuyalela.

    naziphi na izimvo? enkosi!

    1.    Joaquin sitsho

      Molo unjani.
      Uxolo kodwa andinalwazi 😀
      Ukusuka kwinto endiyiqondayo impazamo ithi, yingxaki nge-ioctl, kodwa andazi ukuba yintoni leyo.

      Mhlawumbi ungazama ukumisa iskripthi kwaye ubone ukuba ukudlulisa-kude kuyasebenza kunye nezinye izinto onokukhetha kuzo (funda iphepha lomntu kunye nomyalelo "womntu").