























| Copyright Copyright © José Luis Lara Carrascal 2008-2011 ![]() Sumario Introducción Características Preliminares Instalación Configurar el inicio de Polipo Configurar los clientes Uso de Polipo con Tor y Privoxy Iniciamos Polipo Controlar el tamaño de la caché de Polipo Consideraciones finales Enlaces Introducción Si no fuera por este programa, mi navegación por internet con mi conexión de 56k sería insufrible, el hecho de poder almacenar en un directorio caché en el disco todas las páginas que voy visualizando y la gestión eficaz que se hace de las peticiones de los navegadores clientes (mucho más lentos para gestionar esta tarea) hacen de este programa, cuyo nombre es Polipo, una herramienta indispensable para los usuarios de conexiones a internet por módem tradicional, facilitando considerablemente la navegación y sobre todo, aprovechando las capacidades enormes de los discos duros actuales, poder trabajar con cachés de 1, 2 o 3 GB según las necesidades e intensidad del usuario en su navegación diaria. Basado en WWWOFFLE, mejora los defectos que este último tiene en cuanto a la posibilidad (algo fundamental para una conexión de 56k) de cerrar la carga y almacenamiento de la página al mismo tiempo que el navegador cliente cierra, detiene o cancela la carga de una página. WWWOFFLE en cambio, no dispone de esta característica y hace caso omiso descargando la página en su totalidad, aunque el navegador cliente haya cancelado la petición de la misma, lo que supone una degradación considerable de la navegación con WWWOFFLE. Espero que este documento sirva de ayuda a los usuarios de GNU/Linux de conexiones de 56k y puedan mejorar de forma considerable su navegación por internet, les garantizo como usuario que lleva bastante tiempo utilizándolo, que este programa no les defraudará. Características * Usa pipelining HTTP/1.1 si comprueba que el servidor remoto lo soporta, si las peticiones entrantes son canalizadas o entran en múltiples conexiones (esto es mejor que el uso simple de conexiones persistentes, cómo por ejemplo, hace Squid). * Almacena el segmento inicial de una instancia si la descarga se ha interrumpido, y si es necesario, lo completa más tarde usando el rango de peticiones. * Actualiza las peticiones de los clientes a HTTP/1.1, aún en el caso de que éste las haya hecho cómo HTTP/1.0 y adapta las respuestas del servidor a las capacidades del cliente (esto implica una conversión desde/a HTTP/1.1) * Soporte completo de IPv6 (salvo para direcciones locales) * Uso opcional de la técnica Poor Man's Multiplexing para una reducción fuerte de la latencia * Puede utilizarse para navegación anónima de forma directa con Tor. Preliminares 1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH Abrimos una ventana de terminal y ejecutamos el siguiente comando,
Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente,
Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.
Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc. La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile. 2) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios. Instalación Dependencias Herramientas de Compilación Entre paréntesis la versión con la que se ha compilado Polipo para la elaboración de este documento. * GCC - (4.6.2) * Make - (3.82) Descarga polipo-1.0.4.1.tar.gz Extracción
Optimizaciones
Compilación
Parámetros de compilación opcionales -j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable. -j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core). Instalación como root ![]()
Los valores por defecto que utiliza Polipo son suficientes para garantizar un funcionamiento eficaz del proxy, la edición del archivo de configuración es para casos puntuales, como el uso con el programa de navegación anónima: Tor, o la utilización de un directorio de caché diferente al predeterminado. En mi caso personal y como explico más adelante, la ejecución de Polipo se hace directamente desde el script de ejecución de PPPD con lo que este se ejecuta mediante la orden del root cuando me conecto a internet. La edición del archivo de configuración del sistema o el personal irá en función del usuario que lance el programa, en mi caso es el root. Polipo tiene una interfaz web que permite configurar en vivo las opciones del mismo, pero esto lo explico más adelante. El archivo forbidden contiene la lista de direcciones que no queremos que cachee Polipo, su edición es muy fácil. Crear el directorio de configuración personal (opcional)
Directorio de configuración personal (opcional)
Directorio de la caché
Desinstalación como root 1) MODO TRADICIONAL Este programa no tiene soporte para desinstalación con el comando 'make uninstall' 2) MODO MANUALINUX El principal inconveniente del comando anterior es que tenermos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas. polipo-1.0.4.1-scripts.tar.gz
Copia de Seguridad como root Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.
Restaurar la Copia de Seguridad como root Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.
Configurar el inicio de Polipo a) Iniciarlo al conectarnos a internet mediante módem de 56K (ejemplo con Mandriva) Editamos el archivo /etc/ppp/ip-up.local y añadimos lo que está en rojo,
b) Iniciarlo en el arranque del sistema (ejemplo con Mandriva y compatibles) Editamos el archivo /etc/rc.d/rc.local y añadimos lo que está en rojo,
También lo podemos iniciar desde terminal: polipo & e incluso añadirlo a los scripts de inicio de los administradores de ventanas, ejemplos hay de sobra en los manuales de éstos. Configurar los clientes Polipo utiliza por defecto la dirección localhost:8123 para la conexión al mismo, tendremos que configurar los navegadores y los gestores de descargas como wget para poder usarlos con Polipo. Recordar que solo hay que configurar la casilla HTTP Proxy a) Mozilla Firefox Aunque lo podemos configurar desde las preferencias del navegador, lo mejor es instalar la extensión Multiproxy Switch, lo que nos permitirá desactivar el proxy en conexiones de acceso mediante contraseña (por ejemplo, los foros) en el caso de que dé problemas. Para añadirlo sólo tendremos que seleccionar Administrar Proxies >> Agregar y dejarlo como se muestra en la captura de pantalla siguiente:
b) SeaMonkey En SeaMonkey utilizaremos la extensión MM3-ProxySwitch que editaremos de la misma forma que se muestra en el ejemplo de la captura de pantalla, con sólo hacer clic en el boton de la extensión que se muestra en la parte inferior del navegador, activaremos y desactivaremos el uso de Polipo, cuando está en color rojo el icono, éste está activado. Si tenemos más proxys configurados, desde el menú de la extensión podremos seleccionar el indicado. La forma de añadir los proxys es siempre la misma, el nombre del proxy que se mostrará en el menú y los protocolos en los que pretendemos utilizarlo con la dirección del mismo, y todo esto entre corchetes, como se muestra a continuación.
c) Opera Pulsamos Ctrl+F12 para abrir la ventana de opciones del navegador, luego seleccionamos Avanzado >> Redes y hacemos clic en Servidores proxy. Se abrirá otra ventana donde podremos colocar la dirección del proxy en la primera casilla de configuración, que es la única que hay que marcar, como se muestra en la 2ª captura de pantalla.
d) Links En el navegador Links seleccionamos Configuración >> Opciones de red y en la casilla Proxy HTTP (máquina:puerto) añadimos localhost:8123
e) Dillo Se explica en el capítulo 9 de la sección correspondiente del manual de Dillo. f) Wget Polipo mejora considerablemente la descarga de archivos con wget (sólo HTTP), editamos el archivo de configuración personal de wget en nuestro home: ~/.wgetrc, si no lo tenemos copiamos el del sistema, que se encuentra en /etc/wgetrc
nos vamos a la línea 75 y añadimos lo que está en rojo.
Para activar el proxy cada vez que lo deseemos, añadir la opción --proxy=on al comando de ejecución de la descarga, un ejemplo:
La opción -c es la que permite continuar las descargas no completadas, yo la añado siempre por defecto. Para más información sobre Wget, su correspondiente manual. Uso de Polipo con Tor y Privoxy a) Uso de Polipo con Tor Desde la últimas versiones, Polipo tiene soporte de navegación anónima de forma directa con Tor, lo podemos configurar al vuelo (solo para la sesión en curso) desde la interfaz web de Polipo o añadirlo de forma permanente al archivo de configuración, que quedaría así:
b) Uso de Polipo con Tor+Privoxy Si queremos utilizar Privoxy como filtro de publicidad junto con Tor, nos olvidamos de la configuración anterior y añadimos en el apartado correspondiente la dirección de Privoxy, también lo podemos hacer en la interfaz web y también podemos añadir cualquier proxy anónimo de tipo web.
Iniciamos Polipo Cuando tengamos Polipo ya en ejecución, para acceder a la interfaz web del mismo, escribimos la dirección http://localhost:8123 en el navegador, conveniente añadirlo a los marcadores para facilitar posteriores accesos.
Controlar el tamaño de la caché de Polipo Nada mejor que utilizar este script para reducir el tamaño de la caché cuando ésta llegue a superar el que tengamos previsto. En mi caso particular, lo tengo fijado en 1,5 GB. El script lo que hace es borrar los archivos mas antiguos que contenga la caché en función del acceso por parte del proxy a éstos. Cuando lo descarguemos, lo instalamos como root en /usr/local/bin. La desinstalación y respaldo de este script viene incluida en los scripts del programa.
Un ejemplo de uso, en el que se fija la caché en 500 MB
Si fueran GB, un ejemplo:
Para más información ejecutar polipo_trimcache-0.2.py --help Consideraciones finales Para un rendimiento óptimo de la caché de Polipo es recomendable utilizar sistemas de archivos como XFS o Reiserfs, mi opinión personal es que XFS es el mejor sistema de archivos que existe en estos momentos para GNU/Linux, su ostracismo solo se entiende por el hecho de que detrás del mismo está una empresa comercial, algo que no pueden soportar los puristas y defensores a ultranza del peñazo llamado ext3 (continuado con ext4). Por razones de seguridad el índice de la caché viene desactivado por defecto, y los permisos de la misma se fijan a 700 para los directorios y 600 para los archivos, es decir, sólo tiene acceso el usuario que ejecuta Polipo. Si queremos visualizar la caché a través del índice de la interfaz web y la lista de servidores, tendremos que descomentar lo siguiente en el archivo de configuración.
Una manera rápida de poner al proxy en modo desconectado es ejecutar el comando correspondiente en una ventana de terminal, es el único que suelo utilizar de todas las opciones disponibles y que podemos pasarle a través de la línea de comandos, quedaría así:
Enlaces http://www.pps.jussieu.fr/%7Ejch/software/polipo/ >> La web de Polipo. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |




