Si eres un desarrollador de cualquier tipo, probablemente hayas oído hablar de Pastebin.com, la aplicación web más utilizada para pegar y compartir fragmentos de texto. Pastebin.com es genial, pero no es la única herramienta de pastebin que existe.

De hecho, cada vez es más común que los sitios web alojen sus propios pastebins. Esto puede darte más libertad. Hay muchas implementaciones de pastebin de código abierto; al investigar este artículo, me encontré con al menos veinte proyectos de pastebin en desarrollo activo. Probé algunas de sus demostraciones en línea y me decidí por Stikked por sus características avanzadas y su interfaz de usuario simplificada.

Stikked está construido con PHP y jQuery y utiliza el framework CodeIgniter.

stikked

Instalación de Stikked

Stikked requiere que su servidor esté funcionando:

Para descargar la última versión de Stikked, visite la página GitHub de Stikked o vaya a su línea de comandos y ejecute

git clone https://github.com/claudehohl/Stikked.git

Usando git clone obtendrás una carpeta llamada “Stikked”. Dentro de esa carpeta hay otra llamada “htdocs”; copie el contenido de htdocs a un directorio de su elección en su servidor web.

Antes de que pueda ejecutar Stikked, necesita preparar algunas cosas. En primer lugar, cree una base de datos MySQL. Si su servidor utiliza cPanel, puede hacerlo yendo a su página de administración y haciendo clic en “Bases de datos MySQL”.

stikked-mysql-database

Cree una base de datos, añada un usuario a la misma y conceda al usuario de la base de datos todos los privilegios.

Ahora que has configurado una base de datos para tu instalación de Stikked, necesitas modificar el archivo application/config/stikked.php para que apunte a ella. Vaya a las líneas 18 a 21 y cambie la información de la base de datos apropiadamente. Por ejemplo

$config[‘db_hostname’]=’127.0.0.1′;$config[‘db_database’]=’rujic_stikked’;$config[‘db_username’]=’rujic_rujic’;$config[‘db_password’]=’stikked’;

Ahora debería ser capaz de acceder a su-stikked-instalación.com/index.php y ver esto:

instalación de stikked

El archivo stikked.php contiene algunas otras configuraciones que puedes cambiar también. Por ejemplo, para requerir la autenticación LDAP, edita la línea 117:

$config[‘require_auth’]=true;

Tenga en cuenta que si establece esto como verdadero, también debe configurar sus ajustes LDAP en application/config/auth_ldap.php.

Dato curioso: La línea 99 le permite establecer el nombre por defecto para los carteles anónimos a una frase aleatoria:

$config[‘unknown_poster’]=’random’;

Desplázate hasta la línea 136 para ver o editar la lista de nombres aleatorios, seguida de la lista de adjetivos aleatorios.

Estilizar su instalación de Stikked

Todos los datos de estilo existen en el directorio llamado “static”. Por si acaso, eche un vistazo dentro del subdirectorio “fonts” para ver algunas opciones interesantes.

La mayoría de las opciones de estilo se hacen en el archivo “static -> styles -> main.css”. He modificado main.css para incluir una de las fuentes preinstaladas utilizando la regla @font-face:

@font-face{family: font19; src:url(‘../fonts/font19.ttf’);}

Aquí está mi página “Crear” después de que me divertí un montón con main.css:

stikked-new-interface

Características

Stikked tiene una serie de características interesantes que lo hacen destacar entre la multitud de otros scripts de pastebin.

En primer lugar, tiene una amplia gama de posibilidades en lo que respecta al resaltado de sintaxis. Stikked es compatible con una enorme lista de lenguajes de programación y scripting, desde 4CS hasta Oz y ZXBasic. Sea cual sea el lenguaje de programación que utilices, tu instalación de Stikked (probablemente) lo tiene cubierto.

El lenguaje de cada fragmento se muestra en una tabla en la página “Recientes”; si el autor no especificó un lenguaje para un fragmento, entonces se etiqueta como “texto”. La tabla también muestra el título, el nombre del autor y la frecuencia, junto con un icono de RSS. El feed RSS se encuentra en your-stikked-installation.com/lists/rss.

La página “Trending” es casi idéntica, pero con la adición de una columna de “hits” y sin feed RSS. Las visitas parecen estar calculadas en base a visitas de direcciones IP únicas.

stikked-trending-pastes

Cuando creas un paste, tienes las opciones de establecer una fecha de caducidad, crear una URL corta usando el servicio en gw.gd, y/o hacer el post privado. Ten en cuenta que un post “privado” no es realmente privado; cualquier usuario que tenga la URL del post puede verlo, a menos que hayas activado la autenticación LDAP – en ese caso, todos los usuarios registrados con la URL pueden verlo. “Privado” sólo significa que la publicación no aparecerá en las páginas Recientes o Tendencias.

Dejando a un lado la seguridad, Stikked ofrece algunas utilidades para ver una pasta. Estoy especialmente satisfecho con el código de inserción.

stikked-embed-code

También puedes responder a los mensajes pegados y añadir tus propias ediciones desde un formulario debajo del mensaje original. El único inconveniente es que las respuestas no enlazan con el post original; si tu pastebin tiene muchos posts diferentes y respuestas hechas en distintos momentos, es fácil perder la pista de su estructura. Sólo puedo esperar que el desarrollador introduzca en algún momento una solución, como por ejemplo enhebrar las respuestas e implementar un visor de diferencias.

Una última característica que mencionaré es el control de spam, al que Stikked se refiere como “spamadmin”. Configúralo introduciendo las credenciales en config/stikked.php en las líneas 79 y 80:

$config[‘spamadmin_user’]=’stikked’;$config[‘spamadmin_pass’]=’stikked’;

Vaya a su-stikked-instalación.com/spamadmin para iniciar sesión. Allí puedes ver qué pastas provienen de qué direcciones IP, eliminar pastas y bloquear rangos de IP.

API

La API de Stikked te permite pegar en ella desde clientes de pastebin. La URL de la API que debes usar en tu cliente es your-stikked-installation.com/api/create.

Un ejemplo básico es utilizar el comando cURL para subir un archivo llamado “smalltalk.st”, estableciendo el título, el nombre, la privacidad, el idioma y el tiempo de expiración en minutos:

curl -dtitle=’cURL test’-dname=’Ruji’-dprivate=1-dlang=smalltalk -dexpire=45–data-urlencode text@smalltalk.st http://my-stikked-installation.com/api/create

Esto devolverá la URL de la pasta.

Conclusión

Si has leído que Stikked está muerto, te equivocas. Mientras que el antiguo Stikked fue abandonado después de la versión 0.5.4, el nuevo Stikked se mantiene fuerte y continúa introduciendo características útiles con cada versión. Te recomiendo que lo pruebes si quieres una forma fácil de recopilar y compartir fragmentos de texto en tu propio sitio web.