LightcodeSysadmin Open Source

Proxy Youtube avec Squid

Comme vous le savez sans doute, il y a de nombreux problème entre Google et les FAI français, notamment autour de YouTube. Nous verrons alors comment régler le problème en mettant en place un proxy grâce au logiciel Squid.

Introduction

Que ce soit chez Free, SFR ou Orange, les débits vers Youtube sont très bas, ce qui empêche une bonne fluidité lors de la lecture des vidéos. Le problème étant que les liens de peering entre ces FAI et Youtube sont saturés, ce qui bride fortement le débit. La situation n’est pas prête de se débloquer puisque les FAI exigent que ce soit Google qui paye pour délivrer ses services en France.

Pour contourner ce problème, il est possible d’utiliser un serveur proxy qui permettra de passer par un autre chemin pour aller vers Youtube. En effet, lorsque vous voudrez consulter un site, vos requêtes sont envoyés au serveur proxy puis sont redirigés vers le site de votre choix. Lorsque le serveur répondra, les requêtes HTTP passeront également par le serveur proxy.

Mise en place de Squid

Pour pouvoir faire ce tutoriel, vous aurez besoin d’un serveur (dédié ou virtuel) chez un hébergeur n’ayant pas ce problème de débit.

Installation

D’abord, nous allons installer Squid, un serveur proxy.

# apt-get install squid
$ cd /etc/squid
# mv squid.conf squid.conf.default

Configuration

Ensuite, nous allons créer le fichier de configuration squid.conf :

 1acl manager proto cache_object
 2acl Safe_ports port 80          # HTTP
 3acl Safe_ports port 443         # HTTPS
 4# Definit une ACL designant toutes les adresses IP
 5acl all src all
 6
 7# Configuration du port
 8http_port 3128
 9# On bloque tous les ports non securise
10http_access deny !Safe_ports
11# On autorise toutes les adresses IP a se connecter au proxy
12http_access allow all
13http_access deny manager

Restriction d’accès

Cette partie est facultative mais elle permet de sécuriser l’accès au serveur proxy. Si ce n’est déjà fait, il faut installer la commande htpasswd :

# apt-get install apache2-utils

Nous allons créer un fichier .passwords qui contiendra les mots de passe des utilisateurs. Pour ajouter un utilisateur, tapez la commande :

# htpasswd -c /etc/squid/.passwords nom_utilisateur

On doit ensuite ajouter l’authentification dans le fichier squid.conf :

 1acl manager proto cache_object
 2acl Safe_ports port 80          # HTTP
 3acl Safe_ports port 443         # HTTPS
 4
 5# Configuration de l'authentification
 6auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/.passwords
 7auth_param basic children 5
 8auth_param basic realm Squid proxy-caching web server
 9auth_param basic credentialsttl 2 hours
10auth_param basic casesensitive on
11
12# Configuration du port
13http_port 3128
14# On bloque tous les ports non securise
15http_access deny !Safe_ports
16# On autorise uniquement les utilisateurs connectes
17acl ncsa_users proxy_auth REQUIRED
18http_access allow ncsa_users
19http_access deny manager

Finalisation

Enfin, il faut redémarrer Squid :

# service squid restart

Maintenant que nous avons configuré le serveur, nous pouvons nous occuper du client.

Configuration du client

Suivant votre navigateur, la configuration va changer. Je vous conseille de vous renseigner pour configurer votre navigateur. Je vais parler d’Opera, qui est le navigateur que j’utilise. Opera permet de configurer des serveurs proxy et de l’activer uniquement pour certains noms de domaine.

D’abord, faîtes un CTRL + F12, puis allez dans la section Réseau, puis “Serveurs proxy…”. Ensuite, cocher HTTP puis rentrer l’IP de votre serveur. Par défaut, le port de votre proxy est 3128 :

Ensuite, vous pouvez ajouter une liste d’exception et activer le proxy pour quelques noms de domaine. Pour Youtube :

Conclusion

Voilà, maintenant vous pouvez accéder à Youtube de manière fluide et sans interruption dans la vidéo. Pensez également à protéger votre proxy grâce à la liste des directives de configuration de Squid.