BitTorrent Sync API

sync-press-release

Hace poco hablamos de BitTorrent Sync (BitTorrent Sync: Sincroniza tus ficheros entre equipos) , una herramienta multiplataforma (los S.O más populares tienen asegurada su versión: Windows, Mac, Android, Linux) que permite sincronizar archivos de manera cifrada entre equipos sin necesidad de pasar por un servidor en la nube usando la tecnología P2P y el protocolo bittorrent.

Resumen de algunas de las características de BitTorrent Sync:

  • Protocolo P2P
  • Seguridad
  • Secreto: El “secreto” es una clave aleatoria de  20 bytes, codificado en Base32 para que sea legible (en Linux emplea /dev/random) .

Tal vez en el último artículo pasamos por alto algunas opciones de BitTorrent Sync como los ficheros de configuración o la API que ofrece para desarrolladores, creo que resulta tan interesante que le voy a dedicar un nuevo post a extender mis conocimientos sobre esta herramienta.

Configuración

BitTorrent Sync se puede configurar desde su interface web o usando de un editor de texto plano para modificar su fichero de configuración. El fichero de configuración está en formato JSON (podeis leer algo sobre JSON aquí mismo: JSON ¿XML a dieta?)

Podemos volcar nuestra configuración mediante este comando:


./btsync --dump-sample-config > sync.conf

Editamos el fichero recién creado “sync.conf” con nuestro editor preferido (que debería ser vim claro):


vim sync.conf

Lo primero es establecer un usuario y contraseña para el cliente web en el campo “webui” los valores “login” y “password”.

Cuando acabemos de configurar a nuestro gusto guardamos el fichero y arrancamos la aplicación con:

./btsync --config sync.conf

BitTorrent Sync API Beta

Hace poco los desarrolladores de la aplicación anunciaron la disponibilidad de la API para desarrolladores, junto con el anuncio realizaron una interesante declaración de intenciones.  La API de BitTorrent Sync ofrece múltiples posibilidades, las más común sin duda la de integrar BitTorrent Sync con una aplicación nuestra.

Para pode hacer uso de la API lo primero que necesitamos es una clave que recibimos por correo electrónico, para ello debemos completar un pequeño cuestionario en este enlace.

Alguna de las ventajas que citan en el blog de bittorrent: Podemos eliminar la necesidad de usar el interface de usuario web (se puede desactivar mediante las opciones de configuración), sincronizar sólo los ficheros seleccionados (el desarrollador tiene de opción de sincronizar elementos específicos o carpetas enteras).

Si os animais esta dirección os resultara imprescindible para comenzar: http://www.bittorrent.com/sync/developers/api.

Acceso a la API

La clave de la API debemos configurarla en el fichero de configuración

Primero realizamos la prueba básica para obtener la versión, copiamos la siguiente linea a nuestro navegador:

http://127.0.0.1:8888/api?method=get_version

El navegador nos deberá mostrar algo así:

{ version: “1.2.68” }

Obtener información de las carpetas compartidas:

http://127.0.0.1:8888/api?method=get_folders

Llamadas a la API desde la línea de comandos con cURL

Por ejemplo sustituiendo los campos usuario y clave por los que hemos configurado en el fichero de configuración:

$ curl --user usuario:clave http://127.0.0.1:8888/api?method=get_folders

Obtenemos información sobre las carpetas compartidas por linea de comandos, esta tarea se puede automatizar mediante cron para que vuelque la información deseada a un fichero de texto periódicamente.

Después podemos usar la aplicación jq para obtener los campos deseados.

Acceso mediante PHP

A pesar de que no he tenido tiempo en GitHub hay una clase PHP que puede servir perfectamente a mis propósitos, pienso probarla cuanto antes.

https://github.com/sergeyfast/bittorrent-sync-client

Instalar BitTorrent Sync como servicio para que arranque automáticamente al reiniciar nuestra maquina

Añadimos la tarea a CRON (Linux Execute Cron Job After System Reboot):

sudo crontab -e

y añadimos la linea:

@reboot /home/popu/Downloads/btsync --config /home/popu/Downloads/sync.conf

Ahora supuestamente cuando reiniciemos nuestro ordenador arrancara la aplicación, podemos comprobarlo con

ps aux | grep btsync

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s