Blog: http://www.ddcs.re/da
e-mail: exportit.ddcs@gmail.com
Det har som hovedformål at tillade brugen af dine data placeret i din Android-telefon eller tablet, på andre enheder som en anden Android-system eller din pc, eller hvis mediet er kompatibelt på dit TV. Til det, det bruger de mest almindelige protokoller, UPnP og HTTP.
eeksportere det implementerer en server og en klient (to ikoner på din Android skrivebordet). Serveren opbygge en liste af video, lyd og billedfiler, og derudover pdf og eBook filer den kan finde på din Android-system. Listen over disse filer med deres egenskaber er defineret i hukommelsen og offentliggjort via en UPnP Directory Service og en HTTP-server.
Filerne distribueres kun i fire kategorier: videofiler (mp4, WebM og 3GPP) lydfilerne (MP3, OGG og M4A), billedfiler (JPEG, GIF eller PNG), og eBøger (pdf, Kina, ePub, FBF Mobi og djvu).
Serveren er ikke designet til at håndtere tusindvis af filer, et par hundrede ligner, hvad vi har normalt på en telefon eller tablet.
Først og fremmest, bare starte serveren og vente til slutningen af initialiseringsprocessen. Hvis du er på Wifi eller på Mobile netværk kan du kontrollere status og de webadresser til at prøve det. Fort fleste af de mennesker serveren er utilgængelig fra mobil netværk. Du kan først se, hvad din server distribuerer med en webbrowser, der peger på det lokale URL efter gå ud serveren vinduet (den virkelige server kører i baggrunden). Det er også muligt at bruge IPv6 loopback adresse for at få adgang til HTML-side fra din browser med en URL som "http://[::1]:8192".
Som andet trin, kan du bruge serveren konfiguration til at ændre navnet på din server og måske tilpasse skriftstørrelsen til dit sprog og enhed.
Det næste skridt består i at definere et brugernavn og en adgangskode som administrator med adgang til alle kategorier.
Når det virker, kan du definere yderligere brugernavne med adgang til bestemte kategorier.
Og endelig kan du definere "port forwarding", når du er tilsluttet på dit hjem WiFi til at være tilgængelig fra internettet. Hvis du bruger den fulde anvendelse med UPnP understøttelse, har du bare at definere en ikke null port alias i konfigurationen og tjek på konsollen om det virker. Med det gratis program du konfigurere manuelt din ADSL router. Når det ser godt, kan du prøve det hjemmefra med enhver webbrowser, du har, ved hjælp af en gratis offentlig web proxy med Javascript support.
HTTPS selv støttede, ser ikke at være den bedste for normale brugere på grund af kompleksiteten at bruge det med smartphones og de fattige forestillinger sammenlignet med simpel HTTP.
Når port forwarding og autentificering fungerer, kan du bruge "klubben" mulighed for at være let tilgængelige til internettet, udgive dine data på www.ddcs.re. For at teste din egen server kræver brug af en web-proxy, fordi din egen eksterne IP-adresse ikke er tilgængelig fra dit Wifi netværk. Denne indstilling tillader at undgå udbredelsen af en skiftende URL med IP-adresse og portnummer, blot at klikke på den rigtige server linje defineret af din server navn, en lille beskrivelse sætning og en af dit billede som ikon.
UPnP støtte ydes af Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Schweiz) og HTTP-serveren er bygget oven på NanoHTTPD-version 1.25 Copyright 2001,2005-2012 Jarno Elonen og 2010 Konstantinos Togias. Således denne ansøgning indeholder LGPL-software. Begge er modificerede versioner, ikke native kode. Den teleal Cling Biblioteket er kun én jar-fil bygget med et par ændringer, der kræves af programmet fra cling-core, cling-support (1.0.5) og teleal-common (1.0.14) jar filer ... NanoHttpd blev modificeret til at understøtte "hoved"-metoden, at tilføje DLNA HTTP headers, anmodning skovhugst og at give en indledende startside. Kildekoden er tilgængelig som den eksekverbare.
Alle humørikoner, der anvendes i kommentarerne er designet og lavet af Enrico Gollnow (Erni). Besøg hans hjemmeside for at finde mere information om ham og hans smileys (http://www.gomotes.com).
Adgangskoden kryptering rutine bruger Tom Wu jsbn bibliotek (Javascript BigInteger og RSA) på web browser side og SpongyCastle java biblioteket på serversiden.
Denne applikation bruger JmDNS, en implementering af multi-cast DNS i Java til serviceopdagelse og registrering. Dette bibliotek er fuldt kompatibelt med Apples Bonjour-protokol. Alle tak til Arthur van Hoff, Rick Blair og Kai Kreuzer for dette effektive bibliotek licenseret under Apache License, Version 2.0.
Denne applikation bruger en HTML5 videospiller, der hedder Playr udviklet af Julien 'delphiki' Villetorte gdelphiki@gmail.com under MIT License, min tak for dette fantastiske arbejde og tilladelsen til at bruge den.
Vi bruger PDF.JS til at vise PDF-filer via en WebView. Dette Open Source-projekt er underlagt en Apache version 2-licens. PDF.js (https://mozilla.github.io/pdf.js/) er en Portable Document Format (PDF) fremviser, der er bygget med HTML5. PDF.js er fællesskabsdrevet og understøttet af Mozilla.
Epubjs-reader-pakken (https://github.com/futurepress/epubjs-reader) bruges til epub eBooks, og bøgerne vises i en WebView. Denne software er tilgængelig via en MIT-licens.
Vi bruger nu Acme4J som Java Client (https://shredzone.org) til _Automatic Certificate Management Environment_ (ACME) protokollen som specificeret i RFC 8555 (https://tools.ietf.org/html/rfc8555) ). ACME er en protokol, som en certifikatmyndighed (CA) og en ansøger kan bruge til at automatisere processen med verifikation og certifikatudstedelse. Det er en uafhængig open source-implementering, der ikke er tilknyttet eller godkendt af Let's Encrypt.
Acme4J har brug for Jose4j-biblioteket (https://bitbucket.org/b_c/jose4j/wiki/Home), som er en robust og brugervenlig open source-implementering af JSON Web Token (JWT) og JOSE-specifikationspakken.
De to vigtigste komponenter er serveren og klienten, og efter installationen, har du to ikoner på skrivebordet.
Serveren starter en lang kører service, der er i virkeligheden den virkelige Medieserver leverer UPnP og HTTP-tjenester. Denne service kører i baggrunden, er blot et lille ikon meddelelse indstillet på Android proceslinjen. En vigtig delopgave på serveren, er konfigurationen. Som standard server eksport alle dine data filer på det lokale WiFi-netværk. Du kan vælge / fravælge filer via konfigurationen.
Klienten behandler data distribueres af UPnP-servere findes på lokale (WiFi) netværk. Det har som delopgaver en Mediaplayer for at vise mp4, WebM eller 3GPP-video og lytte til mp3, ogg eller M4A lydfiler, en WebView dialogvindue til visning af fotos. Desuden kan en tjeneste i baggrunden startes for at downloade filer fra serveren. Når påbegyndt før serveren, klienten initialisere UPnP service, men uden at distribuere datafiler, en slags tom server. Denne service er nødvendig for at få adgang til andre UPnP servere.
I systemets indstillinger, så avancerede indstillinger, du kan finde batteri manager. For at holde serveren op at køre permanent, skal du vælge præstation for strømstyringsmodel, og aktivere denne app i beskyttede apps og strømkrævende apps.
Hvis muligt du skal holde din WiFi aktiv, når enheden sover og serveren kører, og desuden, hvis enheden har en indbygget DLNA stak, skal du ikke lede efter "enheder i nærheden" i systemindstillinger.
serveren kræver adgang til filsystemet og læse telefonens indstillinger til detektering tilstandsændringer ligesom på Wifi eller hvis dataoverførslen aktiveres, hvis forbundet til mobile netværk. Eventuelt serveren kan sende SMS, når den eksterne IP-adresse ændres (option i konfigurationen) og landekoden ved Access_Coarse_Location, (Ikke en præcis placering blot to bogstaver landekode). Klienten program bruger tilladelse til at skrive til ekstern lagring til at gemme hentede filer, og optage lyd tilladelse til at vise kurver, når du lytter til musik.
At offentliggøre filer på internettet med din eXportit server, skal du konfigurere HTTP-serveren port aliasing i din ADSL router. UPnP-protokollen er ikke tilgængelig på internettet, kun HTTP. Standardportnummeret er 8192 (du kan ændre det gennem konfigurationen), og et alias port til det offentlige net, skal gives på ADSL router er forbundet med Wifi IP-adressen for eXportit serveren. Som standard ekstern port nummer i konfigurationen er 0, men du kan indstille hvad du vil ligesom 8192 eller 80. URL'en til at bruge til at få adgang til din server, gives på øverste højre side af serveren kontrol vinduet.
Min webserver havde understøttet HTTPS med selvsignerede certifikater i årevis, men selvom det virker, giver denne måde problemer og fejlmeddelelser. Det er grunden til, at jeg besluttede at implementere protokollen Automatic Certificate Management Environment_ (ACME) for at få og vedligeholde standard X509-certifikater.
ACME-protokollen har nogle tekniske krav, den er ikke brugbar for alle. For at bruge denne protokol skal du have et fast DNS-navn på din eksterne IP-adresse. X509-certifikatet må kun indstilles på et DNS-navn og ikke på en IP-adresse.
For at få certifikatet fra Let's Encrypt skal du bruge en HTTP-server med standardportnummeret (80) på dette eksterne DNS-navn. Med min applikation kan du kun få certifikatet på en server, der kører med HTTP ekstern portalias sat til "80". Kun én server kan bruge denne værdi på dit Wi-Fi-hjemmenetværk. Når du har et gyldigt certifikat, kan du kun bruge HTTPS-standardporten "443" på en af dine webservere, der er indstillet som "alias-port". Men for at undgå at "root" din enhed bør du bruge porte over 1024 som "lokale" portnumre ved eksempel 8080 for HTTP og 8443 for HTTPS.
Konfigurationspanelet er ændret til at understøtte portaliasser for både HTTP- og HTTPS-protokoller, og derudover kan du give et DNS-navn, som du ved fungerer, til din eksterne IP-adresse Dette navn vil blive defineret i dit X509-certifikat ud over navnet på din netværksudbyder, hvis du har en. Certifikatet distribueres automatisk til andre eksport-it-servere, der kører på det samme Wi-Fi-netværk, hvilket gør det muligt at bruge HTTPS over internettet, men med andre portaliasværdier.