Menage
authorWilly MANGA <willy.manga@auf.org>
Fri, 11 May 2012 08:40:49 +0000 (09:40 +0100)
committerWilly MANGA <willy.manga@auf.org>
Fri, 11 May 2012 08:40:49 +0000 (09:40 +0100)
 * on commence une version en python

scripts/redirectionUrl/squid-redirector [new file with mode: 0644]
scripts/redirectionUrl/squid-redirector.py [new file with mode: 0644]
scripts/redirectionUrl/squidRedirector [deleted file]

diff --git a/scripts/redirectionUrl/squid-redirector b/scripts/redirectionUrl/squid-redirector
new file mode 100644 (file)
index 0000000..b347ac2
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+# /usr/local/sbin/squid-redirector
+# Auteur : Progfou <jean-christophe.andre@auf.org>
+# Licence : Domaine public
+# Création : 2008-01-14
+# Dépendances : libwww-perl (pour la commande HEAD)
+#
+# TODO: À refaire en Perl ou Python, un jour...
+#
+# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup <NL>
+#
+# ATTENTION : le miroir est incomplet => ne pas tout rediriger bêtement !!
+#
+MIRROR="miroir.ndere.cm.refer.org"
+while read URL CLIENT USER METHOD GROUP
+do
+  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/}"
+  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archive.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/}"
+  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\//://${MIRROR}/debian-security/}"
+  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://${MIRROR}/debian/}"
+  if [ "$URL2" != "$URL" ] && HEAD -t5 "$URL2" > /dev/null
+  then
+    echo "!mirror!$URL2"
+  else
+    echo "$URL"
+  fi
+done
+exit 0
diff --git a/scripts/redirectionUrl/squid-redirector.py b/scripts/redirectionUrl/squid-redirector.py
new file mode 100644 (file)
index 0000000..c49a221
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+# -*- coding:utf-8 -*-
+
+# une petite inspiration de 
+# http://gofedora.com/how-to-write-custom-redirector-rewritor-plugin-squid-python/
+
+import sys
+
+def modify_url(line):
+    list = line.split(' ')
+    #first element of the list is the URL
+    old_url = list[0]
+    new_url = '\n'
+    #take the decision and modify the URL if needed
+    #do remember that the new_url should contain a '\n' at the end.
+    if old_url.startswith('http://cm.archive'):
+        new_url = 'http://miroir.ndere.cm.refer.org' + new_url
+
+    return new_url
+
+while True:
+    line = sys.stdin.readline().strip()
+    new_url = modify_url(line)
+    sys.stdout.write(new_url)
+    sys.stdout.flush()
diff --git a/scripts/redirectionUrl/squidRedirector b/scripts/redirectionUrl/squidRedirector
deleted file mode 100644 (file)
index b347ac2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-# /usr/local/sbin/squid-redirector
-# Auteur : Progfou <jean-christophe.andre@auf.org>
-# Licence : Domaine public
-# Création : 2008-01-14
-# Dépendances : libwww-perl (pour la commande HEAD)
-#
-# TODO: À refaire en Perl ou Python, un jour...
-#
-# URL <SP> client_ip "/" fqdn <SP> user <SP> method <SP> urlgroup <NL>
-#
-# ATTENTION : le miroir est incomplet => ne pas tout rediriger bêtement !!
-#
-MIRROR="miroir.ndere.cm.refer.org"
-while read URL CLIENT USER METHOD GROUP
-do
-  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/}"
-  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/*archive.ubuntu.com\/ubuntu\//://${MIRROR}/ubuntu/}"
-  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/security.debian.org\//://${MIRROR}/debian-security/}"
-  [ "$URL2" = "$URL" ] && URL2="${URL/:\/\/ftp*.debian.org\/debian\//://${MIRROR}/debian/}"
-  if [ "$URL2" != "$URL" ] && HEAD -t5 "$URL2" > /dev/null
-  then
-    echo "!mirror!$URL2"
-  else
-    echo "$URL"
-  fi
-done
-exit 0