Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Proxys Caché - PolipoUtilidades de Red Netactview

Proxys Caché - Smart Cache




Proxys Caché - Smart Cache




Copyright

Copyright © José Luis Lara Carrascal  2008-2019   http://manualinux.eu



Sumario

Introducción
Características
Instalación
Crear un binario ejecutable nativo con GCJ
Configuración rápida de Smart Cache
Configurar el inicio de Smart Cache
Configurar los clientes
Iniciamos Smart Cache
Controlar el tamaño de la caché de Smart Cache
Iniciamos Smart Cache
Enlaces




Introducción  

Con este manual se completa el apartado dedicado a los proxys caché en Manualinux, los dos programas analizados, Polipo y el que vamos a tratar aquí, Smart Cache, son las mejores opciones que existen hoy en día para un usuario de GNU/Linux que necesite de este tipo de programas. El uso de uno u otro dependerá de las características particulares de cada uno, pero los dos cumplen de sobra lo que se debe de exigir a un programa de este tipo.

Smart Cache es un proxy caché escrito en Java y por lo tanto, multisistema. Se puede utilizar también en Windows (con unos resultados excelentes), sólo hay que modificar la ruta al directorio caché; el resto, sirve este mismo manual para su configuración y ejecución.



Características  

* Bloqueo de todo tipo de publicidad al más puro estilo Privoxy.
* Reemplazo de los enlaces bloqueados por una imagen al gusto del usuario.
* 2 filtros de cookies para una mejor protección de nuestra privacidad.
* Filtra los referer (las páginas en las que pinchamos para acceder a otras) para ocultar la procedencia de nuestras visitas a los sitios y que éstos no hagan un seguimiento de nuestra navegación.
* Redirecciona las peticiones realizadas por el navegador en el caso de que escribamos dos direcciones diferentes para referirnos a un mismo sitio (http://www.manualinux.eu o https://manualinux.eu), no duplicando la caché y por lo tanto ahorrando una considerable cantidad de espacio en la misma.
* Redirecciona mediante la creación de alias de las páginas que más visitemos reduciendo el nombre de las mismas. Ejemplo: Redirect http://miweb/* https://manualinux.eu/*
* Mejora el uso interno de la caché de los navegadores, pudiendo eliminar ésta o reduciéndola a un tamaño muy pequeño, aumentando la velocidad de éstos.
* Acceso seguro a la red, pueden compartirse navegadores y máquinas.
* Uso del estilo CERN. para el almacenaje de los objetos de la caché, mostrando la jerarquía de los directorios de la misma forma que en el servidor web.
* No modifica las extensiones ni los nombres de los archivos, convirtiendo de facto a la caché en un directorio de uso más del sistema donde encontraremos los archivos (.jpg,.zip,.txt,.rar,etc.) sin ninguna modificación de su contenido como tienden a hacer otros proxys caché.
* Permite configurar los documentos que no queremos que sean almacenados en la caché.
* Detiene de forma automática la descarga de la página al cancelar o detener la misma desde el navegador, reanudando su descarga cuando volvamos a visitarla.
* Hace innecesaria la opción del menú del navegador "Guardar como..." a la hora de guardar elementos de las páginas web, permitiendo posteriormente la copia desde la caché del proxy.
* Funciona siempre aún cuando no estemos conectados haciendo una simulación de internet muy buena.
* No necesita activar la navegación offline como sucede con otros proxys, él mismo detecta cuando estamos conectados y cuando no.
* Totalmente transparente, no tendremos ningún problema en actualizar de forma offline las páginas cacheadas.
* No ejecuta el limpiador de la caché (Garbage Collection) cuando quiere. Es el usuario el que determina cuando se realizará una limpieza de la caché.
* Limpiador de la caché (Garbage Collection) muy configurable, podemos ajustar qué páginas queremos que estén más tiempo en la misma.
* Puede reparar la caché dañada sin perder todos los datos almacenados en ésta.
* Interfaz de usuario HTML para búsqueda de páginas y configuración.
* Integración de un gestor de descargas.
* Soporte de compresión de los datos de la caché para un ahorro de espacio en el disco.
* Integración de un capturador web, marca las páginas cuando está offline y las descarga después.
* Soporte de conexiones persistentes HTTP/1.1 para un mejor rendimiento de la navegación.



Instalación  

Dependencias

Aplicaciones


Entre paréntesis la versión con la que se ha instalado Smart Cache para la elaboración de este documento.

* Java Runtime Environment (JRE) - (8u202)



Descarga

scache094.zip

Extracción e Instalación como usuario  Bloc de Notas

Al ser una aplicación java y llevar los archivos de configuración dentro del mismo directorio de instalación y ejecución, lo más recomendable es instalarlo en nuestro directorio home. Por motivos de seguridad el proxy será ejecutado siempre por el usuario.

$ mkdir -p ~/Programas
$ unzip scache094.zip -d ~/Programas/scache

Crear el script de ejecución 

Como aplicación java que es, no permite ejecutarlo como un programa normal, así que crearemos un script de ejecución para no tener que entrar en el directorio del programa cada vez que vayamos a ejecutarlo, script cuyo ejemplo ya puse en el manual de Java. Abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

cd ~/Programas/scache
java -ms5m scache

Lo guardamos en nuestro directorio ~/bin (si no existe lo creamos) con el nombre de scache y le damos permisos de ejecución (Se puede guardar en cualquier otro directorio /bin que esté en nuestro PATH).

chmod +x ~/bin/scache

Si utilizamos versiones anteriores de Java a la actual, las de la serie 1.5, el script quedaría de la siguiente forma:

#!/bin/sh

cd ~/Programas/scache
java -ms1m scache

En versiones de la serie 6 inferiores a la 6u18, el script quedaría de la siguiente forma:

#!/bin/sh

cd ~/Programas/scache
java -ms2m scache

Si queremos establecer un nivel de memoria mayor a utilizar por Java en el inicio del programa, simplemente cambiamos el valor numérico del parámetro '-ms5m' por otro mayor. Un ejemplo:

#!/bin/sh

cd ~/Programas/scache
java -ms16m scache

Crear el directorio de la caché

El lugar habitual donde se ubican las cachés de los proxys es el directorio /var/cache, crearemos el directorio de la caché de Smart Cache dentro del mismo, y luego cambiaremos el dueño del directorio del root al usuario del sistema, en mi caso, jose:root, (usuario:el grupo al que pertenece).

$ su
# mkdir -p /var/cache/scache
# chown jose:root /var/cache/scache

Copiar los archivos de configuración de ejemplo

Copiamos los archivos de configuración que vienen de ejemplo ubicados en el directorio samples al directorio raíz del programa.

$ cd ~/Programas/scache
$ cp samples/* .

Creación del archivo scache.desktop

Para que Smart Cache sea detectado por los menús de entornos gráficos como XFce 4, o paneles como LXPanelFbpanel, abrimos un editor de texto y añadimos lo siguiente:

[Desktop Entry]
Name=Smart Cache
GenericName=Proxy Caché
Comment=Un proxy caché escrito en Java
Exec=rxvt -e scache
Icon=/usr/share/imlib2/data/images/globe.png
Categories=Application;Network
Type=Application

Lo guardamos con la codificación de caracteres UTF-8, y con el nombre scache.desktop. Luego lo copiamos a ~/.local/share/applications.

$ mkdir -p ~/.local/share/applications
$ cp scache.desktop ~/.local/share/applications



Crear un binario ejecutable nativo con GCJ   Nota importante

Si creamos un binario ejecutable nativo con GCJ, éste se ejecutará más rápido y gestionará mejor la caché, con el único inconveniente de aumentar el consumo de memoria respecto a la versión bytecode.

Descarga

scache-0.94.tar.gz

Extracción

$ tar zxvf scache-0.94.tar.gz

Edición del archivo Makefile correspondiente para definir la versión de GCJ a utilizar

Abrimos con un editor de texto, el archivo src/Makefile, y editamos lo que está en rojo. El ejemplo utilizado es para GCJ 6, utilizando el nombre asignado al binario ejecutable en el manual de instalación de GCC.

GCJ_FLAGS=-Wall -fno-store-check -O3 -march=native -mtune=native -fforce-classes-archive-check --classpath /opt/gcc6/share/java:. --main=scache
GCJ_DEBUG=-v -save-temps
GCJ=gcj6

La ruta /opt/gcc6/share/java sólo es necesaria si utilizamos una versión de GCJ que no es la principal del sistema. Cambiar dicha ruta por la de la versión de GCJ que vaya a utilizar cada usuario y, si es necesario, cambiar también el nombre del ejecutable de GCJ.

Compilación

$ make native

Copiar el binario ejecutable creado al directorio de instalación de Smart Cache

$ cp src/scache-native ~/Programas/scache

Editar el script de ejecución de Smart Cache para que utilice la versión nativa creada con GCJ

Abrimos con un editor de texto, el script de ejecución, y lo dejamos como aparece a continuación:

#!/bin/sh

cd ~/Programas/scache
#java -ms1m scache

./scache-native

Consumo inicial de CPU y RAM de Smart Cache (versión nativa)

Consumo inicial de CPU y RAM de Smart Cache (versión nativa)
Programa
CPU RAM
scache-native 0 % 53,1 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Consumo inicial de CPU y RAM de Smart Cache (versión bytecode)

Consumo inicial de CPU y RAM de Smart Cache (versión bytecode)
Programa
CPU RAM
java 0 % 29,4 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.



Configuración rápida de Smart Cache  Bloc de Notas  

A diferencia de Polipo en Smart Cache sí que es importante una óptima edición de los archivos de configuración, así que a continuación explico una manera rápida de configurarlo mediante la edición de éstos.

1) scache.cnf
2) gc.cnf
3) cookies.cnf
4) rfail.cnf
5) fail.cnf
6) pass.cnf
7) redir.cnf
8) rewrite.cnf




1) scache.cnf

a) El puerto de conexión

Abrimos este archivo con un editor de texto y establecemos en primer lugar el puerto que va a utilizar el proxy, por defecto es el 3128, en mi caso particular utilizo el puerto 8090.

Línea 44
# TCP port for this cache.
# 8080 is an old, well known proxy port introduced in the CERN HTTPd.
# Some servers use port 80, but as port 80 is used by the standard
# WWW service, you can not run a web server and Smart Cache on the
# same port. I use 8080 because it easy to remember.
#
# Squid uses port 3128, so you can run both caches; Squid and SC.
# Keep in mind that you can NEVER run more than ONE program on the
# same port at the same time! Set the port that you wish SC to use below.
http_port 8090

Esto implica automáticamente la edición del apartado que hace referencia a la interfaz web del proxy, que utiliza siempre un número por encima del puerto de conexión al mismo, en este caso sería el 8091.

Línea 79
# *** SMART CACHE USER INTERFACE SETUP ***
# Port number for User interface, must be different from the main one
# disable this line for turning UI off
ui_port 8091

b) La ruta a la ubicación de la caché

En el siguiente apartado establecemos la ubicación del directorio que contendrá la caché del proxy, que como ya hemos definido antes es /var/cache/scache.

Línea 104
# *** Storage Setup ***
# This is the directory for storing cached objects. Use the shortest possible path.
# Do not end directory names with a "\" or a "/"

#############################################################
# DO NOT USE ROOT directory!!! (for example c:\)            #
# - unless you have a dedicated partition for Smart Cache   #
#   and removed check for that from source code.            #
#############################################################
cache_dir /var/cache/scache

c) Los niveles de los directorios

A continuación nos toca establecer los niveles de los directorios de la caché, estos irán en función del tamaño de ésta, y que para este manual se fija en 2500 MB, por lo que utilizaremos 9 niveles. En los ejemplos están los valores mínimos recomendables partiendo de la base de un tamaño de la caché igual o inferior a 500 MB.

Línea 147
# Examples:  (MINIMAL recommended values)
#     4x4 for < 500MB cache
#     5x5 for < 800MB cache
#     6x6 for < 1100MB cache
#     7x7 for < 1600MB cache
#     8x8 for < 2100MB cache
#     9x9 for < 2600MB cache
#   10x10 for < 3200MB cache
#   11x11 for < 4000MB cache
#   12x12 for < 4700MB cache
#   13x13 for < 5500MB cache
#   14x14 for < 6400MB cache
#   15x15 for < 7300MB cache
#   16x16 for < 8300MB cache
#   17x17 for < 9400MB cache
#   18x18 for < 10.5GB cache
#   19x19 for < 11.8GB cache
#   20x20 for < 13.0GB cache
#   21x21 for < 14.4GB cache
#   22x22 for < 15.7GB cache
#   23x23 for < 17.3GB cache
#   24x24 for < 18.8GB cache
#   25x25 for < 20.4GB cache
swap_level1_dirs 9
swap_level2_dirs 9


Siempre que se modifique el parámetro referente a los diferentes niveles de directorios de la caché, lo que implica también un aumento del tamaño de la misma definido en esta sección, tendremos que ejecutar el siguiente comando para reordenar la caché actual al nuevo número de niveles definido en este apartado.

$ cd ~/Programas/scache
$ java scache -rebalance

d) Uso combinado con otros proxys

Si queremos usar por ejemplo, la combinación Tor+Privoxy, junto con Smart Cache tendremos que añadirlo en el siguiente apartado, también podemos añadir un proxy anónimo.

Línea 161
# Parent proxy is ALSO required if you need support
# for protocols other than HTTP (FTP, Gopher, ...). Parent proxy
# must know how to support these protocols.
http_proxy 127.0.0.1 8118

e) Utilizar una imagen gif para las páginas 403 y la publicidad

Podemos utilizar una imagen gif con el fondo transparente para las páginas de acceso prohibido (403) y las que no se han podido cargar (500), además como explico más adelante nos servirá también para reemplazar la publicidad de las páginas por esta imagen al igual que hace Privoxy.

Línea 499
# @5
# Customized Error Messages: If this is used Smart Cache will send a redirect
# to a specified URL.
# only rc=403 (Forbidden) and rc=500 (Load failed) are now supported.
#
# It is best to use a '0' for displaying 1x1 empty GIF with a transparent
# background. The GIF can also be non transparent with configurable colours
builtin_gif_color 200 100 200

# If the page name ends with .js - it ends an empty page.
# RECOMMENDED:
ErrorDocument 403 0

f) Uso de la compresión de los datos de la caché

Si no estamos sobrados de espacio en disco, podemos activar la compresión de datos de la caché que afectará sólo a los archivos en formato de texto (html, txt, etc.). El ejemplo de abajo es el más efectivo a la hora de trabajar con el proxy.

Línea 705
# @18
#  DATA COMPRESSION SUPPORT   
#
#    Smart Cache can store text data in gzip format. This saves diskspace.
#    Data stored in Cache are sent to your browser in gzipped form, so your
#    browser must know how to handle them or use auto_decompress.
#
# Values for x >512 can be useful if you do not wish to compress files of a certain size.
#  auto_compress 1    means compress files with size>512
#  auto_compress x    means compress only files with size>x  (x>=512)
#  auto_compress 0    disables compression.
auto_compress 1

# Smart Cache compresses only text files, (Content-Type: text/*), but because
# the default mime type in many WWW servers is in text/plain format and
# because many HTTP, (*www), servers are misconfigured, SC will sometimes compress
#  some file(s) which it should not and, as a result, helper applications could have a problem.
# Therefore, you can exclude certain file types from compression by using
# the following:
#
# Files with these extension(s) will not be compressed.
nocompress .tgz .jar .mp3 .mid .wav .class .ra .ram .swf

# If your browser can not handle compressed data, Smart Cache can uncompress it.
# auto_decompress 0    No automatic data decompression
# auto_decompress 1    Decompress data if the browser does not send
#                             Accept-Encoding: gzip header
# auto_decompress 2    ALWAYS decompress. This can be useful when showing the
# html source within the browser. (Some Browsers will show the source compressed.)
auto_decompress 1


2) gc.cnf  

Con este archivo de configuración controlamos todo lo que tiene que ver con el tamaño de la caché y la política a seguir en la expiración de los objetos que contiene.

a) El tamaño de la caché

Establecemos el tamaño de la caché máximo que servirá de referencia cuando haya que ejecutar el limpiador, cuyo comando se explica más adelante. 

Línea 17
# Cache size. Bigger IS better. Running GC on bigger cache takes more time.
cache_swap_size 2500MB

b) El tamaño de cluster del sistema de archivos

Establecemos el tamaño de cluster del sistema de archivos en el que se encuentra el directorio de la caché. Si no lo establecemos correctamente, Smart Cache no detectará correctamente el tamaño de la misma. Por norma general, en sistemas NTFS, EXT4, Reiserfs, XFS, etc. hay que dejarlo en 4096.

Línea 28
#size of one allocation unit (also known as cluster or block)
# OS/2 with HPFS filesystem - 1024 bytes
# Linux with ext2 filesystem - 1024 bytes
#            ext3 filesystem - 4096 (in most cases)
#            reiserfs mounted with notail - 4096. CLEAR PERFORMANCE WINNER!
# FAT/VFAT,FAT32 Filesystem - run chkdsk/scandisk
# NTFS filesystem - 4096
#This is needed for computing the real diskspace used, not just a sum of
#individual file's size, which is smaller.
block_size 4096B

c) El tiempo de referencia para la caducidad de los objetos de la caché

En este apartado establecemos la fecha de caducidad, a partir de la cual los objetos que superen ésta serán eliminados de la caché cuando ejecutemos el limpiador. Por defecto viene establecido por 1 año (365d), que también se puede poner como 1y. Siguiendo las recomendaciones del programador de Smart Cache para un uso intensivo de navegación en modo desconectado lo fijamos en 2 años (2y).

Línea 46
#    Specify a time here.  For example:
#        reference_age 1y
#
reference_age 2y

d) La memoria del sistema que utilizará el limpiador de la caché

Aquí fijamos la cantidad de memoria del sistema que utilizará el limpiador de la caché para suprimir los objetos de ésta. Yo lo tengo establecido en 268435 (256 MB) para un sistema con 4096 MB. A mayor memoria más rápido será el proceso de purgado de la caché.

Línea 92
#size of memory array for holding temporary objects during garbage collection
gcarraysize 268435

e) Las penalizaciones que el limpiador aplicará a los objetos de la caché

Con esto evitamos que la caché se llene de páginas de error (404), no accesibles (403), etc, además de regular la caducidad de los objetos que contiene, sigo aplicando las recomendaciones para una navegación en modo desconectado.

Línea 128
#Penalty for negative cached objects (HTTP RC>=400)
#there are errors messages (not found, forbidden and so on..)
negative_cached_penalty *5

#if objects has expired date and now are expired. If undefined -
#expired objects are always removed from cache.
expired_penalty *1

#If objects are expired, but can be checked with If-Modified-Since request
# (some servers generates expire info just for their fun because
#   wants more hits.)
expired_but_checkable_penalty *1

#Some objects are not document or files, but redirects to another

#location. They should be deleted faster since they are small and can
#be loaded quickly. Most of them are used for adverts and changes quickly
redirect_penalty *2

#if object can not be checked with If-Modified-Since request
#HINT: if you don't plan ever use this cache for off-line browsing use some
#big value (i.e. *20) so uncheckable object will be early deleted
not_checkable_penalty *1

f) Hacer que nuestras páginas favoritas no sean borradas nunca

En este apartado podemos añadir las páginas que queremos que caduquen mucho más tarde que el resto, un ejemplo en el que las páginas añadidas caducarán 200 días después del resto de páginas, podemos establecer el número que deseemos. Hay que tener en cuenta que si accedemos a diario a estas páginas, la posibilidad de caducidad es nula, todo va en función del último acceso al directorio de la caché por parte del proxy y que es lo que determina la fecha de expiración de los objetos que la componen.

Línea 153
# URL masks. Order is important; First matching mask stops the urlmasks
#  processing. When you are want to match any protocol for given
#  host please include string `://` in mask, so SC can recognize it
#  correctly.
#    *://www.starwars.com/* will work while */www.starwars.com/*  will not.

urlmask https://manualinux.eu/* /200
urlmask http://sourceforge.net/* /200
urlmask http://fluxbox.org/* /200



3) cookies.cnf  

En este archivo de configuración definimos las páginas o dominios de las cuáles aceptaremos sus cookies, por defecto está establecido a todas (all), si queremos desactivar las cookies de todas las páginas (no es recomendable) poner none. Mi opinión es que desde el navegador nos va a resultar mucho más fácil y rápido la configuración de este apartado.

# Cookies filter set up for Smart Cache
#
# enter domains which are allowed to receive cookies.
# If domain has not allowed to receive cookies, cookie
# will be deleted from request or optionally replaced
# by fake cookie as defined in wafer option.
#
# Example: entering sun.com allows sending cookies to
#   all sites which name ends *sun.com
#
# DO NOT USE wild-cards (*) here!
#
#magic name 'all' allows sending cookie to any server
#magic name 'none' disables sending cookies to any server
#
all


4) rfail.cnf  

Este es el primer filtro que Smart Cacheleerá a la hora de filtrar todo tipo de direcciones para evitar que éstas sean almacenadas en la caché, indicado para filtrar publicidad en combinación con fail.cnf, utiliza expresiones regulares. Si cargamos mucho este archivo, el consumo de memoria se dispara. Utilizar siempre el archivo de la sección siguiente a esta.

# Regexp URL filter set up for Smart Cache - DISABLED URL list.
# This file is Autoreloaded by SC when changed.
#
# Look here if you get unwanted Forbidden by rule errors.
# This file is processed before fail.cnf.
#
^http://ads?[0-9]*\.


5) fail.cnf  

Este es el segundo filtro de direcciones que Smart Cache bloqueará, cuando sean cargadas, su uso más practico es para filtrar la publicidad de las páginas, su configuración es muy sencilla y sólo admite asteriscos (*) a la hora de crear reglas de filtrado con los nombres más habituales que utilizan las webs de publicidad.

# URL filter set up for Smart Cache - DISABLED URL list.
# This file is Autoreloaded by SC when changed.
#
# place here URL masks (one per line) same as arguments to
# Fail directive in scache.cnf
# Smart Cache has support only for '*' wildcard, but you can use it in pattern
# more times.
#
# Look here if you get unwanted Forbidden by rule errors.
#
# You can display which rule blocked the URL
#   ( add line `trace_fail yes` to file scache.cnf )
#

#A very common locations of ADV BANNERS...
http://ads.*
http://ad.*
http://adserver.*
http://adforce.*
*/ads/*
*/advs/*
*/adverts/*



6) pass.cnf  

Y en este otro archivo de configuración colocamos las direcciones que no queremos que sean bloqueadas, pero que al utilizar las reglas de filtrado del archivo fail.cnf aparecen bloqueadas, para entendernos, rescatamos aquellos enlaces que, teniendo publicidad en los mismos, sin la carga de ésta (en muchas páginas suele suceder) no podemos tener acceso a la total funcionalidad del sitio que pretendemos visitar.

# URL filter set up for Smart Cache - ENABLED URL list. Autoreloaded by SC.
#
# This file marks `good URL`, which are always allowed even if fail directive
# (configured in fail.cnf file) disables them.
#
# place here URL masks (one per line) same as arguments to
# Pass directive in scache.cnf, see fail.cnf for some examples.
#
# Smart Cache has support only for '*' wildcard, but you can use it in pattern
# more times.
#


7) redir.cnf  

En este archivo configuramos una de las caracteŕisticas más interesantes que posee Smart Cache y es la posibilidad de crear redireccionamientos. Por un lado podemos crear alias para por ejemplo, si escribo en el navegador: miweb, el proxy automáticamente me lleve a Manualinux o en el caso de que visitemos una web y nos interese de la misma una sección en concreto.

Para poner un ejemplo, de adobe.com sólo me interesa la página de descarga del plugin de flash, así que puedo crear un redireccionamiento que al escribir en el navegador adobe.com me lleve de forma automática a la página de descarga del plugin, ahorrándome el hecho de tener que usar los marcadores del navegador para este cometido.

# redir.cnf - Redirecting specified URLs to another
#   some redirect use examples.
# Syntax:
#   src-mask target-url star-number
# Method 1>
#this redirect http://www.netmag.home.cz/sample.html to
#              http://netmag.cz/sample.html
#  http://www.netmag.home.cz/*        http://netmag.cz/ 1

# Method 2>
#this redirect http://ncic.netmag.home.cz/sample.html to
#              http://ncic.netmag.cz/
#Example:
#  http://ncic.netmag.home.cz/*   http://ncic.netmag.cz/ 0

#defining alias for webcrawler
# http://www.webcrawler.com/*    http://webcrawler.com/ 1

#fast redirect. Skip server side redirector.
#  */redir.php?link=* * 2

http://miweb/*   https://manualinux.eu/*


8) rewrite.cnf  

Este archivo se configura de la misma manera que el anterior y sirve para reubicar con otro nombre dentro de la caché del proxy las direcciones que definamos en el mismo.

#rewrite.cnf
#This file has the same syntax as redir.cnf, but request redirecting is
#performed only internaly by Smart Cache itself. Browser do not know that is
#beeing redirected to new location.



Configurar el inicio de Smart Cache  Bloc de Notas  

A diferencia de Polipo, la ejecución de Smart Cache es siempre recomendable hacerla de forma manual y desde el entorno que estemos utilizando, en mi caso, Fluxbox. Un ejemplo de atajo de teclado que añadiré al archivo de configuración, ~/.fluxbox/keys. Cuando ejecute la combinación: WIN+ALT+C, se lanzará la terminal Rxvt junto con la ejecución del proxy.

Mod1 Mod4 c :ExecCommand rxvt -e scache

Este mismo comando de ejecución: rxvt -e scache, se puede añadir a los correspondientes menús de los administradores de ventanas y demás aplicaciones auxiliares cuyos manuales están disponibles en la web. Los que soporten archivos desktop, con el que hemos creado anteriormente servirá para que sea detectada la entrada de Smart Cache en los menús correspondientes.



Configurar los clientes  

Con la dirección localhost:8090 para la conexión a Smart Cache, tendremos que configurar los navegadores y los gestores de descargas como wget para poder usarlos con el proxy. Dado que la inmensa mayoría de webs se han pasado al protocolo HTTPS, es muy recomendable configurar también el soporte de conexiones SSL para poder bloquear la publicidad de terceros. En los ejemplos de abajo, solo incluyo aquellos navegadores que utilizo habitualmente.

1) Pale Moon

Aunque lo podemos configurar desde las preferencias del navegador, lo mejor es instalar la extensión Proxy Selector, 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 hacerlo de la misma forma que se muestra en el ejemplo de las capturas de pantalla, haciendo clic en la entrada del menú de la extensión, en la barra de estado, en Gestionar los proxys >> Añadir.

Captura - Proxy Selector - 1

Captura - Proxy Selector - 2


2) Links

En el navegador Links seleccionamos Configuración >> Opciones de red >> Proxies y en la casilla Proxy HTTP (máquina:puerto) añadimos localhost:8090

Captura - Smart Cache - Links


3) Dillo

Se explica en el capítulo 9 de la sección correspondiente del manual de Dillo.

4) Wget

Smart Cache mejora considerablemente la descarga de archivos con wget (solo 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.

$ cp /etc/wgetrc ~/.wgetrc

nos vamos a la línea 75 y añadimos lo que está en rojo.

# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
http_proxy = 127.0.0.1:8090
#ftp_proxy = http://proxy.yoyodyne.com:18023/

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:

[jose@localhost descargas]$ wget -c --proxy=on http://www.desk9.com/Desk9Image/4_10/13B.JPG
--2008-02-24 22:57:44--  http://www.desk9.com/Desk9Image/4_10/13B.JPG
Connecting to 127.0.0.1:8090... conectado.
Petición Proxy enviada, esperando respuesta... 200 OK
Longitud: 347429 (339K) [image/jpeg]
Saving to: `13B.JPG'

100%[=======================================>] 347.429     4,77K/s   in 1m 43s

2008-02-24 22:59:31 (3,28 KB/s) - `13B.JPG' saved [347429/347429]

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.



Iniciamos Smart Cache  


Captura - Smart Cache - Rxvt


Cuando tengamos Smart Cache ya en ejecución, para acceder a la interfaz web del mismo, escribimos la dirección http://localhost:8091 en el navegador, conveniente añadirlo a los marcadores para facilitar posteriores accesos.

Captura - Smart Cache - Firefox


Captura - Smart Cache - Firefox




Controlar el tamaño de la caché de Smart Cache  

Ejecutando los comandos que a continuación pongo, ajustaremos el tamaño de la caché con el primero, y con el segundo la repararemos en el caso de que sea necesario.

$ cd ~/Programas/scache
$ java scache -gc

$ cd ~/Programas/scache
$ java scache -repair



Enlaces


http://scache.sourceforge.net >> La web de Smart Cache.


Foro Galería Blog


Actualizado el 26-02-2019

Proxys Caché - Smart Cache

Proxys Caché - PolipoUtilidades de Red Netactview