martes, 14 de febrero de 2017

¿Cómo instalo el reproductor Harmony en Ubuntu?

Ya durante la Cena de Camaradería del Círculo de Oficiales del Ejército del año 1925, Juan Perón se convierte en el centro de atención y en una exposición informal ante oficiales y suboficiales explica cómo instalar Harmony, el reproductor y cliente orientado a la nube en Ubuntu.

¡Camaradas!

Hemos sido lo suficientemente sensibles para alarmarnos al ver al mundo sumirse en una gran conflagración, en la que los regidores imperiales no han dudado en ordenar a sus pueblos matarse por un mapa y una corona. Apreciamos que quienes realmente han sufrido toda clase de calamidades han sido los pueblos, que no son otra cosa que nuestros hermanos sobre la tierra. No podemos soslayar tampoco que esto, tan claro y tan patente, han pretendido que lo suframos en carne propia...

Como soldados, nuestra tarea es la de encomendarnos al Pueblo Argentino para defender sus intereses. En especial, hemos de resolver para protegerlo contra los abusos de una clase privilegiada que no dudaría en enviarnos a una conflagración que no es nuestra con tal de presentar favores a quienes por medios espúreos dominan al Mundo.
El pueblo argentino es trabajador y pacífico, y merece en recompensa a su dedicación mucho más de lo que actualmente posee y goza. Merece un esparcimiento y un descanso justo, y una doctrina nacional que lo proteja y privilegie por encima de la inacción de clases acomodaticias. Podrán atestiguar conmigo las flagrantes iniquidades de un sistema que ha de cambiarse por el bien de todos, pues si no lo hacemos podría producirse en nuestra Argentina lo que en otros lados no ha sido posible evitar: una revolución que conmocione los fundamentos mismos de la república. Y si ello sucede, en base de lo que vemos no podremos decir que no tiene una base justa.

Lo que he dicho, señores, responde a aquel viejo apotegma que reza "sensibilidad e imaginación es base para ver, Ver base para apreciar, Apreciar base para resolver, y Resolver base para Actuar". Es el procedimiento lógico que toda acción ha de mantener para considerarse dentro de una lógica virtuosa.

Dicha virtud hemos de llevarla sin dudar al mundo telemático. Normalmente recomiendo el uso de computación a nivel local y compartida, por sobre el mal llamado concepto de "nube". La mal llamada "nube" no es mas que un servidor ajeno propuesto en un esquema en la cual se propone a un usuario incauto o desaprensivo, utilizar medios que nunca le serán cedidos. Este esquema sufre innumerables desventajas desde el lado de la privacidad, pero también desde la ética de empleo.

La computación ha de ser local, en tanto que un sistema GNU con Linux es capaz de realizar todo tipo de tareas localmente sin problema alguno. Lo que se necesita es el conocimiento, y éste ha de ser libre y gratuito bajo las banderas del Justicialismo. ¡Esto lo sabe hasta el que asó la manteca!

Lo que muchos no saben que que contamos además con una serie de clientes para Ubuntu que también pueden servirnos de manera local y potenciar nuestra computación hogareña. Entre estos ejemplos contaremos con Harmony, un reproductor de música libre pensado para uso local y como cliente de la nube.

De momento podremos instalarlo descargando el paquete Deb para Ubuntu de 64 bitios. Podremos hacerlo abriendo una Terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

cd ~/Descargas ;

wget https://github.com/vincelwt/harmony/releases/download/v0.4.5/harmony-0.4.5-amd64.deb ;

sudo dpkg -i harmony-0.4.5-amd64.deb ;

Todo esto descargará el instalador empaquetado (31 megabytes) y lo instalará en nuestro sistema.

Para ejecutarlo vamos a Aplicaciones / Sonidos y Video / Harmony.

La primera ventana que abrirá nos permitirá configurar los servicios de servidores externos que querremos emplear, de entre los que estemos suscriptos. De momento el cliente es capaz de adosarse a los populares Spotify, SoundCloud, Last.FM, Deezer, Play Music, Hyper Machine.

Además en dicha ventana encontraremos en color celeste la opción Local Tracks, desde la cual podremos configurar nuestra carpeta /home/usuario/Música u otra que deseemos que el programa analice para revisar su contenido musical.

En el caso de la reproducción de archivos locales, Harmony es mas bien minimalista y no cuenta con muchas opciones mas que ejecutar una lista de reproducción, aceptando teclas atajo del teclado para avanzar y retroceder los temas.. Destaca sin embargo la inclusión (luego de mucho tiempo) de la opción ClutterFlow, que nos permite ver las tapas de los discos y pasarlas lateralmente como si de una batea se tratara. ClutterFlow ya había sido implementado en varios reproductores de antaño (recordemos el montonero Soundbird), pero en este programa se ha corregido el problema que podía dar con las iteraciones modernas de Compiz.
Con Ctrl+D tendremos acceso a una decoración oscura que puede ser más adecuada para nuestro entorno por defecto en Ubuntu Mate.
Una vez que hayamos configurado nuestros usuarios de servicios de Nube proporcionando los Usuarios y Contraseñas, y autorizado la asociación de la aplicación en cada uno de ellos, podremos usar a Harmony como cliente receptor de los streams de música de nuestra preferencia, de acuerdo naturalmente al servicio y condiciones que cada uno disponga en los servidores mencionados.


jueves, 9 de febrero de 2017

¿Cómo configuro un poderoso router casero con Ubuntu?

En una reunión con obreros del gremio telefónico, Juan Perón explica los requerimientos del Movimiento y enseña a los técnicos cómo armar un Router casero munido de Ubuntu.

¡Trabajadores!

Existen tareas que por complejas que parezcan, deben poder ser realizadas por un Pueblo Justo, Libre y Soberano. Los paños de nuestras tres divisas son inmaculados, y como tal ha de ser el camino que hemos de seguir en pos de nuestra merecida felicidad.

Sin embargo, no es secreto para nadie que en ocasiones las tareas que deberían ser sencillas esconden para sí dificultades que enturbian el corazón de los hombres más formidables. El conocimiento permite al hombre hacer de si alguien mejor, pero no es algo que pueda adquirirse fácilmente en el ámbito individual: el conocimiento ha de lograrse de manera colectiva para que realmente sea apropiado y utilizado.

Poco sentido tiene que algo lo sepa uno solo. Ello parecería correcto para una sociedad vendida al Capital, pero un Pueblo como el nuestro necesita y merece una Comunidad Organizada capacitada no solamente para hacer uso del Software y Hardware puesto a su disposición, sino ser capaz de darse a sí misma las funcionalidades que le sean necesarias en pos de su sano existir.
Vean señores. Dios creó a la Tierra, y en un principio las comunicaciones se establecían a los gritos, luego con señales de humo, y hasta hace poco de forma descentralizada a través de la línea telefónica, empleando un módem telefónico en una modalidad punto a punto (síncrona). Con el advenimiento de la llamada "banda ancha", el acceso a Internet se hizo más centralizado. La conexión a nivel masivo se logró por medio de dispositivos de red hogareños (gateways) otorgados en comodato por los proveedores de internet. Estos puertos de entrada suelen tener la forma de módem ADSL, cablemódem, módem de fibra óptica, antena/suscriber, u otro aparato de para acceso al servicio de Internet. La entrada de estos aparatos recibida desde la vía pública varía de acuerdo a la tecnología utilizada (cable telefónico, cable coaxil, fibra óptica, etc), pero la salida al hogar suele ser un conector normalizado RJ45, a través de una interfaz Ethernet.
De un tiempo a esta parte la mayoría de estos puertos de entrada hogareños incorporaron también funciones básicas de enrutamiento hacia el hogar, e incluso la capacidad de punto de acceso WiFi. No es extraño que además hoy estos modem/routers con Wifi tengan funcionalidad VoIP para entablar comunicaciones de Voz a través de una suscripción Internet, y que la velocidad para la red LAN sea del tipo Gigabit (1000 Mbps por segundo).

En este escenario ustedes se preguntarán ¿para que podría querer armar un router casero? Las respuestas son múltiples. En primer lugar los modem/routers hogareños convencionales suelen ser limitados: cuentan con una memoria muy escasa (normalmente apenas unos 32MB), amén de un microprocesador ARM o MIPS de escasa potencia (400Mhz es una velocidad de referencia bastante extendida). Ello los torna ridículos en cualquier condición de real alta demanda. No tendremos problemas para compartir internet de 10MB entre cuatro o cinco computadoras, pero si nuestro uso es más holgado, nos encontraremos en instalaciones comerciales, educativas, etc, dicha capacidad puede tornarse en una extremadamente constrictiva. Por otro lado, un equipo especialmente armado para la función de router casero bien puede operar como servidor local de correo, de datos, etc. Algunos routers hogareños de alta gama disponen de estas funcionalidades a un nivel muy limitado. Naturalmente que podremos superarla con creces.

Por otro lado, también podremos armar un router con un equipo previamente descartado, o un equipo nuevo de muy bajo costo.

En este caso emplearemos una MiniPC sin fan (especialmente diseñada pensando en un bajo consumo eléctrico empleando disipadores pasivos). La placa madre de la misma trae un Intel Celeron 1037u doble núcleo de 1.8Ghz, dos puertos Ethernet Gigabit, cuatro puertos USB2, y el hardware de video video es Intel onboard con salida VGA y HDMI (que no utilizaremos normalmente). La memoria es de 2GB de RAM DDR3. Le colocaremos un SSD barato de 64GB.

Naturalmente existen opciones mucho más baratas (emplear memorias flash SD en lugar de disco rígido, o usar una PC de descarte con una placa LAN Ethernet común). Sin embargo, en tal caso tendremos elevado consumo eléctrico y generación de calor al ñudo.

¿Que hará el router peronista?

Un router es un dispositivo que acepta paquetes TCP/IP en uno de sus conectores (técnicamente interfases), y la reenvía a otra interfaz, de modo que esos paquetes estén más cerca de su destino eventual. Fundamentalmente debemos saber que el aparato debe entender y manejar cuatro cosas: debe rutear (algo que Linux puede hacer perfectamente), y tener capacidad DHCP,  DNS y NAT.

DHCP (Protocolo de Control Dinámico de Host) es el protocolo que le permite al router asignar a los clientes locales direcciones IP de forma dinámica y llevar control de las mismas de forma automática. DNS (Sistema de Nombre de Dominio) es un software traductor entre los nombres de dominio (ej www.ubuntuperonista.blogspot.com.ar) las direcciones IP (numéricas y difíciles de recordar) de dichos servidores. Técnicamente, emplea el programa BIND desarrollado en la Universidad peronista de Berkley.

Y NAT, en apretado resúmen, nos permite acceder a direcciones ruteables en internets desde direcciones locales y privadas no ruteables. Un router oficia de nodo aceptando tráfico desde la red local LAN, sustituyendo su propia dirección pública otorgada por el proveedor de internet - ya sea fija o dinámica (variable) por la dirección IP de la LAN desde donde viene el paquete, y enviando dicho paquete a internet. Cuando las réplicas del paquete regresan al router, este buscará cuál es la dirección IP local desde la cual se solicitó el paquete original, pondrá esa dirección IP de nuevo en el paquete en lugar de la suya propia, y reenviará el paquete a su destinatario local, a la máquina original.
Necesitamos el NAT debido a que no existen suficientes direcciones IP públicas para toda computadora personal y dispositivo existente. Técnicamente, debemos saber que el router lo hará realidad efectiva por medio de la función MASQUERADE del programa iptables.

Software para el Route



Existen varias distribuciones Linux pensadas para operar como router, como por ejemplo OpenWRT. En este caso emplearemos la versión LTS de Ubuntu Server, la cual descargamos desde su web oficial. Usando un pendrive de 2GB creamos el pendrive de instalación. El procedimiento de instalación consiste en iniciar la MiniPC desde el pendrive, e instalar en el disco SSD Ubuntu Server 16.04.1LTS con todas las opciones por defecto. La única opción relevante será ingresar nuestro nombre de usuario y contraseña de Conductor, así como si deseamos actualizaciones de seguridad automáticas (responderemos afirmativamente). Cuando todo finalice reiniciamos la MiniPC, nos logueamos con nuestro usuario y contraseña, y nos encontraremos ante el intérprete de comandos (una pantalla de solo texto).

Configurar las interfaces de red

Lo primero es asegurarnos cual nomenclatura de interfaz de la miniPC corresponde a qué puerto. Lo manera más sencilla es escribirle WAN o LAN a los puertos (si es que no están ya marcadas de alguna manera). Para averiguar bien conviene conectar el cable Ethernet de nuestro módem al conector que querremos usar como puerto WAN, y luego tipear el siguiente comando de organización:

ifconfig

...y al presionar Enter nos aseguramos cual de las interfaces que nos indique el sistema tiene una dirección IP: ¡y esta será nuestro puerto WAN!. En mi caso la MiniPC cuenta con dos puertos Ethernet, y la que recibe dirección IP figura como interfaz enp4s0. Naturalmente que la otra interfaz (en mi caso enp5s0) será el puerto LAN. Deberán tomar nota de cual es cual en vuestro caso particular pues es muy normal que su propia nomenclatura sea distinta a la de este ejemplo.

Nuestra acción siguiente será configurar las interfaces de red modificando el archivo /etc/network/interfaces, con el comando:

sudo nano /etc/network/interfaces

...se abrirá el editor GNU Nano con un archivo que ya contendrá configuraciones en forma de texto. La sección loopback debería ya estar allí, y es probable que a continuación también aparezca algo correspondiente para nuestras interfaces de red (enp4s0 y enp5s0 en este caso). Hemos de modificar/agregar las secciones para enp4s0 (nuestro puerto de salida a internet WAN) y enp5s0 (nuestro puerto local LAN) como se indica:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# La interfaz loopback de la red
auto lo
iface lo inet loopback

# La interfaz WAN a internet, aparece nomenclada LAN1 en la placa madre.
auto enp4s0
iface enp4s0 inet dhcp

# La interfaz LAN (red local), aparece nomenclada LAN2 en la placa madre.
auto enp5s0
iface enp5s0 inet static
 address 192.168.99.1
 netmask 255.255.255.0

Quienes conocer Linux dominan ya que las líneas que se inician con el carácter numeral ("#") no son procesadas por el sistema y se emplean como comentarios; son líneas que se agregaron como referencia al equipo en particular, y son importantes como anotaciones para futuras referencias. Siempre conviene comentar lo que intentamos hacer en nuestros archivos de configuración. Guardaremos los cambios con Ctrl+o y saldremos del editor Nano con Ctrl+x.

Habilitar el enrutamiento en /etc/sysctl.conf

Para que Linux sea capaz de enrutar paquetes debemos permitir el reenvío de los mismos entre las distintas interfaces del router. Esto será realmente simple. Ingresamos el comando:

sudo nano /etc/sysctl.conf

...y descomentamos (borramos el símbolo numeral "#") la línea que dice  #net.ipv4.ip_forward=1, de modo que quede como se indica a continuación (sin el "#"):
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1

Luego presionamos Ctrl+o, y Ctrl+x a fin de guardar los cambios al fichero de configuración y salir del editor.


Los cambios que hagamos se harán efectivos cuando reiniciemos el router con:

sudo reboot

Crear e iniciar un conjunto de reglas esqueleto

Conforme el sistema sepa que debe ser un router, el siguiente paso será asegurarnos de escoger qué tipo de información reenviará y cuando lo hará. Para ello debemos crear un conjunto de reglas de contrafuego (firewall), y asegurarnos que entren en vigencia antes de que las interfaces de red del router se activen. Primero ingresamos el comando

sudo nano /etc/network/if-pre-up.d/iptables 

...para crear un guión de inicio y le agregamos el siguiente contenido:

#!/bin/sh
/sbin/iptables-restore < /etc/network/iptables

Luego de guardar los cambios y salir del editor con Ctrl+o y Ctrl+x, ingresamos:

sudo chown root /etc/network/if-pre-up.d/iptables ; chmod 755 /etc/network/if-pre-up.d/iptables

Esto le dice al sistema que el guión es propiedad del root (conductor y administrador del sistema) y luego se le informa al sistema que sólo el root puede escribirlo y leerlo, pero que puede ser ejecutado cualquier usuario. Ya que nuestro guión fue creado en el directorio if-pre-up.d, será ejecutado antes que las interfases de red se inicien, asegurándonos que nunca quedaremos online sin reglas de cortafuego que nos protejan.

Archivo /etc/network/iptables

Para iniciar, vamos a crear un esqueleto mínimo de reglas necesarias para que  iptables-restore no sea gorila. Creamos un nuevo conjunto de reglas con el comando

sudo nano /etc/network/iptables
...y lo completamos de la siguiente manera:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# Reglas de servicio
-A INPUT -j DROP

# Reglas de reenvío
-A FORWARD -j DROP

COMMIT
Tomémonos un momento para comprender el esqueleto de nuestro conjunto de reglas antes de agregarle músculos y órganos. Hemos creado dos secciones, *nat y *filter. Cada sección comienza con una *declaración apropiada y termina con COMMIT ("Consignar, proceder"). Si no hacemos esto bien (o sea, si omitimos algunas de las secciones, escribimos mal su nombre, o no agregamos la orden COMMIT al final) el conjunto de reglas directamente fracasarán. Y ello será gorila.

Por ahora, este esqueleto básico realmente no cumple demasiado, pero constituirá el marco sobre el cual construiremos los mejores años para hacer de nuestro equipo un excelente Router Peronista. Entender esto ahora, antes de echar las carnes, nos facilitará mucho el trabajo que nos demandará en breve.

Activar el NAT

En este punto tenemos una MiniPC que sabe cómo aceptar un paquete en una interfaz, y si está dirigido a una dirección en otra interfaz, reenviarlo allí. Debido a que por el momento no hemos consignado nuestro conjunto de reglas aún, el router peronista no va a discriminar sobre de quién viene, qué es, o a quién va. Solamente rutea. Tampoco realiza una Traducción de Dirección de Red (NAT, Network Address Translation),

Ahora que sabemos cual puerto es cual, hemos de activarlos y comentarlos en nuestro conjunto de reglas iptables. También procederemos a insertar una regla que active la NAT. Para ello ingresamos:

 sudo nano /etc/network/iptables

...y editamos el archivo de modo que quede: 
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# enp4s0 es la interfaz internet WAN, #enp5s0 es la interfaz local LAN
-A POSTROUTING -o enp4s0 -j MASQUERADE

COMMIT
Aquí lo tenemos. Una interfaz es la LAN, la otra es la WAN, y tenemos la Traducción de Dirección de Redes operando entre ambas. Aún no estamos demasiado listos para conectarnos a la Internet, pero falta menos. Probablemente querremos que nuestro Router Peronista otorgue direcciones IP a través de la interfaz LAN, como podría otorgar privilegios a nuestros niños. Para ello aplicamos el conjunto de reglas con NAT activado adecuado, por medio del comando de organización:

sudo /etc/network/pre-up.d/iptables

...esto refrescará el conjunto de reglas iptables con cualquier cosa nueva que hayamos incorporado al archivo /etc/network/iptables.
Este mismo comando  

sudo /etc/network/pre-up.d/iptables 
...es el que habremos de ejecutar toda vez que querremos modificar y aplicar el conjunto de reglas activo.

Configurar DHCP y DNS

Configurar nuestro router para que cumpla con la tarea de DHCP es sencillo. Ingresamos el comando:

sudo apt-get install isc-dhcp-server

...y lo configuramos con el comando:

sudo nano /etc/dhcp/dhcpd.conf

...modificándolo para que quede similar a:
subnet 192.168.99.0 netmask 255.255.255.0 {
 range 192.168.99.100 192.168.99.199;
 option routers 192.168.99.1;
 option domain-name-servers 192.168.99.1;
 option broadcast-address 192.168.99.255;
}
Probablemente ya puedan figurarse el significado. La red local será 192.168.99.x, el router mismo tendrá la IP 192.168.99.1, el router servirá DNS por sí mismo, y la dirección de emisión irá donde siempre debe ir. Para aplicar las configuraciones ingresamos el comando:

sudo /etc/init.d/isc-dhcp-server restart.

Ya estaremos entregando direcciones IP de forma dinámica.
Aun así nos falta proveernos de DNS locales, lo cual nuestro servidor DHCP promete otorgarnos gratuitamente. Hacer esto realidad efectiva es incluso más sencillo:  Ingresamos:

sudo apt-get install bind9.

...y no se requieren configuraciones adicionales

Habilitar a clientes acceso DNS y DHCP

En este punto básicamente tenemos todo configurado, pero nuestro router está completamente paranoiqueado. Esencialmente sabe cómo resolver interrogantes DNS, entregar direcciones IP a eventuales clientes y reenviarles tráfico, pero se niega categóricamente a hacerlo. Para que nuestro sistema proceda a hacerlo habremos de crear algunas reglas claras sobre lo que se permitirá reenviar y lo que se debe permitir aceptar. Para ello ingresamos:

sudo nano  /etc/network/iptables

...y le sumamos un conjunto de reglas de servicio como se indica:
# Reglas de servicio

# reglas de aceptación básicas - ICMP, loopback, traceroute, establecidas como "acepto todo"
-A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT

# permitir que salgan rechazos de traceroute
-A INPUT -p udp -m udp --dport 33434:33523 -j REJECT --reject-with icmp-port-unreachable

# DNS - aceptarlo desde la LAN
-A INPUT -i enp5s0 -p tcp --dport 53 -j ACCEPT
-A INPUT -i enp5s0 -p udp --dport 53 -j ACCEPT

# SSH - aceparlo desde la LAN
-A INPUT -i enp5s0 -p tcp --dport 22 -j ACCEPT

# pedidos de IP desde clientes de DHCP - aceptarlos desde la LAN
-A INPUT -i enp5s0 -p udp --dport 67:68 -j ACCEPT

# descartar (DROP) todo otro tráfico recibido
-A INPUT -j DROP
Con esta configuración aún el router permanece muy paranoico como para dejar que el tráfico salga al exterior (la Internet), pero al menos ahora dejará que los equipos de nuestra LAN obtengan direcciones IP por sí mismos y resuelvan los nombres de host DNS. También permitirá funciones como los pings y traceroutes (en este caso, únicamente desde cualquier interfaz local). Finalmente, una regla especial permite el acceso Secure Shell (SSH) desde la LAN hacia el router, lo cual es útil pues ya no tendremos que conectar físicamente monitor y teclado al router peronista cada vez que querramos hacer un cambio, sino que podremos operarlo a través de SSH en la red local, con el comando:

ssh root@192.168.99.1

Si estáis copiando y pegando a lo puntero político, recuerden simplemente una cosa:  enp5s0 es mi interfaz local LAN, pero podría ser distinta en vuestro caso. Revisen sus notas para saber cuál interfaz es la que les corresponde en particular.

Permitir que el tráfico salga a Internet

Vamos a hacer esto supersencillo. Todas las máquinas tendrán permitido salir a internet y hacer lo que les venga en gana:
# Reglas de reenvío

# reenviar paquetes a lo largo de las conexiones establecidas/relacionadas
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# reenviar desde la el area local LAN (enp5s0) to internet WAN (enp4s0)
-A FORWARD -i enp5s0 -o enp4s0 -j ACCEPT

# descartar (DROP) todo otro tráfico recibido
-A FORWARD -j DROP
En este punto ya tenemos un Router Peronista y creíble. La MiniPC entrega direcciones IP dinámicamente, resuelve pedidos DNS, enruta tráfico desde los puertos LAN e internet y viceversa. Además, nada de lo que venga de internet tiene permitido el acceso a la LAN. Aún así, debemos agregar una característica más antes de considerar al proyecto finalizado.

Reenvío de Puertos desde Internet a la LAN

Honestamente, este es la única parte dificultosa de hacer nuestro router peronista: crear reenvío en base a puertos, o sea, crear "filtros" desde Internet a los clientes conectados en la LAN. Normalmente los routers comunes cuentan con una interfaz web que lo hacen sencillo: escogemos una IP local, escogemos un protocolo y puerto, y lo configuramos "permitir tráfico para el puerto TCP n a la IP local xxx.xxx.xxx.xxx". Al emplear iptables será algo más difícil pues requerimos dos entradas separadas para cada servicio de reenvio. En este ejemplo, vamos a enviar el puerto de TCP número 80 (el servicio HTTP) a través del router) para una IP local. Esto es necesario si queremos evaluar la salida de WAN a la LAN de un router.

En primer lugar, creamos una entrada en la sección *nat:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# enp4s0 es la interfaz de internet WAN, #enp5s0 es la interfaz local LAN
-A POSTROUTING -o enp4s0 -j MASQUERADE

# filtro NAT: HTTP desde WAN a LAN
-A PREROUTING -p tcp -m tcp -i enp4s0 --dport 80 -j DNAT --to-destination 192.168.99.100:80

COMMIT
Esta línea de pre-enruteamiento le dice al router que un tráfico arbitrario desde la internet (tráfico que aún no está asociado con una conexión de salida desde la LAN) dirigido al puerto 80, debe ser reenviado a la máquina local en la dirección IP 192.168.99.100. Sin embargo, ya que tenemos una regla de descarte por defecto (DROP) en nuestro conjunto de reglas de reenvío, también necesitamos una regla allí que nos permita que este tráfico sea reenviado ahora que sabemos cómo reenviarlo:
# Reglas de reenvío

# reenviar paquetes a lo largo de las conexiones establecidas/relacionadas
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# reenviar desde LAN local enp5s0 a internet WAN (enp4s0)
-A FORWARD -i enp5s0 -o enp4s0 -j ACCEPT

# permite el tráfico desde nuestro filtro NAT
-A FORWARD -p tcp -d 192.168.99.100 --dport 80 -j ACCEPT

# descartar (DROP) todo otro tráfico reenviado
-A FORWARD -j DROP
Si le erramos a esto (si olvidamos la regla PREROUTING o la regla FORWARD, o si ponemos la regla PREROUTING en la seccion *filter de la regla FORWARD, o la regla FORWARD en la sección *nat), nuestro router se pondrá gorila y se negará a cargar el conjunto de reglas o fracasará directamente al reenviar el tráfico hacia donde debe dirigirse a través del filtro. No es excesivamente difícil, pero si es algo estructurado que debemos conocer, por ello es que he recurrido a colores para indicar las interfaces, y a comentarios que explican todo.

El conjunto de reglas finalizado y completo

Ha sido necesario avanzar lentamente sobre cada sección de nuestro conjunto de reglas para asegurarnos de explicar y entender qué estamos haciendo. Aqui pasaré en limpio el conjunto de reglas completo, en una sola pieza y con comentarios para el beneficio de la Masa Popular, que es la más maravillosa música.

Por favor recuerden que sus nombres de interfaz probablemente sean diferentes al mío. ¡No copien a lo Tamborini-Mosca enp4s0 y enp5s0 y se pregunten porque no funcionan!.


*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# enp4s0 es la interfaz internet WAN, #enp5s0 es la interfaz local LAN
-A POSTROUTING -o enp4s0 -j MASQUERADE

# Filtro NAT: HTTP desde internet WAN enp4s0 a la local LAN
-A PREROUTING -p tcp -m tcp -i enp4s0 --dport 80 -j DNAT --to-destination 192.168.99.100:80

COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# Reglas de Servicio

# reglas de aceptación básicas - ICMP, loopback, traceroute, establecidas como "acepto todo"
-A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT

# permitir que salgan rechazos de traceroute
-A INPUT -p udp -m udp --dport 33434:33523 -j REJECT --reject-with icmp-port-unreachable

# DNS - aceptarlos desde la LAN
-A INPUT -i enp5s0 -p tcp --dport 53 -j ACCEPT
-A INPUT -i enp5s0 -p udp --dport 53 -j ACCEPT

# SSH - aceptarlos desde la LAN
-A INPUT -i enp5s0 -p tcp --dport 22 -j ACCEPT

# pedidos de IP desde clientes de DHCP - aceptarlos desde la LAN
-A INPUT -i enp5s0 -p udp --dport 67:68 -j ACCEPT

# descartar (DROP) todo otro tráfico recibido
-A INPUT -j DROP

# Reglas de Reenvío

# reenviar paquetes a lo largo de las conexiones establecidas/relacionadas
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# reenviar desde LAN local enp5s0 a internet WAN (enp4s0)
-A FORWARD -i enp5s0 -o enp4s0 -j ACCEPT

# permite el tráfico desde nuestro filtro NAT
-A FORWARD -p tcp -d 192.168.99.100 --dport 80 -j ACCEPT

# descartar (DROP) todo otro tráfico reenviado
-A FORWARD -j DROP

COMMIT
Una vez que estamos seguros de tener todo el conjunto de reglas y que está adaptado adecuadamente a nuestras interfaces de red y equipamiento, es tiempo de aplicar todo con el comando: 

sudo /etc/network/if-pre-up.d/iptables

Con esto, finalmente tendremos nuestra MiniPC operando como excelente router y además, tendremos dicha máquina para operar como servidor. Con un poco de ingenio podremos montar un servidor Apache para dar servicio a páginas Web, MySQL para dar servicio de bases de datos relacionales, incluso hasta servidores de BBS. ¡Y todo gracias al Justicialismo!

domingo, 5 de febrero de 2017

¿Cómo puedo recortar videos con precisión en Ubuntu?

El imprescindible documento Doctrina Peronista sienta las bases y detalla las concepciones del Movimiento Justicialista, además de conceptualizar cómo instalar Vidcutter en Ubuntu.

¡Descamisados!


Los gobiernos que pretenden solucionar sólo las cuestiones del presente, lo hacen con cortas vistas. Se gobierna para el porvenir, porque la solución de los problemas ha de ser objeto de una racionalidad absoluta, sin la cual no son medidas de verdadero gobierno, sino enmiendas a una solución que ya ha pasado. No somos de los que opinamos que el arte de gobernar los pueblos sea arte de intrigas y habilidades en que toda formación doctrinal es innecesaria y que en la improvisación pueda suplir la falta de preparación y de estudio. Reflexivamente hemos llegado a establecer las normas generales del ordenamiento económico-social y estamos dispuestos a cumplirlas y hacerlas cumplir; no para regatear las mejoras sociales, sino para que estas sean sólidas,
robustas y perdurables.

Es necesario, asimismo, comprender que el Estado es una máquina que funciona dentro de la Nación, pero lo definitivo y lo que obedece a la tradición histórica es la Nación y no el Estado.

Nuestra Revolución tiene un fundamento significativamente social, vale decir: ha dado el centro de gravedad de su actividad al fenómeno social, y no al económico y al político, que los ha considerado, como elemento coadyuvantes al social. Porque en la conciencia de la Revolución íbamos práctica y positivamente observando que el mundo, fue en su fenomenología actual, se desplaza de lo económico y político hacia lo social.

El gobierno de un pueblo es un problema social. Aquel se tecnifica y la política se racionaliza a medida que la vida colectiva adquiere mayor complejidad. Esto mismo, sin diferencias, se traslada al mundo del software.

El software libre no responde exclusivamente a un factor económico, ni a un factor político, pero responde fundamentalmente al factor social. De la misma manera, consideraciones político-económicas oxigenan su ser, pero sin duda el verdadero alimento lo adquiere a través de su raíz social.

El software libre está diseñado en principio para compartirse, entendiendo este acto como de fundamental vertiente social. Compartir el software sin ataduras significa que el mismo puede utilizarse - además de sus funciones normales - como un sagrado Maná del Cielo, para instruir y para comulgar una sociedad entera en el ámbito del software.

Por ello la creación del software libre debe estar en manos de todos, y en especial de aquellos quienes hayan probado innegable vocación y capacidad para el estudio y solución de las cuestiones sociales, y de quienes representan intereses legítimos y aspiraciones justas. Quienes sientan la programación como una urgencia vocacional y no como una actividad lucrativa, deben desempeñarse en la creación de software libre porque así cumplirán su actividad como función pública y social.


Sólo de esa manera conseguiremos aplicaciones potentes y robustas, que sirvan a todos por igual y se fundamenten apreciables para el bienestar de nuestros Hermanos de Nación.

Veamos un ejemplo. Indudablemente la función de dirección o compaginación audiovisual era una tarea que en sus orígenes históricos estaba reservada al Oligarca. Era difícil por condicionantes de los costos de la técnica, que la Masa pudiese generar dicho tipo de material con facilidad.

Hoy, la técnica y el software libre creado bajo la estrella social nos permiten editar contenidos audiovisuales con gran efectismo y capacidad. Editores como OpenShot, Lightworks, Cinelerra, Flowblade,son prueba palpable de que el Justicialismo da a los Trabajadores las mejores herramientas y sin que cuesten una chirola.

Sin embargo, existen situaciones donde sólo queremos recortar de un video ya terminado, alguna sección en particular. O que contemos con un archivo "en crudo" y deseemos trozarlo en partes individuales (por ejemplo, una grabación de video hecha con un celular).

Para estos casos, podremos utilizar un software pequeño y especializado, el Vidcutter.

En el caso de nuestro sistema operativo Ubuntu, la instalación es bien sencilla operando desde la Terminal. Abirmos una con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo add-apt-repository ppa:ozmartian/apps 
sudo apt-get update
sudo apt-get install vidcutter

Si contamos con Debian 8 o similares de 64 bits podremos decargar dependencias y el paquete binario ejecutable:

sudo apt-get install gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly ;

wget https://github.com/ozmartian/vidcutter/releases/download/2.6.5/VidCutter-2.6.5-linux-x64.AppImage ;
chmod +x VidCutter-2.6.5-linux-x64.AppImage


También podremos instalarlo descargando un paquete.

Una vez instalado el programa, podremos ejecutarlo desde Aplicaciones / Videos y Sonido / Vidcutter.

Presionando el botón Open Media podremos cargar un clip de de video de cualquier formato al programa.

Una vez cargado, podremos reproducir el video haciendo clic en Play/Pause Video, y controlar el volumen del sonido con el deslizador correspondiente. Podremos desplazarnos fácilmente a lo largo de la duración del video completo través del slider inferior. Usando las teclas AvPg o RePg podremos hacerlo con una resolución de 10 fotogramas (cuadros). Usando las flechas del teclado o la rueda de scroll del ratón, podremos avanzar o retroceder en la barra de video con una resolución de un cuadro. Esto nos permite la mayor precisión, pues dependiendo del formato de video, significa una precisión al corte de 1/24, 1/25, 1,2997, 1/30, 1/60 de segundo o incluso menos.

Una vez que estamos en el punto deseado para iniciar el corte, podremos presionar la Barra Espaciadora y el botón Clip Start. Luego nos deplazamos al final del área de corte que deseamos y presionamos Barra Espaciadora nuevamente o podremos hacer clic en el botón Clip End. Una vez hecho esto, el clip se sumará a la lista de clips realizados.

Una vez que tenemos todos los videos, podríamos querer realizar un clip aparte para compilar los mismos. Para ello hacemos clic en el botón Save Video, y nos quedaremos con un archivo MP4 o similar con el o los cortes individualizados.


sábado, 4 de febrero de 2017

¿Cómo puedo usar el navegador Tor para navegar anónimamente?

¡Trabajadores!

En ocasiones como las que hemos de enfrentar, no hemos dar nada por seguro, ni asegurado. Sólo la constante lucha de nuestro Movimiento puede hacer de la Justicia Social que anhelamos, una contrastable Realidad Efectiva.

El bienestar de los trabajadores es el objetivo del Justicialismo, pero jamás lo será de la casta repudiada que cohabita en nuestra Nación, pretendiéndose adueñar del fruto del trabajo de los hombres en beneficio de unos pocos. Es por ello que la lucha es necesaria - y diremos - ineludible para la grandeza de la Patria y riqueza de la Nación.

Nuestra convicción es la de otorgarle al hombre lo Justo, porque es justo que todos los trabajadores logren en su vida lo equivalente por lo que han trabajado. Hemos hecho realidad desde el Estado los Derechos del Niño, nuestros únicos privilegiados, los Derechos de la Ancianidad, pero sobre todo, los Derechos del Trabajador. Y lo hemos hecho realidad a través de la lucha que ¡ay! en ocasiones ha sido cruenta.

Se avecinan tiempos difíciles. Hemos de conservar dichos derechos y sostener una enconada lucha en la cual nuestros principios han de mantenerse incólumnes y para ello hemos de atresar profundamente nuestras organizaciones. Un enemigo acorralado e incapaz de contar para sí la masa, comenzará a repelerla. Y operará de manera inconfesable para engañar y someter a los trabajadores bajo un horizonte de ignominia. Ello lo llevará sin duda alguna a recurrir a métodos que por nuevos no dejan de tener una base grave y deleznable para los justos hijos de la Patria. A dichos golpes hemos de responderles con otros de caracter justiciero, y de un espectro mucho mayor.

Para ello nos hemos organizado. Para ello nos hemos formado y para ello nos hemos consolidado en la lucha. El objetivo es castigar al enemigo allí donde no lo espera, de una manera contundente pero por sobre todas las cosas, sin presentar objetivo, operando en el sano anonimato que nos permiten las sombras de las redes telemáticas bien empleadas.

Indudablemente que un problema básico para dicho anonimato y privacidad radica en lo obvio: que el enemigo intercepte el tráfico telemático. Una manera muy simple de análisis de tráfico puede realizarse en cualquier lugar intermedio, e incluso en estos casos simples, poner en peligro a nuestra Masa de Acción y sus organizaciones.

Mis descamisados me han preguntado ¿cómo funciona el análisis de tráfico? Pues bien, os lo explicaré. Los paquetes de datos fundamentales de internet  constan por designio del protocolo TCP/IP de dos partes: una carga útil y un encabezado empleado para su enrutamiento. La carga útil puede convertirse en cualquier dato digital traficado, ya sea un mensaje de correo electrónico, contenido de una página web, un archivo de audio, parte de un stream audiovisual, etc. Incluso si encriptamos la carga útil en sus comunicaciones, un análisis superficial de datos puede aún revelar gran parte de nuestras supuestas actividades y accionares. Esto es así porque tal procedimiento hace foco sobre  el encabezado del paquete telemático (que contiene el remitente, el destino, el tamaño, datos de horarios, etc). Intermediarios autorizados, como los proveedores de internet, y a veces intermediarios no autorizados (como dichos mismos proveedores cuando están en manos oligárquicas coaligadas) pueden reconocer rápidamente patrones de tráfico, desde donde y hacia donde se originan, y trazar conclusiones relativamente directas sobre su contenido, las tácticas empleadas, etc.

Pero también existen análisis de tráfico profundos, mucho más negativos y peligrosos: un actor dedicado puede espiar múltiples partes de la red y emplear cruzados estadísticos sofisticados para rastrear patrones de comunicación de individuos u organizaciones específicas, para lograr peinar los datos con mucha más fiabilidad.

Para evitar dichos avances, los hombres que luchan han de conocerlos y poderles hacer frente. Nuestro Movimiento, anclado en una vertiente de Justicia Social en el software, ha desarrollado una red oscura, tan oscura como la piel del más negro de nuestros grasitas. Se trata del proyecto Tor.
Tor

Tor, a través de sus servidores, ayuda a reducir los riesgos telemáticos inherentes a través de la distribución de las transacciones telemáticas a lo largo de múltiples lugares en la Internet, de manera que en ningún punto pueda se pueda dirigir hacia su destino u origen específico, de la misma manera que una liebre alguien podría seguir una ruta rebuscada para perder al mastín, y luego periódicamente borrase sus huellas. En lugar de que la paquetería TCP/IP siga una ruta relativamente directa en pos de la velocidad, en la red Tor dicha paquetería pasará a través de varios caminos secundarios que cubren sus pasos, de manera tal que ningún observador pueda hacer rastreos de origen o destino. Esto se realiza en beneficio de un uso anónimo y neutral de la red.

Navegador Tor
 
Podremos navegar anónimamente a través de un navegador portátil, que incluso podremos tenerlo descomprimido en un Pendrive. Dicho navegador es similar a Firefox, pero no deja rastros permanentes de ninguna índole en ningún lado y emplea la red Tor para tercerizar las conexiones de manera anónima y segura.

Para usarlo simplemente descargamos la versión que esté acuerdo a nuestra arquitectura, la descomprimimos y la ejecutamos:

  • Si usamos 64 bitios empleamos los siguientes comandos de organización:
wget https://www.torproject.org/dist/torbrowser/6.0.8/tor-browser-linux64-6.0.8_es-ES.tar.xz

tar -xvJf tor-browser-linux64-6.0.8_es-ES.tar.xz

mv tor-browser_es-ES/ .tor-browser/

  • Si usamos 32 bitios, empleamos:
wget https://dist.torproject.org/torbrowser/6.0.8/tor-browser-linux32-6.0.8_es-ES.tar.xz

tar -xvJf tor-browser-linux32-6.0.8_es-ES.tar.xz

mv tor-browser_es-ES/ .tor-browser/ 

Si quisiéramos ejecutarlo podríamos hacerlo desde la terminal con:

cd .tor-browser/ ;
./start-tor-browser.desktop ;

También podríamos querer crear un Lanzador permanente. Si usamos Mate debemos para ello hacer clic con el botón derecho del ratón en el menú Aplicaciones del Panel superior, y escoger la función Editar Menú. A continuación se abrirá la ventana Menú Principal. En ella en el costado izquierdo tendremos los menús, de los cuales elegimos "Internet". Luego presionamos el botón "+Elemento Nuevo". Se abrirá el cuadro de diálogo Propiedades del Lanzador, y en su campo Comando debemos ingresarle la línea con la dirección del ejecutable de Tor, que será /home/usuario/.tor-browser/Browser/start-tor-browser (naturalmente, reemplazamos usuario por nuestro nombre de usuario). Podremos agregarle una descripción en el campo Comentario y como Nombre podremos agregarle "Navegador Seguro Tor".

Al iniciar por primera vez el navegador seguro, habremos de configurar la conexión.

Normalmente en la mayoría de los países esto es muy sencillo: usaremos la opción de conexión directa presionando el botón Conectar. En caso de que estuviésemos en un país que no brinda acceso completo a internet, o estemos en un lugar donde nuestra propia conexión se encuentre obfuscada, o estuviesemos navegando a través de un intermediario proxy, deberemos indicarlo en este momento y configurarlo. Una vez hecho ello, se establecerán las conexiones a la red Tor, lo cual dura unos pocos segundos (o minutos si nuestra conexión es extremadamente lenta).
Conforme estemos inicializados, podremos ahora navegar con anonimato y redistribución telemática, sin demasiados incordios mas que los naturales.

El navegador es similar a cualquier otro navegador como Firefox o Chromiun, pero está blindado para proteger al usuario empleando proxies Tor. Asimismo, omite reportar ciertos metadatos normales que podrían asistir a determinar identidades específicas a través de la web.


Naturalmente que esta herramienta es adecuada para poder navegar incluso desde equipos públicos, lo cual lo convierte en una buena solución.


Sin embargo, para instalaciones hogareñas especialmente blindadas contra la intrusión y el espionaje, recomiendo armar una útil y barata Caja Tor, que no es otra cosa que un minirouter especialmente preparado para hacer que todo nuestro tráfico telemático se redirija a la red Tor, a fin de blindar no sólo nuestra navegación, sino otro tipo de comunicación informatizada.

jueves, 19 de enero de 2017

¿Cómo agrego packs de herramientas plásticas a Krita?


¡Trabajadores!

De un tiempo a esta parte, el Software Libre desarrollado por las Masas del Trabajo no ha hecho otra cosa que mejorar y reverdecer. Contamos hoy con herramientas potentes y eficaces para realizar todo tipo de artes en nuestro equipo. Desde las artes de la música, pasando por la escultura, la fotografía, e incluso - porqué no decirlo - hasta las artes culinarias se han visto beneficiadas por paquetes libres.


No existe una rama del arte donde no tengamos un eficiente Software Libre capaz de darnos una mano.

De entre las artes plásticas, es probable que Krita sea el más completo programa para ilustración digital libre, con grandes posibilidades de trabajo que nada pueden evidiar a lo mejor que pueda ofrecernos el software privativo y oligárquico.

Además de un potente manejo de capas, color de 32 bits, CMYK, y demás necesidades, viene dotado de un adecuado avío de herramientas plásticas, las cuales podremos modificar a gusto y placer para dibujar con el  ratón o mucho mejor, con una tableta gráfica sensible a presión.


Sin embargo, hacer esto a veces nos lleva tiempo y requiere que estudiemos y dominemos su uso. Krita dispone para tal caso de bibliografía y libros de arte y un cada vez mejor manual de usuario, pero a veces directamente podremos tener éxito empleando herramientas desarrolladas y ya probadas por otros.

En particular, haremos caso de los conjuntos de herramientas plásticas del artista David Revoir. Este buen ilustrador francés se ha hecho conocido por el amplio uso de las licencias abiertas y libres Creative Commons para la distribución de su arte. En particular es notable su obra gratuita "Pepper & Carrot", una simpática serie de webcomics infantiles que tratan sobre la hechicera aprendiz Pepper y su gato mascota, Carrot.


El autor pone a nuestra disposición sus herramientas plásticas, las cuales podremos descargar gratuitamente y utilizar en Krita. A tal fin podremos descargar libremente dos packs de herramientas en forma de archivo Bundle (empaquetado). Uno de los empaquetados es muy adecuado para el uso general de ilustración y pintura, y otro sólo contiene tres pasteles ("charcoals"), excepcionales para el bocetado artístico. Podremos hacernos de ellos sencillamente usando la terminal, abriendo una consola con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

cd ~/Descargas/

wget http://www.peppercarrot.com/extras/resources/deevad-v8-1.bundle

wget http://www.peppercarrot.com/extras/resources/2017-01-18_Charcoal_pencils.zip

unzip 2017-01-18_Charcoal_pencils.zip

Para agregar los paquetes de herramientas a Krita, en primer lugar debemos abrir dicho programa. Luego, desde su menú Preferencias / Gestionar Recursos. Se abrirá la ventana Gestionar los Paquetes de Recursos. En ella
presionamos el botón Importar Paquete/recurso.

Esto provocará la apertura del cuadro de diálogo Añadir recursos. Nos aseguramos que en el campo Tipo de Archivo se indique "Paquetes de Recursos (*.bundle)". De esta manera nos mostrará el archivo deevad-v8.bundle que se encuentra en nuestra carpeta /Descargas.

Empleando el administrador de archivos que aparezca, y una vez localizado el fichero presionamos Abrir. El mismo se agregará a la lista de paquetes activos.

Si lo deseamos, podremos repetimos los pasos anteriores para agregar el paquete Charcoal_pencils.bundle. Luego presionamos el botón Aceptar. Para no tener problemas, se recomienda cerrar Krita y volver a abrirlo, para que el programa se anoticie conforme de las nuevas herramientas.

Podremos encontrar los pinceles agrupados mediante el botón "Seleccionar Pincel Predefinido":
Nota. Si deseáramos desinstalar el paquete, vamos a Preferencias / Gestionar Recursos, luego hacemos clic en el botón Abrir carpetas de Recursos, y borramos el archivo bundle no deseado de la carpeta, y reiniciamos Krita.

El primer paquete general consta de unas 55 herramientas individuales, la cual el artista explica a continuación junto con una muy útil descripción gráfica.


Este borrador fino es bueno para borrar líneas pequeñas. Con un tamaño mayor puede borrar un área suave con variados niveles de opacidad.

Este borrador grande siempre borra al 100% sin realizar variaciones de opacidad. Es útil para remover directamente una parte del dibujo.
Un preset de lápiz de bosquejo 2B con baja opacidad para dibujar líneas de guía y bocetar a lápiz


El preset de lapiz duro que uso para dibujar líneas en general. Tiene un grano suave.


El pincel fino que uso para dibujar personajes, pintar y corregir detalles finitos.


Otro pincel mediano que uso para dibujar paisajes, ya que los fondos requieren menos precisión que los personajes.

Un preset para realizar bocetos. Corrijo las proporciones con él. Nota: "Liquify Transform" hace un mejor trabajo en el arte final, pero este picel es más rápido para trabajar mientras se está bocetando.


[Nuevo] Un pincel con un aspecto burdo, para hacer un manchón con las siluetas básicas sin darle importancia de momento a los detalles. Este pincel estuvo siempre en el paquete de pinceles, pero fue removido en la versión 8.0, y ahora se volvió a agregar en la versión 8.1.
Un rodillo grueso y poco detallado para hacer bocetos de masa, y para pintar básicamente con color plano.


[Nuevo] Un pincel usado grande para agregar texturas a los fondos.

Mi pincel favorito para pintar. Muchas veces pinto todo directamente con este pincel de cerdas medias.


[Nuevo] Un derivado de mi pincel favorito, con presión al 100% para hacer pinceladas más marcadas.


[Nuevo] Otro pincel de cerda suave con un tamaño más pequeño y una sensibilidad a presión más suave.


[Nuevo] Un pincel con cerdas duras especiales que uso para pintar rápidamente brillo del cabello u otros brillos lineales.

Una veriación de mi pincel favorito, más expresivo y un poco más sucio para pintado rápido más expresivo.


[Nuevo] Una desviación aguachentado de los pinceles anteriores y con menos opacidad, para difuminar zonas.


[Nuevo] Otro pincelote grueso con una textura específica para agregar pinturas a grandes áreas.

Un pincel simple para pintar para uso general.


[Nuevo] Otro pincel para pintar rápidamente, pero con bordes redondeado y con suaves.

Un picel suave con un gran rango de opacidad mapeado para la presión de la pluma sensible a presión. Empleo esta para precolorear una primera pasada sobre mis bocetos a lápiz.


Un preset para dibujar formas rápidas definiéndoles su delineado.

Un pincel para pintar detalles con un poco de mezclado de color en ellos, para imitar la aguada.

Un pincel para fusionar colores con baja opacidad pero pinta con una opacidad mayor.


[Nuevo] Un pincel con fusión de colores y textura de papel.

Un intento para producir una acuarela con fusión de color al mismo tiempo.

Un pincel que suaviza toda transición cromática en una gradiente perfecta.


[Nuevo] Un pincel que suaviza solamente, pero con un efecto de cerdas. Similar a pintura acrílica muy diluida en agua.

Un pincel que sólo uso para empujar píxeles alredeor y crear un efecto de humo o esfumado.

Un aerógrafo grande para rellenar fondos de dibujos con colores específicos.

Un pincel para ajustar el color, o re colorear una fotografía.

Un pincel para aclarar solamente, útil para crear efecto de niebla en la distancia o esfumados.

Un pincel de sombras para oscurecer un área, para agregar sombras dramáticas o rápidamente generar esquinas viñieteadas.


Un pincel para hacer más vívidos los colores o para incrementar el contraste local.

Un pincel para aclarar un área con mucha saturación, o para efectos especiales.

Un pincel clonador (Ctrl para seleccionar el área de origen) para duplicar una zona de dibujo en otra área.

Un picel con un tamaño por defecto de 1 píxel, para dibujar guías y para corregir un mapa cromático gMic (colorizado)

Un pincel que simula pseudo semitonos, con control mediante la presión de la pluma.


[Nuevo] Un pincel para agregar una textura similar a reptil en pieles (para ahorrar trabajo).


[Nuevo] Un pincel texturado para simular una especie de tiza al agua.

Este sello nos asiste cuando debemos simular muchas pinceladas pequeñas (por ejemplo en césped, follaje).


Un sello que agrega suciedad (por ejemplo, suciedad en la cara de Pepper!).

Un sello que produce manchas para simular un fondo artístico rápido en una pintura.

Un sello de gotas o polvo, para agregar partículas al dibujo.

Este sello produce hojas y foliaje estilizado (bien marcado).

Sello de césped y hierba detallado y difuminado para agregar a un fondo rápido.

Un sello con un grupo de pinceladas para dar una suave textura de césped.

Sello de estrellitas de luz para efectos de magia.

Este sello agrega rápidamente una textura de roca resquebrajada a las superficies lisas.


Este sello facilita el proceso de pintar las vetas de la madera..

Este sello nos permite pintar un campo de estrellas pequeñas en cualquier fondo.

Un pincel para facilitar la creación de cadenas eslabonadas.

Un sello para asistir en el bocetado de masas vegetales con muchas hojas.

Una textura rápida para agregar variaciones a los pisos.

Una textura grande para los fondos.


[Nuevo] Un pincel para pintar bokeh (fondos desenfocados).

En cuanto al conjunto de herramientas de pasteles (charcoals), el autor ha puesto a disposición un video (en inglés) que explican sus características individuales.