Francois SIMOND a écrit 47 commentaires

  • # une foule de fonctions utiles.

    Posté par  . En réponse à la dépêche Sortie de KDE 3.1 Beta 1. Évalué à 10.

    Plus kde avance, plus il est agréable a utiliser, et on s'en apercoit quand on doit downgrader!
    A part une instabilité de konqueror en gestionnaire de fichiers, 3.1_alpha était de très bon niveau, ça donne envie d'essayer la beta :)
  • [^] # et il a eu le médaille pour ça ?

    Posté par  . En réponse à la dépêche Lettre Ouverte à l'INCA et à l'Union Mondiale des Aveugles.. Évalué à 3.

    "Gates was awarded for Microsoft Canada's contribution to the Children's Discovery Portal, the world's first internet portal for visually impaired or blind children."

    Si je comprend bien, il a eu la médaille pour avoir contribué a un site web ?
    hum.... sans blagues.. ça veux dire un gros chèque ?.. ou alors..
    'vous êtes maintenant le bienvenu sur ce marché juteux, cibler les enfants c'est vraiment une bonne technique, Bravo'
    arg.

    Contrairement a certain je trouve la lettre d'une grande justesse, de par son contenu et ses mots employés. Bravo a son auteur.
  • [^] # Re: knoppix ou gentoo ?

    Posté par  . En réponse à la dépêche Knoppix 3.1 : une nouvelle distribution fonctionnant sur CD. Évalué à 9.

    :) j'utilise Gentoo aussi
    Gentoo pour le controle, knoppix pour la facilité.. les deux a la fois, c'est un bon compromis !

    je parlais d'installation plus haut, ayant tout a l'heure installé cette knoppix sur une partition, avec le programme knx-install, j'ai été encore une fois surpris en bien !
    A la fin de l'installation ( partitionnement, copie.. ) il demande quels services on veut lancer ( sshd, smb.. )
    Une fois rebooté on se trouve avec une woody /debian 3, avec kde3 et un kernel au top + tout ce qu'il faut d'installé et configuré.
    C'est a mon avis le meilleur moyen d'installer une debian complete et completement configurée pour le bureau. le tout en a peine 15 minutes.

    ok, pour dire du mal au moins une fois, il manque seulement un client jabber, et gnome-2 se lance pas correctement ( depuis le cd, depuis le disque, pas essayé ).
  • [^] # Re: French version ?

    Posté par  . En réponse à la dépêche Knoppix 3.1 : une nouvelle distribution fonctionnant sur CD. Évalué à 10.

    C'est vrai que la langue est importante pour les démonstrations!
    L'auteur y a pensé, et au boot isolinux, tu peux taper ( en plus d'autres options pour forcer la résolution ou la fréquence de rafraichissement )
    knoppix lang=fr
    ça lancera la distribution entière en français ( console, kde.. ) et pour openoffice, deux langues sont installées, anglais et allemand. en lang=fr on a openoffice en anglais.

    Il a même pensé aux aveugles, en incluant un mode pour les afficheurs en braille !

    Pourvu que les autres en prennent de la graine :)
  • [^] # Re: dvd

    Posté par  . En réponse à la dépêche Knoppix 3.1 : une nouvelle distribution fonctionnant sur CD. Évalué à 10.

    ghZaaark, c'est que les distribution "principales", qui s'installent obligatoirement sur disque dur, sont distancées par la knoppix au niveau de l'équipement ou alors de la configuration.
    Je pense particulièrement a Redhat, qui a une installation facile mais une logithèque inférieure a tout ce qu'il y sur le cd, ou a debian, dont l'installeur est ni accessible ni très fonctionnel, et avec laquelle il faut bien s'y connaitre pour configurer la distrib comme on en a besoin.
    Mandrake? si j'ai bien compris Starroffice est une option, openoffice n'est surement pas dispo immmédiatement a l'utilisation. ( ici, Openoffice 1.0, utilisable de suite, pour imprimer )
    Le contraste est que Knoppix boote 30 fois plus vite que redhat s'installe, a une logitheque impressionnante disponible immédiatement, et est agréable a utiliser immmédiatement.
    bref, loin devant le reste.. en avance de quelques années peut être ;)

    tu n'as pas encore fait le pas, c'est a dire que t'as pas encore gravé l'iso ?

    C'est vrai que le risque, c'est de se demander si ça valait le coup d'installer une grosse distrib sur disque dur:)

    j'ai lu que le développeur ( knopper ) demande un retour sur sa distribution, particulièrement concernant le support matériel et l'auto détection, c'est le moment :)
  • [^] # Re: dvd

    Posté par  . En réponse à la dépêche Knoppix 3.1 : une nouvelle distribution fonctionnant sur CD. Évalué à 10.

    Pas si sur qu'elle soit plus rapide sur un dvd sans compression, parcque l'auteur utilise "cloop", une boucle compressée spécialement optimisée, et effectivement la vitesse d'execution sur un simple cdrom est pas très loin de celle obtenue sur un disque dur !

    j'ai trouvé cette distrib le 29 dernier, je venais d'être impressionné par demolinux, mais la c'est encore un autre monde.
    plus de sortie sans le cd knoppix maintenant :)

    En même temps c'est un puissant moyen de démonstration de linux, et en même temps ce qui est génant c'est qu'aucune distribution "classique" est a son niveau !
    heureusement elle a un programme qui permet de l'installer sur un disque dur. ( knx-hdinstall )

    si c'est a essayer d'urgence, adopter n'est même plus une question ;)
  • [^] # Re: Haiku bas

    Posté par  . En réponse à la dépêche 2600 arrête de défendre DeCSS. Évalué à 10.

    jul, ton lien est vraiment magnifique
    oui c'est un forme expressive, et artistique :)

    Une news pareille me fait me demander jusqu'à quel point les entreprises, pourtant formées d'individus, peut aller contre la liberté des individus, pour défendre leurs obscurs intérets.
    (en croyant les défendre, parcque le résultat..)
    A moins qu'elles soient formées de robots décideurs et de robots juristes ?
    C'est la seule explication logique a laquelle j'ai pensé :[
  • [^] # Re: Le debugging le moins cher ?

    Posté par  . En réponse à la dépêche 200000$ pour faire tourner linux dans une XBox. Évalué à 3.

    Je pense que tu négliges le fait que la PS2 est très bien lotie en "palladium", avant linux.
    aucun accès direct au matériel, des protections hardware pour empecher les utilisations non autorisées, ça te dit pas quelque chose ?

    si la PS2 est a la mode..
    Est-ce que les pc palladium qui risquent d'arriver seront a la mode ? (moins chers parcque sponsorisées par les majors qui pourront regagner leurs sous ensuite )

    A la mode parce qu'un linux bridé aura été porté dessus !?

    Cette récompense amène des developpeurs a faire du 'piratage' plutôt que du developpement... c'est une merveilleuse source de ralentissement :(

    si c'est ça, en esperant que ça l'est pas.. bien vu l'idée :|
  • [^] # Re: MS Linux 2005

    Posté par  . En réponse à la dépêche Microsoft s'exhibe librement. Évalué à 2.

    parler de XBox, ou.. de montrer, expliquer, marketter Palladium, solution si "secure", qui statistiquement devrai plaire a un certain pourcentage d'adeptes de securité ?

    :|
  • [^] # Re: Redhat sur les desktops - avec Gnome 2 -

    Posté par  . En réponse à la dépêche RedHat Limbo à l'assaut de Mandrake ?. Évalué à 3.

    Si ça peut te rassurer, Gnome-2 est dans la rawhide depuis le jour suivant sa sortie, avec en bonus un thème GTK2 (et QT qui l'accompagne) très bo !
    les premiers jours il manquait quelques .so de galeon, et les .conf sont pas encore sans défauts mais c'est déjà parfaitement utilisable.

    dur de faire aussi vite que Gentoo, mais la distrib est en très grande partie gcc3.1 et l'ensemble est pas mauvais:)
  • [^] # Re: a propos d'apache 2

    Posté par  . En réponse à la dépêche Version corrigée d'Apache. Évalué à 3.

    ouaip, pour avoir testé, php4 sur apache 2 n'est pas stable ( dans le sens ou il faut pas mal de bol pour que ce que tu compiles se charge et marche: il faut tomber sur le bon CVS ).. mais surtout Très lent.
    dans le README, le todo contient une ligne qui dit a peu près:
    "ne plus passer par un fichier temporaire"
    hemhem :P
    laissons leur le temps:)

    comme alternative efficace il y a toujours le fastcgi pour php. c'est rapide et ça tient bien la charge, vu que les process php sont en mémoire et y restent. ( le module fastcgi pour apache2 est aussi en cours de développement )
  • [^] # Re: C'est la fête des croisements génétiques ?

    Posté par  . En réponse à la dépêche Machines vendues sans Windows et avec Linux. Évalué à 4.

    "What do we ask of you?
    A $99 fee for a one year membership
    Your feedback about our plans, our products and our future direction "

    ils veulent pas un MARS, aussi ?
    ... oups, j'ai failli essayer mais du coup non !

    concernant le feedback, il feraient mieux de pratiquer le feedback vers wine.
    grrr!

    enfin ça peut amorcer la transition vers du libre en masse, si ça ne fait pas un meta-flop.. c'est bien le côté positif en effet.
  • # ou l'art de retourner sa veste.

    Posté par  . En réponse à la dépêche faille dans apache. Évalué à 10.

    après avoir lu ça:
    http://solutions.journaldunet.com/0206/020619_faille_apache.shtml(...)
    arf!
    les articles qui vont arriver sur le sujet vont pas être beaux a voir.

    Comme d'hab, un serveur sous windows peut provoquer les pires crasses, mais faille encore non exploitée ( a priori ? ) dans un logiciel libre et c'est le modèle "opensource" qui ne vaut plus rien.

    et hop, on en profite pou mettre dans un gros paquet l' "opensource"... :[
  • [^] # Re: Pas d'inquiétudes..

    Posté par  . En réponse à la dépêche Cyber-résistance et cyber-répression en Tunisie. Évalué à 10.

    99%, aïe..
    ça me rapelle ce que disait une prof d'histoire géo que j'ai eu au lycée.

    " Quand une élection fait obtenir a quelqu'un plus de 80%, c'est qu'elle a été ou truquée ou manipulée "

    [ Hors Sujet + polémique (chirac) + blablamavie = -1 ]
  • # et si le partage s'étendais aux responsabilités ?

    Posté par  . En réponse à la dépêche Vers des logiciels plus sûrs ?. Évalué à 0.

    Tout d'abord, pourquoi faut il légiferer ?

    Sans utiliser les comparaisons du vélo ( ça me fait penser à de la malveillance), ou des voitures, qui aident a comprendre mais qui sont éloignés des logiciels, pourquoi faut il mettre des lois sur ce point ?

    Est-ce pour empècher les escroqueries ?
    Est-ce pour créer une loi pour empècher une jurisce prudence inadaptée de s'installer ?

    A propos des Logiciels Libres, je ne suis pas de l'avis que cette obligation appliquée "telle quelle" amènera plus d'avantages que d'inconvénients:
    Le logiciel libre est a part: il n'utilise même pas le système de l'argent pour être distribué! Je pense que ça implique une responsabilité commune, de l'utilisateur autant que de l'auteur.
    Pourquoi ne pas admettre une responsabilité partagée ?
    Est-il maintenant vraiment trop tard pour imaginer que ça puisse exister, sans avoir quelqu'un sur qui taper si ça ne marche pas comme on l'avait imaginé ?
    Est-il trop utopique de vouloir amener avec l'utilisation des Logiciels Libres un contrat de partage des responsabilités, tout comme le partage des sources ?

    Après tout, le fait de ne pas pouvoir être garanti, certifié ( et j'en passe ) peut peut-être faire perdre des marchés.
    Je pense (et dois pas être le seul!) que la garder les libertés est plus important que de rafler des marchés, d'entreprises qui ne tolèrent pas même de partage de responsabilité.
  • # sur quoi ça se branche ?

    Posté par  . En réponse à la dépêche Introduction au F-CPU. Évalué à 10.

    Impressionné! l'idée d'un cpu libre est intéressante, dommage qu'elle soit un peu oubliée par le célèbre barbu :) Dans un souci d'interopérabilité, on pourrai pourtant mettre sur le même plan: 1/ logiciels libres <-> utilisateurs 2/ hardware libre <-> logiciels les récentes remarques sur les firmwares dans le kernel, tout comme les difficultés de création de pilotes pour le hardware au spécifications non publiées, font tellement penser aux conséquences sur les utilisateurs de l'utilisation de logiciels propriétaires ( qui ont d'ailleurs souvent besoin d'intégrer du contenu copyrighté dans leur travaux ) Vous méritez d'être encore plus encouragés ! a oui, la question.. Sur quel carte mère se brancherai (se branchera:) un tel CPU, sur un couple carte mère / chipset libre ? Esce que cet ambitieux projet n'amènera pas a envisager la construction d'un FreeComputer au complet ?
  • [^] # Re: Bon début

    Posté par  . En réponse à la dépêche Premier boot d'OpenBeOS !. Évalué à 6.

    ..parcque tu oublais qu'un Mhz 3 chiffres après la virgule ça fait bien kHz ;) cpu MHz : 233.867 = 233 Mhz + 867 kHz c'est vrai que ça chipotte et que c'est pas le rôle premier d'un OS . Je me demande toujours pourquoi ils ont préféré refaire de "zéro" plutôt que de créer un OpenBeOS sur un kernel linux par exemple, en alternative a XFree et aux desktop courants. pour ne pas l'appeler GNU/linux/OpenBEOS après ?:)
  • [^] # Re: Chose intéressante < ?

    Posté par  . En réponse à la dépêche Dreamworks' continue l'esprit Linux. Évalué à 0.

    Utiliser photoshop sous windows ou utiliser photoshop sous windows dans vmware.. je vois seulement deux différences:
    1/ l'un est plus lent que l'autre ( pour l'affichage ça doit pas être gai ! )
    2/ une solution utilise 2 logiciels propriétaires, l'autre en utilise 3 ( vmware, windows et photoshop )
    franchement, je vois pas ou est l'intéret la dedans !
    S'aurai été intéressant s'ils avaient utilisé wine pour utiliser photoshop directement sous linux, et si le résultat était imparfait, amélioré wine pour que le résultat soit bon.

    J'espere que pour eux ce n'est une solution que provisoire.. une telle absurdité ne peut pas durer :)
  • # php/imap

    Posté par  . En réponse à la dépêche wu-imapd. Évalué à 1.

    Voyant que les versions récentes du c-client permettaient pas d'utiliser le php/imap correctement.. ( la liste des messages... mais pas le contenu )
    .. ça risque de ne pas être évident de compiler et faire fonctionner le tout !
    A votre avis quelle est la meilleure alternative a WU pour utiliser avec un webmail en php ?
  • [^] # Re: GnomeMeeting

    Posté par  . En réponse à la dépêche Réunions virtuelles sous Linux: partie I. Évalué à -1.

    Bravo, et merci !:)
  • [^] # Re: Script avancé avec gestion des traffics entrant et sortant

    Posté par  . En réponse à la dépêche Introduction à la qualité de service sous Linux. Évalué à 10.

    Merci Etienne pour ta remarque

    Suite à celle ci je précise que j'ai pas coupé le ip_forward pendant la mise en place du script ( qui met plus d'une seconde pour s'initialiser completement ) pour interrompre le moins possible les connections à ce moment, que ce soit pour le MASQUERADING ou pour les tunnels ipsec qui tournent.
    quels sont les intérets de le couper, à part une extreme rigueur sécuritaire ?:)

    pareil pour moi, c'est bien le ftp qui m'a poussé au début à utiliser du QoS ;)
    ça vaut vraiment le coup, avec ce script tu discerne plus en ssh si quelqu'un télécharge chez toi ou pas, ni ça ralenti le surf ou coupe les radios shoutcast [ ce qui n'est même pas envisagable :]

    si le ping monte encore un peu trop, tu peux modifier la ligne:
    -$TC class add dev $IFOUTPUT parent 1:1 classid 1:103 htb rate 13kbit ceil 128kbit prio 2 burst 128
    +$TC class add dev $IFOUTPUT parent 1:1 classid 1:103 htb rate 13kbit ceil 124kbit prio 2 burst 128

    ou bien simplement diminuer la première classe
    -$TC class add dev $IFOUTPUT parent 1: classid 1:1 htb rate 128kbit ceil 128kbit burst 7k
    +$TC class add dev $IFOUTPUT parent 1: classid 1:1 htb rate 124kbit ceil 124kbit burst 7k

    avec une connection à 128kbit/s d'upload bien sur :)
    ça laissera un peu plus de marge pour garder une faible latence

    de la même façon, tu pourra toujours marquer le traffic ftp sortant et lui forcer une taille de paquet inférieure, comme montré pour edonkey et audiogalaxy
    en effet un paquet de 1492ocets met 91ms pour sortir à 128kbit/s, et c'est une latence non réductible puisqu'au final un seul paquet sort en même temps. ( et c'est aussi pour ça que lors des mesures de ping quand on upload, le ping varie )
    un paquet de 600 mettra seulement 37ms , ce qui est toujours ça de gagné en interactivité de terminal :)

    ( une faq / mini howto est en préparation pour l'installation des composants )
  • # Script avancé avec gestion des traffics entrant et sortant

    Posté par  . En réponse à la dépêche Introduction à la qualité de service sous Linux. Évalué à 10.

    hello!
    Si vous avez lu comme moi ( avec plaisir :)
    ces documents qui arrivent peu à peu, vous
    êtes peut être maintenant à la recherche d'un script puissant.
    m'y étant penché depuis quelques mois pendant
    lesquels les solutions disponibles ont bien avancées, j'ai mis au point ce script dont je vous fait profiter:)
    le voilà, brut: ( nom du fichier : qos )
    [ j'utilise cette version depuis 3 jours ]

    dites bye bye au surf lent et aux pings désastreux ;)

    #!/bin/bash

    # curio QoS script 0.3
    # par François Simond
    # script pour htb et imq iproute2 et bien sur iptables
    # iptables : www.netfilter.org
    # htb : luxik.cdi.cz/~devik/qos/htb/
    # imq : luxik.cdi.cz/~patrick/imq/
    # iproute2 : defiant.coinet.com/iproute2/
    # pour d'autres détails consultrez le howto: lartc.org
    # ce script vous donnera de très hautes performances
    # réseau à la maison ou au travail. il est prévu pour
    # utiliser la connection internet dans tous les sens
    # sans que les applications importantes ne soient ralenties
    # 09.04.2002: pre release pour tests
    # 01.05.2002: tests et ajustements..
    # 03.05.2002: fonctionne efficacement, à voir dans la durée
    # dimanche 5 mai: posté chez linuxfr.org
    # sous licence GPL

    # usage ./qos
    # usage ./qos stop
    # usage ./qos clear

    # ici, le script est finement ajusté pour 512kbit de download
    # et 128kbit d'upload en ADSL pppoe
    # merci d'avance pour le retour sur curio@free.fr
    # les versions futures de ce script seront dispos a:
    # http://www.hq-studio.net/linux/qos/current-qos(...)
    # .. quand je suis pas en train de tester des trucs
    # dangereux sur le serveur :)

    # vous pouvez surveiller ce qui se passe en tapant:
    # # tc -s class show dev interface_qui_vous_interesse
    # # tc -s qdisc show dev interface_qui_vous_interesse

    IPTABLES="/usr/local/sbin/iptables"
    TC="/sbin/tc"
    LOGGER="/usr/bin/logger"
    IP="/sbin/ip"
    MODPROBE="/sbin/modprobe"

    # définition des UID des users sous lesquels tournent edonkey
    # audiogalaxy (ne jamais les lancer en root !)
    UIDDONKEY=525
    UIDAG=523

    # si vous n'avez pas installé imq ( parcque beta ),
    # mettez cette variable à 1
    NOINGRESS="0"

    IFINPUT="ppp0"
    IFINGRESS="imq0"
    IFOUTPUT="ppp0"

    SUBNET="192.168.0.0/24"
    SUBNET2="192.168.0.0/16"

    case "$1" in
    'stop')
    echo Stopping QoS on $IFINGRESS and $IFOUTPUT...
    $TC qdisc del dev $IFINGRESS root
    $IP link set $IFINGRESS down
    $TC qdisc del dev $IFOUTPUT root
    $LOGGER "QoS disabled"
    ;;

    'clear')
    echo Stopping QoS on $IFINPUT and $IFOUTPUT...
    $TC qdisc del dev $IFOUTPUT root
    $IPTABLES -F
    $IP link set $IFINGRESS down
    $IPTABLES -t mangle -F
    $TC qdisc del dev $IFINGRESS root
    echo Done !
    $LOGGER "QoS disabled & iptable rules cleared"
    ;;
    *)

    # iptables clean
    $IPTABLES -t nat -F
    $IPTABLES -F
    $IPTABLES -t mangle -F

    if [ "$NOINGRESS" == "0" ]; then

    # mise en place de l'interface imq
    $MODPROBE imq numdevs=1
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -j IMQ
    fi

    # masquerading
    echo 1 > /proc/sys/net/ipv4/ip_forward

    $IPTABLES -t nat -A POSTROUTING -s $SUBNET ! -d $SUBNET2 -o $IFOUTPUT -j MASQUERADE
    $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

    # mettez vos rêgles de firewall ici ( l'exemple est assez gentil mais efficace )

    # anti spoof
    $IPTABLES -A INPUT -i $IFINPUT -p udp -s $SUBNET -j DROP
    $IPTABLES -A INPUT -i $IFINPUT -p tcp -s $SUBNET -j DROP
    $IPTABLES -A INPUT -i $IFINPUT -p tcp -s 127.0.0.1 -j DROP

    # tcp restrictions
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 23 -j DROP # telnet drop
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 79 -j DROP # finger drop
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 135 -j DROP # smb
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 139 -j DROP # smb
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 445 -j DROP # smb
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 512:514 -j DROP # insecure login
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 3306 -j DROP # mysql
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 6000:6009 -j DROP # X11
    $IPTABLES -A INPUT -i $IFINPUT -p tcp --dport 7100 -j DROP # xfs

    # udp restrictions
    $IPTABLES -A INPUT -i $IFINPUT -p udp --dport 53 -j ACCEPT # dns
    $IPTABLES -A INPUT -i $IFINPUT -p udp --dport 500 -j ACCEPT # ipsec auth
    $IPTABLES -A INPUT -i $IFINPUT -p udp --dport 0:1024 -j DROP

    # icmp restrictions
    $IPTABLES -A INPUT -i $IFINPUT -p icmp --icmp-type echo-request -m limit --limit 2/s -j ACCEPT
    $IPTABLES -A INPUT -i $IFINPUT -p icmp --icmp-type echo-request -j DROP
    $IPTABLES -A INPUT -i $IFINPUT -p icmp -j ACCEPT

    # début de la configuration des marques du firewall

    # marques pour le traffic icmp ( pour benchmark uniquement )
    #$IPTABLES -t mangle -A INPUT -i $IFINPUT -p icmp -j MARK --set-mark 11

    if [ "$NOINGRESS" == "0" ]; then
    ########################### INPUT RULES (INGRESS) ############################

    # par défaut on met tout dans la classe par défaut
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -m length --length 0:1500 -j MARK --set-mark 13

    # marques du traffic interactif (telnet & ssh)
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 22:23 -j MARK --set-mark 11
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --dport 22:23 -j MARK --set-mark 11

    # marques du traffic edonkey
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 4662 -j MARK --set-mark 15
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --dport 4662 -j MARK --set-mark 15

    # marques du traffic audiogalaxy
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 1024:5000 --dport 41000:41999 -j MARK --set-mark 16

    # marques du traffic web , http et https
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 80 -j MARK --set-mark 17
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 443 -j MARK --set-mark 17

    # classement des longs downloads http au même niveau que le traffic ftp - en test -
    # utilise le match recent, qui est dans le patch-o-matic d'iptables
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 80 -m recent --name web ! --rcheck -j MARK --set-mark 200 2> /dev/null
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 80 -m mark --mark 200 -m recent --name web --set 2> /dev/null
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 80 -j MARK --set-mark 17 2> /dev/null
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 80 -m recent --name web ! --rcheck --seconds 45 -j MARK --set-mark 18 2> /dev/null

    # marques du traffic ftp
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 20 -j MARK --set-mark 18
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j MARK --set-mark 18

    # maques du traffic des radios shoutcast
    $IPTABLES -t mangle -A PREROUTING -i $IFINPUT -p tcp --sport 8000:8600 -j MARK --set-mark 19

    fi

    ######################### OUTPUT RULES (EGRESS) #############################

    # marquage et classement par taille de paquets sortants ( methode d'Emmanuel Roger - www.prout.be )
    # remarque: cette méthode réordonne les paquets d'une même connection tcp et peut la ralentir
    # dans des cas particuliers ( ici j'ai pas remarqué :), donc si ce script vous ralenti,
    # modifiez cette partie ou bien faites une classe pour le traffic qui vous intéresse
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -m length --length 0:75 -j MARK --set-mark 22
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -m length --length 76:444 -j MARK --set-mark 23
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -m length --length 445:1500 -j MARK --set-mark 24
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -m length --length 0:75 -j MARK --set-mark 22
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -m length --length 76:520 -j MARK --set-mark 23
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -m length --length 521:1500 -j MARK --set-mark 24

    # marquage du traffic interactif sortant
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp --sport 22:23 -j MARK --set-mark 21
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp --dport 22:23 -j MARK --set-mark 21
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --sport 22:23 -j MARK --set-mark 21
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --dport 22:23 -j MARK --set-mark 21

    # marquage du traffic edonkey sortant
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp ! --syn --sport 4662 -j MARK --set-mark 25
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp ! --syn --dport 4662 -j MARK --set-mark 25
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --sport 4662 -j MARK --set-mark 25
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --dport 4662 -j MARK --set-mark 25
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -m owner --uid-owner "$UIDDONKEY" -j MARK --set-mark 25
    # pour garder un ping très bas, on peut forcer une taille plus petite des paquets au traffic edonkey (facultatif)
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp --sport 4662 --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1000
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp --dport 4662 --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1000
    $IPTABLES -A OUTPUT -m owner --uid-owner $UIDDONKEY -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1000

    # marquage du traffic audiogalaxy sortant
    $IPTABLES -t mangle -A PREROUTING ! -i $IFINPUT -p tcp --dport 41000:42000 -j MARK --set-mark 26
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --dport 41000:42000 -j MARK --set-mark 26
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -m owner --uid-owner $UIDAG -j MARK --set-mark 26
    # diminution de la taille des paquets pour audiogalaxy
    $IPTABLES -A OUTPUT -m owner --uid-owner $UIDAG -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 768

    # marquage du traffic du serveur web local
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --sport 80 -j MARK --set-mark 27
    $IPTABLES -t mangle -A OUTPUT -o $IFOUTPUT -p tcp --sport 443 -j MARK --set-mark 27

    # declaration des fonctions utilisées pour ajouter des qdisc ou des filtres
    function addqdisc {
    $TC qdisc add dev $1 parent $2 handle $3 $4 $5 $6 $7 $8
    }
    function addfilter {
    $TC filter add dev $1 parent $2 protocol ip handle $3 fw flowid $4
    }


    # cleaning
    $TC qdisc del dev $IFINGRESS root 2> /dev/null > /dev/null

    if [ "$NOINGRESS" == "0" ]; then

    # règles tc / htb pour le traffic entrant ( ingress )

    $TC qdisc add dev $IFINGRESS handle 1:0 root htb default 1
    $TC class add dev $IFINGRESS parent 1:0 classid 1:1 htb rate 512kbit ceil 512kbit burst 77k

    $TC qdisc add dev $IFINGRESS parent 1:1 handle 10: htb default 203
    $TC class add dev $IFINGRESS parent 10: classid 10:1 htb rate 512kbit ceil 512kbit burst 77k
    $TC class add dev $IFINGRESS parent 10:1 classid 10:201 htb rate 128kbit ceil 512kbit burst 10k prio 0 # best interactivity for terminal
    $TC class add dev $IFINGRESS parent 10:1 classid 10:2 htb rate 384kbit ceil 500kbit burst 67k
    $TC class add dev $IFINGRESS parent 10:2 classid 10:203 htb rate 48kbit ceil 500kbit burst 2k prio 1 # medium size packets or generic
    $TC class add dev $IFINGRESS parent 10:2 classid 10:205 htb rate 5kbit ceil 480kbit burst 1k prio 3 # edonkey speed limitation
    $TC class add dev $IFINGRESS parent 10:2 classid 10:206 htb rate 1kbit ceil 450kbit burst 2k prio 3 # audiogalaxy speed limitation
    $TC class add dev $IFINGRESS parent 10:2 classid 10:207 htb rate 64kbit ceil 480kbit burst 10k prio 2 # www client
    $TC class add dev $IFINGRESS parent 10:2 classid 10:208 htb rate 6kbit ceil 480kbit burst 2k prio 2 # ftp data, less important than web surf
    $TC class add dev $IFINGRESS parent 10:2 classid 10:209 htb rate 260kbit ceil 480kbit burst 50k prio 0 # guaranted bandwidth, sound must be never cut:)

    addqdisc $IFINGRESS 10:201 61:0 pfifo limit 20
    addqdisc $IFINGRESS 10:203 63:0 sfq quantum 1492 perturb 120
    addqdisc $IFINGRESS 10:205 65:0 sfq quantum 1492 perturb 120
    addqdisc $IFINGRESS 10:206 66:0 sfq quantum 1492 perturb 120
    addqdisc $IFINGRESS 10:207 67:0 sfq quantum 1492 perturb 120
    addqdisc $IFINGRESS 10:208 68:0 sfq quantum 1492 perturb 120
    addqdisc $IFINGRESS 10:209 69:0 sfq quantum 1492 perturb 120

    addfilter $IFINGRESS 10: 11 10:201
    addfilter $IFINGRESS 10: 12 10:202
    addfilter $IFINGRESS 10: 13 10:203
    addfilter $IFINGRESS 10: 15 10:205
    addfilter $IFINGRESS 10: 16 10:206
    addfilter $IFINGRESS 10: 17 10:207
    addfilter $IFINGRESS 10: 18 10:208
    addfilter $IFINGRESS 10: 19 10:209

    $IP link set $IFINGRESS up

    $LOGGER QoS on $IFINPUT for 512k download
    echo QoS on $IFINPUT for 512k download

    fi

    # cleaning
    $TC qdisc del dev $IFOUTPUT root 2> /dev/null > /dev/null

    # règles tc / htb pour le traffic sortant ( egress )

    $TC qdisc add dev $IFOUTPUT root handle 1: htb
    $TC class add dev $IFOUTPUT parent 1: classid 1:1 htb rate 128kbit ceil 128kbit burst 7k
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:100 htb rate 34kbit ceil 128kbit prio 0 burst 1k # ssh
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:101 htb rate 26kbit ceil 128kbit prio 1 burst 1k # petits paquets
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:102 htb rate 16kbit ceil 128kbit prio 1 burst 1k # paquets moyens
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:103 htb rate 13kbit ceil 128kbit prio 2 burst 128 # gros paquets
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:2 htb rate 3kbit ceil 122kbit prio 3 burst 128 ## classe basse priorité
    $TC class add dev $IFOUTPUT parent 1:2 classid 1:104 htb rate 2kbit ceil 112kbit prio 3 burst 128 # edonkey
    $TC class add dev $IFOUTPUT parent 1:2 classid 1:105 htb rate 1kbit ceil 64kbit prio 3 burst 128 # audiogalaxy
    $TC class add dev $IFOUTPUT parent 1:1 classid 1:106 htb rate 33kbit ceil 120kbit prio 2 burst 3k # webserver

    addqdisc $IFOUTPUT 1:100 20:0 pfifo limit 3
    addqdisc $IFOUTPUT 1:101 21:0 sfq perturb 3
    addqdisc $IFOUTPUT 1:102 22:0 pfifo limit 2
    addqdisc $IFOUTPUT 1:103 23:0 sfq perturb 180
    addqdisc $IFOUTPUT 1:104 24:0 sfq perturb 30
    addqdisc $IFOUTPUT 1:105 25:0 sfq perturb 180
    addqdisc $IFOUTPUT 1:106 26:0 sfq perturb 10

    # en premier, on met les ack au haute priorité (ceci peut aussi se faire avec iptables)
    $TC filter add dev $IFOUTPUT parent 1: protocol ip prio 1 u32 \
    match ip protocol 6 0xff \
    match u8 0x05 0x0f at 0 \
    match u16 0x0000 0xffc0 at 2 \
    match u8 0x10 0xff at 33 \
    flowid 1:101
    addfilter $IFOUTPUT 1: 21 1:100
    addfilter $IFOUTPUT 1: 22 1:101
    addfilter $IFOUTPUT 1: 23 1:102
    addfilter $IFOUTPUT 1: 24 1:103
    addfilter $IFOUTPUT 1: 25 1:104
    addfilter $IFOUTPUT 1: 26 1:105
    addfilter $IFOUTPUT 1: 27 1:106

    $LOGGER QoS on $IFOUTPUT for 128k upload
    echo QoS on $IFOUTPUT for 128k upload

    ;;
    esac
    exit