Miroir du site http://www14.brinkster.com/proxomitron
[Copie du site en format ZIP: mirroir.zip]

logo titre

 
Accueil
Présentation
Pour commencer
      Télécharger/Installer
      Fenêtre Principale
      Fenêtre Config.
      Fenêtre Filtres HTML
      Fenêtre Filtres HTTP
      Fenêtre Log
      Fenêtre Proxy.
Travailler avec les filtres
      Introduction
      Editeur Filtres HTML
      Editeur Filtres HTTP
      Fenêtre Test
      Importer des filtres
      Trucs & Astuces
      Caractères Spéciaux
Détails
      Block List
      Filtre d'URL
      Commandes d'URL
      Comm. de recherche
      Conn. Sec.
      Proxies CGI
      Pile
Mise en œuvre
      JavaScript
      Exercices
      Aide mémoire (.pdf)
      Menus déroulants
FAQ
Version Beta
Misc
Liens
Fil d'infos (RSS)
 


Nouvelles commandes de recherche

 

De nouvelles commandes ont été ajoutées, elles commencent toutes par un $ suivi par le nom de la commande, et entre parenthèses les paramètres à lui assigner. Pour éviter les conflits, tous les noms de commandes doivent être écrits en majuscules. Si vous êtes familiers du langage C, vous pouvez les faire suivre d'un ; mais c'est optionnel.
$CMD(paramètres)
Généralement les commandes de recherche sont destinées à être utilisées dans la zone "matching" d'un filtre, mais, quelques-unes comme $JUMP et $LST peuvent également être utilisées dans la zone "replacement text" d'un filtre.

$AV(match)

Est utilisé pour capturer une valeur d'un attribut . Note : tous guillemets entourant la valeur ne feront pas partie de la recherche.
Par exemple, pour attraper une image avec le mot "Gargalishous!" dans le tag Alt, vous pourriez utiliser...
<img * alt=$AV(*gargalishous!*) *>
qui trouvera ce qui suit... <img src="foo" alt="My is this trout ever Gargalishous!">
<img src="foo" alt='Gee your hair is Gargalishous! Is that bison flavor?'>
<img src="foo" alt=JustRawGargalishous! >
qu'il y ai des guillemets ou non il seront absorbés par la commande. Cela que si vous souhaitez attraper la valeur et les guillemets vous devrez procéder de la sorte... <img * alt=($AV(\1))\2 *>
le \2 attrapera le tout avec les guillemets, alors que \1 attrapera la valeur. Par exemple :
<img src="foo" alt="Move all Zig!">
\1 = Move all Zig!
\2 = "Move all Zig!"
Mais vous pouvez le faire également avec $AVQ()

$AVQ(match)

Comme $AV(...) à l'exception qu'elle inclut les guillemets trouvés. Utile lorsque vous souhaitez simplement trouver l'attribut d'une valeur de la sorte...
<img * alt=$AVQ(\1) * > Qui captura les valeurs de alt dans \1.

$LST(blocklist)

Est utilisé pour intégrer une blocklist à l'expression recherchée. Le contenu de la blocklist est testé ligne par ligne par rapport au texte recherché jusqu'à ce qu'une expression corresponde. Si rien ne correspond la liste retourne un false.
(Voir également TP)

$SET(#=valeur)

Utilisé pour assigner une variable à une valeur. N'importe quel texte de remplacement, y compris d'autres variables, peut être employé ici. En utilisant les commandes $SET à l'intérieur d'une expression à rechercher, vous pouvez assigner certaines valeurs si telle expression recherchée atteint tel point. Cela peut être utilisé pour créer un effet si/alors/sinon. Par exemple :

Matching : nom=(un $SET(0=Naoko)|deux $SET(0=Atsuko)|trois $SET(0=Mitchie)|$SET(0=Personne n'))
Replace : "\0 est là"

produira les résultats suivants :
Si nom=un -> "Naoko est là"
Si nom=deux -> "Atsuko est là"
Si nom=trois -> "Mitchie est là"
Sinon "Personne n' est là"

$CON(x,y[,z])

Sera vrai seulement si le numéro de la connexion courante est x de y (optionnellement toutes les z connexions). Exemple :

($CON(1,3,7) $SET(0=première valeur sur des trois)|
$CON(2,3,7) $SET(0=deuxième valeur des trois)|
$CON(3,3,7) $SET(0=troisième valeur des trois))

la rotation s'effectuera ici toutes les 7 connexions.

(Voir également TP)

$IHDR(nom d'en-tête:matching)
$OHDR(nom d'en-tête:matching)

Peut être utilisé pour tester la valeur de n'importe quel en-tête HTTP. La commande sera vraie seulement si la valeur du nom d'en-tête correspond à la section "matching". $IHDR test les en-têtes entrantes alors que $OHDR test les en-têtes sortants . Par exemple dans l'exemple suivant, cela marchera seulement si l'en-tête Referer contient machin.com .

$OHDR(Referer:*machin.com)

En utilisant ceci vous pouvez avoir des filtres web qui ne sont actifs que si une valeur spécifique de l'en-tête est trouvée, ou pour capturer et utiliser des valeurs d'en-têtes comme variables dans le texte de remplacement. Vous pouvez également les utiliser dans des filtres d'en-têtes HTTP pour chercher des combinaisons d'en-têtes.

$URL(matching)

Cela peut être utilisé pour intégrer un URL dans la zone matching d'un filtre. Normalement vous devriez utiliser la zone URL match pour effectuer cela, mais avec la commande $URL vous pouvez tester différents URLs suivant le texte recherché. C'est également pratique pour attraper des portions d'URL à utiliser comme variable. L'exemple suivant capturera l'URL :

$URL(www.cesite.com/\1)

L'URL match commençant directement par le "hostname", il est inutile de capturer la portion http:// .

$TYPE(code)

Cette commande peut être utilisée pour limiter l'utilisation d'un filtre sur un certain type de pages seulement (comme des fichiers JavaScript). Le code doit être l'un des suivant :

htm – pages Web
css – feuilles de styles
js – JavaScript
vbs – Sripts Visual Basic
oth – tout le reste

Pour des travaux plus complexes avec les types de contenus vous pouvez utiliser $OHDR(Content-Type:la valeur recherchée)

$RDIR(http://www.site.com)

La commande RDIR est utilisée pour rediriger de façon transparente des URLs vers des adresses différentes. Il est également possible de rediriger vers un fichier local en utilisant quelque chose de la sorte : http://file//nomdefichier . Le nouvel URL doit être d'un type supporté par le Proxomitron (http, ou avec SSLeay, https).

$JUMP(http://www.site.com)

Similaire à la commande RDIR , mais au lieu d'agir de façon transparente indique à votre navigateur la nouvelle adresse où se rendre. C'est comme utiliser le meta tag refresh ou la commande JavaScript document.location .

Avec la commande JUMP votre navigateur est averti de la redirection et l'URL que vous voyez sera mis à jour pour refléter la nouvelle adresse. Il est plus approprié à la redirection de pages entières, là où RDIR est préférable pour rediriger de façon invisible les éléments d'une page comme les images ou les applets Java. Utilisez RDIR quand vous voulez que la redirection ait lieu en arrière plan et utilisez JUMP lorsque vous voulez simplement aller vers une adresse différente de celle appelée.

Utilisez les commandes RDIR et JUMP dans la section de remplacement des filtres d'en-tête uniquement. Il est important de préciser que pour les en-têtes sortants, les redirections auront lieu avant même que le site soit contacté, mais quand ils sont utilisés avec des en-têtes entrantes, le site initial doit être contacté en premier lieu. Ces commandes n'auront aucun effet si vous les utilisez dans la conception de filtres Web, car les pages seraient déjà chargées dans votre navigateur. Dans de tel cas, vous pourrez utiliser JavaScript pour changer d'adresse.
<script> document.location="http://nouvelleadresse.com" </script>

(Voir également TP)

$FILTER(bool)

La commande $FILTER peut être utilisé pour forcer une requête particulière à être filtrée ou non suivant sont type. Normallement seuls les types spécifiques sont filtrés (comme text/html, text/css, image/gif). $FILTER peut être utilisé dans la zone match ou replace d'un filtre d'en-tête et prendre une valeur true ou false . Si c'est true, la requête sera traité quelque soit son type. C'est n'a de sens que si le contenu est basé sur du texte.

Vous pouvez également l'utilisée pour éviter de geler certaines images .GIF animées en l'utilisant dans un filtre d'en-tête avec l'URL match. Par exemple :

Out="true"
Key="URL:Ne gèle pas ce GIF"
URL="www.quelquepart.com/imagequibouge.gif
Replace="$FILTER(False)"

$NEST(ouverture, [intérieur], fermeture)

Peu être utilisé pour trouver le tag ou caractère de fin correspondant à un tag ou caractère de départ donné, même si le même tag peut être compris à l'intérieur. Pour utiliser la commande $NEST vous devez spécifier le tag d'ouverture et le tag de fin, ainsi la commande les trouvera même si les mêmes tags se retrouvent au milieu. Par exemple pour trouver un tableau vous devriez écrire comme suit :
$NEST(<table*>,</table>)
Et cette commande trouvera le texte (en rouge ci-dessous)

...du code HTML...<table name="tableau extérieur">...
<table name="tableau intérieur">...
</table>...
</table>
...d'autre code HTML...

$NEST peut également supporter un troisième paramètre correspondant à quelquechose entre le tag d'ouverture et de fermeture. Cela ne comprend pas les tags de début et de fin, seulement ce qui se trouve entre eux. Dans l'exemple ci-dessous
$NEST(<table*>,\1,</table>)
seule la partie bleue sera attrapée :

...du code HTML...<table name="tableau extérieur">...
<table name="tableau intérieur">...
</table>
...
</table>
...d'autre code HTML...

$INEST(ouverture, [intérieur], fermeture)

Fonctionne de la même façon que $NEST à la différence que les tags de début et de fin sont placés hors de porté de la commande. En gros l'on considère que vous avez déjà trouvé un des tag recherché et que vous êtes seulement intéressé par le tag intérieur. Ainsi
<table name=$AV(*extérieur*) >$INEST(<table*>,</table>) </table>
Trouvera le texte en rouge ci-dessous :
...du code HTML...<table name="tableau extérieur">...
<table name="tableau intérieur">...
</table>
...
</table>...d'autre code HTML...

L'intérêt est que c'est plus facile de trouver un tag de départ particulier (ici <TABLE> avec le mot extérieur) plutot que n'importe quel tag de ce type. Il aurait été plus difficile d'effectuer ceci avec la commande $NEST car tout aurait du être vrai dans les deux tags.

$USEPROXY(bool)

La commande $USEPROXY prend le pas sur l'option "Use Remote Proxy" pour une connexion donnée, l'activant ou la désactivant. Elle assure q'un proxy est ou n'est pas utilisé pour telle connexion ou telle situation particulière.

Pour être efficace cette commande doit être appelée dans la zone match ou replace d'un filtre d' en-tête sortant , car la configuration proxy doit être en place avant que le site ne soit contacté.

Par exemple créez un filtre d'en-tête sortant (Out) de la sorte :
HTTP header : URL: Use proxy at given sites
URL match : $LST(sitwpx)
Header Value Match : $USEPROXY(true)

Cela activera l'utilisation d'un proxy entré dans la fenêtre "External Proxy Selector" pour tous les URL présents dans la liste sitwpx (vous n'avez pas à cocher la case "Use Remote Proxy" du panneau de configuration du Proxomitron).

$SETPROXY(proxy:port)

La commande $SETPROXY forcera une connexion donnée à utiliser un serveur proxy précis. Elle prend le pas à la fois sur l'option "use remote proxy" et la sélection proxy en cours. C'est important pour être sûr qu'un proxy précis sera utilisé avec tel site ou dans une circonstance particulière.

Le proxy spécifié doit être un de ceux présents dans la liste External Proxy Selector. La commande ira le chercher et l'assignera pour le ca particulier que vous aurez spécifié. Comme le filtre précédent, cette commande doit être appelée dans la zone match ou replace d'un filtre d' en-tête sortant .

$STOP()

C'est une commande très simple : si elle est rencontrée dans le texte de recherche ou de remplacement d'un filtre elle désactive ce filtre pour le reste de la page. L'expression sera trouvée, mais ensuite elle ne sera plus cherchée. Cela peut-être très utile pour les filtres qui ne doivent chercher qu'une seule chose précise. Par exemple, disons que vous vouliez insérer un petit script après la balise <BODY>, est bien vous pourriez faire ainsi :

Match: <body\s \1>
Replace: <body \1> <script>mon script</script>$STOP( )

Non seulement vous êtes sur que la commande n'est appliquée qu'une seule fois, mais en plus cela fait gagner du temps car le filtre n'est plus utilisé pour le reste de la page.

$UESC(escaped text)

La commande $UESC tend à être similaire à la commande JavaScript unescape( ) . Elle convertira la plupart des caractères des URLs ayant subit le traitement escape en leur forme ASCII originale. C'est utile pour récupérer des URLs qui peuvent être encastrées dans d'autres URLs (un truc de plus en plus utilisé par les sites qui veullent vous traquer et savoir sur quels liens vous cliquez). Souvent les caractère comme les : ou le / sont convertis en leur forme hexadécimal (%3A et %2F) rendant l'URL "réelle" difficile à utiliser.

$UESC peut être utilisé dans le texte de remplacement d'un filtre. Elle rétabliera la plupart des caractères dans leur forme ASCII originale , mais les espaces et les caractères ASCII non affichables resteront inchangés, sous leur forme "escaped".

     

     


The Proxomitron is Copyrighted to Scott R. Lemmon