Ir al contenido

**** ****


Nerdxculture Latino

Como transformar tu vieja Mac Mini G4 en un server p2p


Hubo un tiempo en que Apple comercializaba hardware bueno, duradero, estable y con tecnologías open source. Esa época de Apple, que parece tan lejana, estuvo regida por los procesadores PowerPC (acrónimo de Performance Optimization With Enhaced RISC – Performance Computing), una arquitectura de microprocesadores basada en RISC, desarrollada por Apple, IBM y Motorola. En el año 91, Apple adoptó estos procesadores y los utilizó como marca de distinción con el resto de computadoras hogareñas, que utilizaban arquitecturas basadas en i386.

En el año 2006 Apple decidió abandonar esta arquitectura para abrazar a Intel y su nueva linea de procesadores dual core, argumentando que aquellos eran mejores en distintos aspectos. Debido a esto, Apple hizo lo que mejor sabe hacer: dejar en banda a sus usuarios y obligarlos a recambiar sus equipos. Lenta y paulatinamente todos esos equipos PowerPC quedaron obsoletos a nivel software y la obsolescencia programada hizo el resto.

La primera Mac Mini que Apple comercializó era un equipo con un procesador PowerPC 7447a G4 a 1.25 GHz, sumamente innovador por el tamaño reducido, el bajo consumo y el silencio en el que trabajaba. Hoy en día esos equipos tienen más de 15 años y en su gran mayoría se encuentran en desuso debido a la dificultad para encontrar software que corra allí. Si bien se puede utilizar como desktop instalando alguna distribución open source, resulta muy limitado el uso como desktop, ya que cuenta con solo 1 GB de RAM, el procesador es de 32 bits y cualquiera tarea básica en la web requiere mayor capacidad de procesamiento.

El cerebro de la bestia

Pero esto no significa que no puedan ser utilizadas para otros proyectos. En primer lugar, siempre resulta gratificante trastear con arquitecturas de procesadores “alternativas” a i386. En segundo lugar, existe un sistema operativo, llamado OpenBSD, basado no en GNU/Linux sino en el viejo y robusto *BSD. Hay quienes dicen que si queremos usar un Unix verdadero, tenemos que utilizar algún *BSD.

¿Por qué nos conviene OpenBSD y no algún linux, o, incluso, otro *BSD libre? En relación a Linux, cada vez menos distribuciones dan soporte a PowerPC, y mucho menos, a una arquitectura de 32 bits, ¡si hasta están dejando de lado i386! OpenBSD tiene una comunidad muy activa y hay una amplia documentación para utilizar PowerPC: tienen compatibilidad con equipos PowerPC G3 en adelante. Seguramente otros *BSD también los tengan, pero yo pude con OpenBSD y mi palabra tiene que alcanzar.

Por supuesto que instalar OpenBSD en un equipo PowerPC no es una tarea para un novato. Tampoco hay que ser un hacker loco. Solo hay que haber trasteado un tiempo con Linux como para entender algunas cosas. No es sencillo pero tampoco imposible. A mi me costó varios meses sistematizar la forma para instalarlo en cualquier Mac Mini G4.

Lo primero que hay que hacer es bajar la imagen del sitio de OpenBSD. Y nada de grabarla con algún programita gráfico. Acá hay que grabar la iso usando el viejo y querido dd. Para eso, tienen que hacer:

sudo dd if=ruta-de-la-imagen of=ruta-del-pendrive/cd

Acá hay dos caminos. Si graban la imagen en CD, todo será mucho más fácil. Si lo graban en un pendrive, hay que tirar unas magias en comandos. Si graban el CD, simplemente lo insertan en la Mac Mini, dejan apretada la tecla C y booteara el CD.

Si usan un pendrive, deberán bootearlo a través de la consola de OpenFirmware. Estos equipos PowerPC no tienen un BIOS comunacho, sino que tienen un BIOS con todas las letras y se llama OpenFirmware. En resumidas cuentas, se trata de un BIOS open source (ya les dije antes que Apple bancaba el código libre). Para acceder a él, debemos presionar las teclas CTRL + Option + O + F en simultaneo. Si nuestro teclado no es de Apple, debemos ver cuál es la tecla correspondiente a Option.

así se ve OpenFirmware

Una vez dentro, notaremos que en nada se parece a un BIOS sino que más bien es el prompt más criptico de la historia de los prompt. Hay un sin fin de comandos que nos servirán para otro sin fin de tareas de mantenimiento o diagnostico, pero lo que nos interesa es poder bootear desde el pendrive. Debería alcanzar con tipear el siguiente comando:

boot usb0/disk@1:,ofwboot /6.8/macppc/bsd.rd

Allí le estamos diciendo que bootee desde el usb0 (puede ser el 1, depende la posición que hayan usado), la partición 1 del disco, que utilice ofwboot para bootear (no tengo idea qué es eso) y que levanta aquella ruta, que si mal no entiendo, el archivo bsd.rd es el kernel que se bootea en RAM. Si todo va bien, empezará a bootear el SO.

No me voy a detener en cómo instalar OpenBSD. Si instalaron alguna vez un Linux en modo texto, podrán fácilmente instalar OpenBSD. Lo importante es que NO instalen un gestor de X. Cuando termine de instalar, el equipo se reiniciará y antes que bootee, deben ingresar nuevamente al OpenFirmware para que la computadora bootee el OpenBSD y no se quede buscando un OS X. Para eso, hay que ejecutar los siguientes comandos, uno detrás de otro:

setenv auto-boot? true
setenv boot-device hd:,ofwboot
reset-all

Ahora bien, ¿qué mierda hacemos una vez que tenemos un SO instalado? ¿Para que nos puede servir esta máquina hermosa? Hablaré desde mi experiencia.

Siendo internet un servicio que pagamos 24×7, los 365 días del año, me parece un despropósito que desperdiciemos la conexión que pagamos, y para eso la Mac Mini nos puede ayudar para tener nuestro propio server dedicado al P2P. El proyecto OpenBSD mantiene los paquetes tanto de Transmission y Amule, y es posible correr dichos servicios en la Mac Mini sin necesidad de un gestor gráfico. En este caso, nos va a convenir tener conectado siempre un disco rígido externo para que los servicios graben los datos allí, ya que la Mini tiene un disco viejo y chico; de hecho, no es SATA sino IDE pero de 2.5″ y utiliza un conector distinto. Se puede tranquilamente comprar un algún adaptador y ponerle un SSD pero me parece totalmente al pedo, un gasto innecesario para el pirata sudaca promedio. Cuando conecten el disco externo que vayan usar, van a tener que armar la partición a manopla, a la vieja usanza, recordando además que OpenBSD tiene su propio filesystem y que al menos por default, no va a leer ningún fs de Linux, ni Linux leerá un fs de *BSD. Es decir, ese disco externo, queda ahí, anclado exclusivamente para piratear y nada más. Si quieren lo pueden encriptar y listo, sos inimputable hermano, en 15 días levantaste 10 proxies de piratebay.

Pero para eso, primero tienen que tirar los siguientes comandos

#pkg_add amuled amulecmd amuleweb
#pkg_add transmission-daemon transmission-remote

Vamos a poder instalar, por un lado, el amule-daemon, el aMule text client y el aMule Web Server; y por otro, el demonio de transmission y un cliente remoto para ejecutar todo a través de ssh. Antes de dejar todo andando, debemos tocar algunos archivos de configuración. Hay muchos tutoriales que explican como configurar amuled o transmission para utilizarlo via terminal. Deben recordar ejecutar los procesos amuled o transmission-daemon con un usuario común y no con root.

transmission-web corriendo desde la Mac Mini

Antes de ejecutarlos, deben apagar el firewall. Si, de qué mierda me sirve el sistema operativo más seguro si voy a apagar el firewall? Ni idea, yo no se como configurar reglas, así que sencillamente lo apago de la siguiente manera:

# rcctl disable pf

Por supuesto deberán hacer forward de puertos del router a la Mac Mini. Transmission necesita tener el 51413 y aMule el 4662, 4672, 3979 y 6881. Es muy importante tener estos puertos abiertos porque sino vamos a tener problemas con las descargas y no estaremos sacandole todo el jugo a estas maravillosas redes p2p.

Amule web corriendo desde la Mac Mini

Más de une se preguntará por qué hablé con tanta naturalidad del aMule como si estuvieramos viviendo en el año 2002. La realidad es que la red edonkey sigue más viva que nunca y dentro de ella hay material que no se haya en torrents o que apenas se consigue escarbando en una catarata de links de descarga directa. Dos grandes sitios para encontrar cosas en aMule son el Foro CRG, un foro dedicada al mundo de la historieta donde una comunidad de piratas anónimos viene escaneando y compilando hace mas de 19 años historietas de todo tipo y compartiéndolas via edonkey. En la misma clave, el foro clan-sudamerica.net sigue aun hoy día subiendo peliculas y series; muchas de ellas tampoco se hayan ni en youtube ni en ningún otro recoveco de la internet. Para poder acceder a los ed2k links, deben crearse un usuario, sino no van a poder.

En definitiva, la Mac Mini G4 powered by OpenBSD es el mejor centro de descargas p2p que podes armarte, porque:

  • Utiliza OpenBSD, uno de los sistemas operativos más seguros y fiables del mundo.
  • Los servicios de transmission y amule no consumen recursos. La mayoría del tiempo el procesador está casi iddle o consumiendo por debajo del 5%.
  • El consumo eléctrico es ínfimo y despreciable.
  • Es silenciosa y no ocupa espacio.
  • Estamos utilizando una arquitectura de procesador que está libre de backdoors y bugs clásicos de intel.
  • Es estable. La he tenido corriendo 150 días ininterrumpidos hasta que se cortó la luz (en CyberOnce Punk 2077 es dificil tener electricidad 24×7); cuando eso sucedió, no hubo perdidas de datos en absoluto. Es más, el sistema hizo un chequeo del fs exhaustivo.
  • Hay una infinidad más de posibilidades. Cualquier servicio básico (DNS, router, IRC, ftp, etc) puede correr sin ningún tipo de problemas, manteniendo la estabilidad y robustez.

Por supuesto que una Raspi también es una opción para hacer esto, pero en mi experiencia personal, la Mac Mini G4 no solo funciona mejor, sino que es muchisimo más estable y fiable. Además, estamos reutilizando un equipo considerado obsoleto y es posible o bien conseguir una de regalo o bien comprarla a todavía un precio relativamente bajo, si tenemos en cuenta la pieza de hardware que estamos adquiriendo. Tengan en cuenta que se trata de los últimos equipos hogareños que se comercializaron al público general utilizando una arquitectura alternativa y open source como lo es PowerPC.

Para finalizar, les dejo un truquito. Si empiezan a bucear en el foro de CRG, notarán que muchos posteos tienen todos los links e2dk embembidos, y hay que extraerlos uno a uno. Mi amigo pecsimax me facilitó este script que extrae los links e2dk de cualquier posteo:

curl http://lamansion-crg.net/forum/index.php?showtopic=55217 | grep -Eoi '<a [^>]+>' | grep -Eo 'href="[^\"]+"' | grep -Eo '(ed2k)://[^/"]+' > links.txt 

Supongo que puede adaptarse a cualquier otra cosa.

Por último, y esta vez si finalizando, la arquitectura PowerPC sigue viva. Hay un proyecto actual que busca financiación colectiva para lanzar una nueva laptop PowerPC utilizando hardware 100% libre. Por otro lado, IBM continuó con esta arquitectura y su ultima linea de procesadores es Power9. Talos es una empresa que comercializa procesadores Power9 y que por supuesto sus precios son imposibles para los pobres diablos del cono sur.

Y recuerden, pirates de Sudamérica: ¡dejen siempre sus computadoras seedeando, no sean egoístas del bit!


Categoria: hacking | tutoriales


Un comentario

  1. […] ¡OpenBSD! ¿Hace falta explicar por qué? Bueno, si, porque el público se renueva (pero no olviden leer este post!). OpenBSD forma parte de la familia de UNIX *BSD, es decir, no estamos ante un Linux sino otro […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *