aMule Forum
Deutsch => aMule Entwicklung => Topic started by: elder_donkey on August 04, 2004, 09:37:58 AM
-
Hallo,
Ich habe zur Zeit einen SDSL-Tarif, bei dem die Bandbreite tagsüber im Down-Upload drastisch eingeschränkt ist. Ab Abends bzw. am Wochenende habe ich die volle Datenrate.
Bisher ist es immer so, das ich immer morgens/abends manuell umstellen muss. Ärgerlich nur, wenn die Möglichkeit nicht besteht. So verliere ich abends ein paar Stunden vollen Down/Upload bzw. Der Upload drückt morgens den Down-, von der Restbandbreite an die Wand.
Wäre super, wenn ihr das einbauen würdet.
So das aMule automatisch zwei verschiedene Bandbreiten, je nach Tageszeit einstellt: z.B.: Wochentags zwischen 8.00 -20.00 Uhr 24/16 und ab Abend/WO: 160/80 KByte.
Grüße
EDonkey
-
hm gibts nich irgendwie ne möglichkeit mit ner Shell die Preferences zu verändern ? (@dev)
Weil dann könnte man sich ja so 2 Shells schreiben
eine zum runtersetzen des Speeds eine zum wieder hochsetzen
und dann
hoch lebe Cron ;)
-
Die Up/Downloadrate steht ja in der .eMule Datei des jew. Home-Directorys. Würde ja schon reichen, wenn man die per Cron jeweils "neu" erzeugt bzw. überschreibt und dann z.B. eine Funktion ala
amule -reload
diesen"zwingt" die Konfiguration neu einzulesen.
Man sollte nur vorher die Statistik auslesen und sichern, sonst wird die ja jedemal wieder mit den Anfangswerten überschrieben.
Und per Cron amule zweimal am Tag abzuschiessen und mit den neuen Werten zu starten ist auch keine Lösung. Meine armen .met Dateien.
@deltaHF: Bitteeee ! :D Noch kann ich mir keine studentische Hilfskraft für 5 € die Stunde leisten, die den Job übernimmt.
Grüße
EDonkey
-
hi,
wirds geben, kann ich allerdings nicht sagen wann ..
gruss
-
In der Zwischenzeit kannst du dir mit dem Paket ,,iproute'' behelfen, indem du Amule nur die gewünschte Bandbreite zugestehst. Per cron steuerst du das Ganze tageszeitabhängig.
Die Verwendung des Pakets Iproute bzw. des tc-Kommandos verlangt etwas Einarbeitungszeit, aber es gibt einige Anleitungen im Netz, z.B. hier:
http://tldp.org/HOWTO/Adv-Routing-HOWTO/
Oder hier:
http://pupa.da.ru/imq/tc_tutorial.htm
Mit ein wenig googeln finden sich auch noch jede Menge Beispielskripte. Einfach nach den Begriffen "tc rate ceil" (ohne Anführungsstriche) suchen.
Gruß Hariolf
-
Als Skript könntest du z.B. das hier nehmen:
#!/bin/sh
export amule_bb=$1
# Erst alle qdiscen loeschen
/opt/htb3.6-020525/tc qdisc del dev eth0 root 2> /dev/null > /dev/null
/opt/htb3.6-020525/tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
/opt/htb3.6-020525/tc qdisc del dev eth0 root 2> /dev/null > /dev/null
/opt/htb3.6-020525/tc qdisc del dev lo root 2> /dev/null > /dev/null
# Wurzel
/opt/htb3.6-020525/tc qdisc add dev eth0 root handle 1:0 htb default 12 r2q 10
/opt/htb3.6-020525/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 20kbit ceil ${amule_bb}kbit prio 3
iptables -A OUTPUT -t mangle -o eth0 -m owner --cmd-owner amule -j MARK --set-mark 1
/opt/htb3.6-020525/tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 1 fw flowid 1:1
Als Parameter muß dem Skript die Bandbreite in kbit übergeben werden. Den Gerätenamen eth0 und den Pfad /opt/htb3.6-020525/tc mußt du ggf. anpassen. Achte darauf, daß du ein ,,tc'' vom 25.5.2002 oder neuer nimmst, sonst funktioniert die Sache nicht.
Gruß Hariolf
-
Wenn wir schon bei dem Thema sind: Würde es viel Aufwand/Mühe kosten, das aus eMule bekannte USS (Upload Speed Sense) zu intengrieren? Fande das bei eMule immer ganz nützlich...
-
Hi hariolf,
Danke für den Tip. Hatte/Habe im Augenblick viel um die Ohren. Kanns daher erst am Wochenende testen, wenn ich ein bißchen mehr Zeit habe. Habe das HOWTO mal überflogen. Gibt's auch die Möglichkeit verschiedene Dienste zu priorisieren, habe nichts gefunden.
Meine z.B. E-Mail (Pop/SMTP) läuft mit höchster Priorität, dann die "Restbandbreite" für WWW, amule, usw.
So das amule dann nicht alles blockiert. Ansonsten muss ich immer ein paar KB reserviert halten, die ich aber nicht ständig brauche.
@thailok. Ist schon "drin", wird mit configure --help bereits angezeigt, allerdings im Kommentar noch nicht als voll? funktionsfähig.
Grüße
eDonkey
-
Hellas,
ich stehe gerade vor der selben Aufgabe; amuleweb kann ja über das Webinterface die Bandbreiten bei laufendem eMule einstellen, aber ich habe nichts gefunden wie/ob das zB amuelcmd direkt kann -- der ließe sich ja gut über einen cronjob ansprechen.
Wisst ihr da was!? ;-)
Traffic shapen ist ja gut und schön, aber wozu wenns die Applikation eh selber auch kann!? ;-)
thx,
lg
-h
-
Hellas,
ich hab nun ein kleines Perl-Skript geschrieben, das über externe Connections die Bandbreiten-Limits setzt. Das ganze ist im englischen Thread, hier: http://forum.amule.org/thread.php?postid=22975&sid=#post22975 , abgelegt.
lg,
-hannes