Blog: http://www.ddcs.re/es
email: exportit.ddcs@gmail.com
Tiene como principal objetivo permitir el uso de sus datos se encuentran en su teléfono o tableta Android, en otros dispositivos como otro sistema Android o tu PC, o si los medios de comunicación es compatible en su televisor. Para ello, utiliza los protocolos más estándar, UPnP y HTTP.
exportarlo implementa un servidor y un cliente (dos iconos en el escritorio de Android). El servidor de construir una lista de video, audio y archivos de imagen, y, además, los archivos PDF y libro electrónico que puede encontrar en su sistema Android. La lista de estos archivos con sus características se encuentran en la memoria y publicado a través de un servicio de directorio de UPnP y un servidor HTTP.
Los archivos sólo se distribuyen en cuatro categorías: los archivos de video (mp4, WebM y 3GPP) los archivos de audio (MP3, OGG y M4A), los archivos de imagen (JPEG, GIF o PNG) y libros electrónicos (pdf, prc, epub, pdb, mobi y djvu).
El servidor no está diseñado para gestionar miles de archivos, unos pocos cientos se parece a lo que tenemos normalmente en un teléfono o tableta.
En primer lugar, simplemente iniciar el servidor y esperar el final del proceso de inicialización. Si usted está en Wi-Fi o de red móvil puede comprobar el estado y las direcciones URL de probarlo. Fort mayoría de la gente el servidor es inaccesible desde la red móvil. Primero puede comprobar lo que su servidor está distribuyendo con un navegador web que apunta a lo local URL después de salir de la ventana del servidor (el servidor real se está ejecutando en segundo plano). También es posible utilizar la dirección de bucle de IPv6 para acceder a la página HTML desde su navegador con una URL como "http://[::1]:8192".
Como segundo paso, se puede usar la configuración del servidor para cambiar el nombre del servidor y tal vez adaptar el tamaño de la fuente para su lenguaje y dispositivo.
El siguiente paso consiste en definir un nombre de usuario y contraseña como administrador con acceso a todas las categorías.
Cuando funciona, puede definir los nombres de usuario adicionales con acceso a categorías específicas.
Y, finalmente, se puede definir "redireccionamiento de puertos" cuando está conectado en su casa Wifi para ser accesible desde Internet. Si está utilizando la aplicación completa con soporte UPnP, que acaba de definir un alias de puerto no nulo en la configuración y el registro de la consola si funciona. Con la aplicación gratuita tiene que configurar manualmente el router ADSL. Cuando se ve bien se puede probar desde casa con cualquier navegador web que tiene, usando un proxy Web público gratuito con soporte Javascript.
HTTPS aunque sean compatibles, no parece ser el mejor para los usuarios normales debido a la complejidad de usar con los teléfonos inteligentes y los malos resultados en comparación con sencillo HTTP.
Cuando el reenvío de puertos y autenticación están trabajando, puede utilizar la opción "club" para ser fácilmente accesible en Internet, la publicación de sus datos en www.ddcs.re. Para probar su propio servidor requiere el uso de un proxy web debido a que su propia dirección IP externa no es accesible desde la red Wifi. Esta opción permite evitar la distribución de una URL con el cambio de dirección IP y número de puerto, simplemente haciendo clic en la línea de servidores de los derechos definidos por el nombre del servidor, una pequeña frase descripción y uno de su imagen como icono.
El soporte UPnP es proporcionada por Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Suiza), y el servidor HTTP está construido en la cima de NanoHTTPD versión 1.25, Derechos de autor 2001,2005-2012 Jarno Elonen y 2010 Konstantinos Togias. Así, esta aplicación contiene software LGPL. Ambas son versiones modificadas, no de código nativo. La biblioteca Cling teleal es sólo un archivo jar construida con algunas modificaciones exigidas por la aplicación de cling-core, se cling-support (1.0.5) y teleal-common (1.0.14) jar ... NanoHttpd fue modificada para soportar el método "HEAD", añadir las cabeceras HTTP DLNA, solicitud de registro y proporcionar una página inicial en casa. El código fuente está disponible como ejecutable.
Todos los emoticonos usados en los comentarios fueron diseñados y fabricados por Enrico Gollnow (Erni). Visite su sitio web para obtener más información sobre él y sus emoticonos (http://www.gomotes.com).
La rutina de cifrado de la contraseña utiliza la biblioteca jsbn de Tom Wu (Javascript BigInteger y RSA) en el lado del navegador web y la biblioteca java SpongyCastle en el lado del servidor.
Esta aplicación utiliza JmDNS, una implementación de DNS multicadena en Java para el descubrimiento y el registro de servicios. Esta biblioteca es completamente interoperable con el protocolo Bonjour de Apple. Agradezco a Arthur van Hoff, Rick Blair y Kai Kreuzer por esta eficiente biblioteca con licencia Apache License, versión 2.0.
Esta aplicación utiliza un reproductor de video HTML5 llamado Playr desarrollado por Julien 'delphiki' Villetorte gdelphiki@gmail.com bajo licencia MIT, todo mi agradecimiento por este gran trabajo y el permiso para usarlo.
Estamos usando PDF.JS para mostrar archivos PDF a través de WebView. Este proyecto de código abierto está sujeto a una licencia de Apache versión 2. PDF.js (https://mozilla.github.io/pdf.js/) es un visor de formato de documento portátil (PDF) creado con HTML5. PDF.js está impulsado por la comunidad y es compatible con Mozilla.
El paquete epubjs-reader (https://github.com/futurepress/epubjs-reader) se usa para libros electrónicos epub y los libros se muestran en una WebView. Este software está disponible a través de una licencia MIT.
Ahora usamos Acme4J como cliente Java (https://shredzone.org) para el protocolo _Automatic Certificate Management Environment_ (ACME) como se especifica en RFC 8555 (https://tools.ietf.org/html/rfc8555 ). ACME es un protocolo que una autoridad de certificación (CA) y un solicitante pueden usar para automatizar el proceso de verificación y emisión de certificados. Es una implementación independiente de código abierto que no está afiliada ni respaldada por Let's Encrypt.
Acme4J necesita la biblioteca Jose4j (https://bitbucket.org/b_c/jose4j/wiki/Home), que es una implementación de código abierto robusta y fácil de usar de JSON Web Token (JWT) y el conjunto de especificaciones JOSE.
Los dos componentes principales son el servidor y el cliente, y, después de la instalación, usted tiene dos iconos en el escritorio.
El servidor se inicia un servicio en ejecución larga que es, de hecho, el servidor de medios UPnP y real, proporcionando servicios HTTP. Este servicio se está ejecutando en segundo plano, sólo un pequeño icono de notificación se encuentra en la barra de tareas Android. Una subtarea importante del servidor, es la configuración. Por defecto, el servidor exporta todos los archivos de datos en la red WiFi local. Puede seleccionar / deseleccionar archivos a través de la configuración.
Los datos de los procesos de los clientes distribuidos por los servidores UPnP que se encuentran en la red local (Wifi). Tiene como subtareas un Mediaplayer para mostrar mp4, WebM o 3GPP y vídeos escuchar mp3, ogg o archivos de audio m4a, una ventana de diálogo Webview para mostrar las fotos. Además, un servicio de fondo se puede iniciar la descarga de archivos desde el servidor. Al ponerse en marcha antes de que el servidor, el cliente inicializa el servicio UPnP pero sin la distribución de archivos de datos, una especie de jarra vacía. Se necesita este servicio para acceder a otros servidores UPnP.
En la configuración del sistema, a continuación, la configuración avanzada, se pueden encontrar gestor de la batería. Para mantener el servidor en funcionamiento de forma permanente, hay que seleccionar rendimiento para el plan de energía, y activar esta aplicación en aplicaciones protegidas y en aplicaciones de consumo intensivo.
Si es posible, debe mantener su WiFi activo cuando el dispositivo está durmiendo y el servidor se ejecuta. Además, si su dispositivo tiene una pila DLNA integrada, no debe buscar "dispositivos cercanos" en la configuración del sistema.
el servidor requiere el acceso al sistema de archivos y para leer la configuración del teléfono para detectar cambios de estado como el Wifi o si la transmisión de datos se activa si está conectado a la red móvil. Opcionalmente, el servidor puede enviar SMS cuando la dirección IP externa se cambia (opción en la configuración) y el código del país por ACCESS_COARSE_LOCATION, (No es una ubicación precisa sólo el código de país de dos letras). El programa cliente utiliza el permiso para escribir en una memoria externa para guardar los archivos descargados, y el permiso de grabar audio para mostrar las curvas cuando se escucha música.
Para publicar archivos en Internet con el servidor exportarlo, usted tiene que configurar el puerto aliasing servidor HTTP en el router ADSL. Protocolo UPnP no está disponible en Internet, sólo HTTP. El número de puerto por defecto es 8192 (se puede modificar a través de la configuración), y un puerto de alias de la red pública, se debe dar en el router ADSL asociado a la dirección IP de Wifi del servidor exportarlo. El número de puerto externo de forma predeterminada en la configuración es 0, pero se puede establecer lo que desee, como 8192 o 80. La URL a utilizar para acceder a su servidor, se da en la parte superior derecha de la ventana de control del servidor.
Mi servidor web había estado soportando HTTPS con certificados autofirmados durante años, pero, aunque funciona, de esta manera da problemas y mensajes de error. Esa es la razón por la que decidí implementar el protocolo Automatic Certificate Management Environment_ (ACME), para obtener y mantener certificados X509 estándar.
El protocolo ACME tiene algunos requisitos técnicos, no todos pueden usarlo. Para usar este protocolo, necesita un nombre DNS fijo en su dirección IP externa. El certificado X509 debe establecerse solo en un nombre DNS, no en direcciones IP.
Para obtener el certificado de Let's Encrypt, debe usar un servidor HTTP con el número de puerto estándar (80) en este nombre de DNS externo. Con mi aplicación, puede obtener el certificado solo en un servidor que se ejecuta con un alias de puerto externo HTTP establecido en "80". Solo un servidor puede usar este valor en su red Wi-Fi doméstica. Cuando tenga un certificado válido, puede usar el puerto predeterminado HTTPS de "443" solo en uno de sus servidores web configurado como "puerto alias". Pero para evitar "rootear" su dispositivo, debe usar puertos por encima de 1024 como números de puerto "locales" por muestra 8080 para HTTP y 8443 para HTTPS.
El panel de "configuración" se modifica para admitir alias de puerto para los protocolos HTTP y HTTPS y, además, puede proporcionar un nombre de DNS que sepa que funciona para su dirección IP externa. Este nombre se definirá en su certificado X509 además del nombre de su proveedor de red, si tiene uno. El certificado se distribuye automáticamente a otros servidores de exportación que se ejecutan en la misma red Wi-Fi, lo que permite usar HTTPS a través de Internet pero con otros valores de alias de puerto.