Etiqueta: github

  • Asterisk se traslada oficialmente a GitHub

    Asterisk se traslada oficialmente a GitHub

    Para reducir la cantidad de sistemas implicados en el mantenimiento y administración que el desarrollo de Asterisk necesita para seguir siendo uno de los sistemas de comunicaciones VoIP más utilizados del mundo, el equipo de desarrolladores ha decidido trasladar todas las herramientas (gestión de incidencias, gestión y revisión del código, documentación, etc.) a una solución en la nube en lugar de alojada en los propios sistemas de la empresa que lo mantiene.

    Han estado evaluando las dos principales herramientas para este tipo de proyectos: GitHub y GitLab y al final el ganador ha sido GitHub ya que ofrece una mejor alternativa para la revisión del código.

    Es cierto que Asterisk ya contaba con un mirror en GitHub de lo que se generaba en los sistemas propios del proyecto, pero en esta ocasión se trata de oficializar que el repositorio de Asterisk se encuentre alojado en GitHub.

    Personalmente hubiera preferido GitLab por el hecho de que GitLab es software libre mientras que GitHub es un gestor privado (y en manos de Microsoft que no es poca cosa…), pero realmente lo importante es que los desarrolladores y usuarios encuentren un lugar cómodo donde poder avanzar en el desarrollo y documentación.

    Menos Fork de Asterisk, más colaboración…

    Uno de los últimos ruegos de los desarrolladores de Asterisk es animar a los usuarios y desarrolladores de Asterisk que necesitan modificaciones personales para sus proyectos, es colaborar con el código oficial de Asterisk en lugar de crear repositorios propios modificados (forks) lo que contribuye principalmente al crear software variado en lugar de aunar fuerzas para conseguir un software mucho más completo.

    En parte, una de las ventajas del software libre es la capacidad de crear modificaciones de cualquier aplicación y ser capaz de distribuirlas y que otros se basen en tus modificaciones para crear sus propias versiones, aunque es cierto que si ese esfuerzo se hiciera sobre el código fuente del proyecto principal, éste saldría reforzado y tendría mucha más fuerza al disponer de más personas que aportan su grano de arena con sus modificaciones.

  • Por qué no me fío de Microsoft

    Por qué no me fío de Microsoft

    Hoy se ha hecho público que Microsoft ha comprado GitHub, la empresa que aloja repositorios de software libre utilizando Git y que es una de las más importantes a nivel mundial (por no decir que es la más importante actualmente), cargo que anteriormente había desempeñado SourceForge y anteriormente Freshmeat. Por supuesto, desde entonces existen muchas empresas que han creado sistemas para alojar repositorios y la oferta es bastante buena e interesante, pero GitHub había conseguido crear una comunidad bastante interesante de desarrolladores que publicaban sus repositorios open source (código abierto que no necesariamente software libre). Justamente esta cantidad de desarrolladores es la que Microsoft ha visto interesante para hacerse con ellas, ya que así tiene una base de datos inmensa de desarrolladores y, lo que es mejor, qué han programado y cómo, básicamente un currículum vitae perfecto (las entrevistas ya hechas). Eso, unido a la adquisición de LinkedIn prácticamente se puede decir que Microsoft tiene en su poder la mejor base de datos de profesionales de tecnología.

    Aparte de esto, junto con GitHub, se hace con otras herramientas importantes como ElectronJS (una librería javascript para desarrollar aplicaciones multiplataformas) y Atom (un editor de código tan potente como SublimeText o VisualStudioCode) entre muchas otras.

    Para muchos esto ha sido un verdadero escándalo, porque ahora Microsoft también es la propietaria del mayor alojamiento de software libre del mundo (un alojamiento que, pese a todo, su software era cerrado) aunque se basa en Git que sí es software libre. Para mí también ha sido un poco decepcionante y os explico por qué:

    Es cierto que Microsoft ha hecho un giro de 180º con respecto a su época más radical, aquella en la que no paraba de decir que «Linux es un cancer» bajo el mandato de Steve Ballmer como CEO y que ahora sale en los medios con una política completamente contraria, no solo apoyando proyectos y patrocinando eventos de software libre, si no utilizándolo como núcleo de su flamante nube Azure.

    Ni antes era todo odio, ni ahora Microsoft se ha enamorado de Linux. Microsoft es una empresa de software, que vende software y vive de vender software. A diferencia de empresas como Apple que vende hardware y regala el software, Google que gana dinero vendiendo publicidad o Amazon vendiendo de todo…, Microsoft es una de las principales compañías del mundo por vender software, así que todo lo que sea «no vender software» es un mal negocio, por lo que está claro que va a continuar defendiendo su modelo de venta de licencias, estando en contra de regalar software y lo que es peor, aprovechándose «de todo lo que los demás regalen» como así hace cuando utiliza software libre en sus desarrollos.

    Ahora Microsoft está dando un giro sobre su forma de hacer las cosas, bien por el nuevo CEO o bien porque tienen algo en mente que desconocemos, pero lo que sí está claro es que ahora Microsoft empieza a caer bien de nuevo y es gracias a su nueva forma de hacer las cosas, apoyando a los desarrolladores y a sus proyectos novedosos y arriesgados. Su tasa de aceptación varía mucho de un país a otro, de una cultura a otra. En España ha costado mucho que la gente pague por el software, hasta hace poco prácticamente cualquier profano pensaba que «el windows es gratis» y que pagar por algo gratis es de tontos. Hoy día la gente compra aplicaciones, cuanto más baratas, mejor, paga suscripciones a Netflix, Spotify, Office365, Adobe CC, Amazon, etc… está claro que la mentalidad está cambiando y con ello, ya no ven con tan malos ojos que una empresa viva de vender software siempre que el precio sea bueno o incluso justo.

    Microsoft se ha dado cuenta que con la frase «Linux es un cancer» de hace casi 20 años, solo conseguía poner gente en su contra y que con la frase «Microsoft ❤ Linux» hace más amigos.

    ¿Qué pasará con GitHub y sus repositorios? Nadie lo sabe, muchos ya han comenzado su migración a otros sistemas como GitLab o Bitbucket de Atlassian, aunque no creo que sea para tanto, creo que lo que Microsoft compró realmente no es el almacén de repositorios si no, como decía al principio, la base de datos más grande de desarrolladores profesionales, aquellos a los que no les da miedo enseñar su código y recibir críticas, correcciones y mejoras como suele ser una de las mejores virtudes del software libre.

  • Cómo utilizar variables JSON en el dialplan de Asterisk

    Cómo utilizar variables JSON en el dialplan de Asterisk

    coding-header

    Nuestro amigo Diogo Serra nos enseña un proyecto muy interesante para trabajar con variables en el dialplan. Consiste en una función que interpreta una cadena JSON obtenida tras consultar un servicio web (utilizando la función CURL o similar) y lo convierte en variables de canal, permitiendo hacer uso de ellas en nuestro dialplan.

    Aquí podéis ver una idea básica de esta función:

    exten => s,n,set(json=${CURL(http://api.dataprovider.com/somefunction?param=value)})
    exten => s,n,set(myvariable=${JSONELEMENT(json,path/to/element)})

     

    La función CURL devuelve una cadena JSON del tipo: {«nombre»:»Elio Rojano», «role»:»usuario»} y con la función JSONELEMENT podemos preguntar por los campos del JSON y asignarlo a variables de canal que pueden ser utilizadas en nuestro dialplan.

    Gracias a esta función (que tiene ya su tiempo) y que está disponible en Github, podemos crear dialplan algo más complejos de los habituales y personalizados para determinados usuarios consultando esta información en servicios web que serán las que nos devuelvan el JSON adecuado en cada momento.

    Más información: https://github.com/drivefast/asterisk-res_json

     

  • Asterisk ya disponible en Git de forma oficial

    Asterisk ya disponible en Git de forma oficial

    Git-logo

    Después de muchos años utilizando subversion SVN y tras el apabullante éxito del sistema Git creado por Linus Torvalds, parece que el equipo de desarrolladores de Asterisk han terminado la migración de Subversion a Git y han creado su propio sistema almacenador de repositorios donde alojar todos los proyectos y subproyectos asociados.

    El sistema Git de Asterisk se encuentra de forma oficial en https://gerrit.asterisk.org/ y cuenta con un mirror en Github https://github.com/asterisk/

    De forma que se pueda descargar la última versión Trunk de Asterisk con el comando:

    git clone https://gerrit.asterisk.org/asterisk

    o bien

    git clone https://github.com/asterisk/asterisk

    (más…)

  • SIPCheck2 vigila tu Asterisk en busca de atacantes

    watchmen

    Hace exactamente 4 años, en Sinologic lanzamos una aplicación llamada SIPCheck que se encargaba de monitorizar el log de Asterisk y vigilar los intentos de conexión por parte de bots y atacantes para así, añadirlos al firewall y crear una lista de atacantes pública y utilizable por cualquiera, algo similar a lo que hace la aplicación fail2ban aunque más orientado a Asterisk y, al reportar las direcciones IP a una base de datos general que pueda ser consultada por todos, más social y útil.

    Tras 4 años, el resultado ha sido realmente interesante: más de 4000 direcciones IP atacantes y más de 400 usuarios detectando ataques ha hecho que desde Sinologic nos planteásemos una mejora considerable: SIPCheck2

    En esta nueva versión, desarrollada en Python, permite, no solo informar de cualquier atacante, si no también recibir la lista de los atacantes que dos o más usuarios hayan reportado, adelantándonos a los posibles ataques incluso antes de que se produzcan.

    Se han añadido alguna mejoras como posibilidad de no detectar «falsos ataques» de direcciones IP y redes «conocidas» (clientes, red local, pruebas, etc.).

    Cuando nuestro SIPCheck2 detecta un atacante, lo reporta al servidor y esa dirección IP queda almacenada en tu cuenta, de forma que queda baneada automaticamente en todos los sistemas que compartan dicha cuenta.

    Si otros sistemas reportan también la misma IP atacante, esa dirección pasa a ser oficialmente un atacante y es reportada a todos los usuarios de SIPCheck con otras cuentas.

    Otra de las novedades es que las direcciones IP atacantes caducan, desapareciendo al cabo del tiempo, ya que está demostrado que pertenecen a sistemas zombies que tienen fallos de seguridad y que con el tiempo son bloqueados o arreglados y no tiene sentido que permanezcan más tiempo en nuestro firewall.

    Como variante, incluye un archivo de configuración desde el que se puede modificar algunos parámetros para adaptarlo mejor a nuestro sistema, añadir direcciones IP y redes nuestras para evitar falsos positivos y algunas mejoras más.

    (más…)