Blogi: http://www.ddcs.re
e-post: exportit.ddcs@gmail.com
Selle põhieesmärk on lubada Androidi telefonis või tahvelarvutis olevate andmete kasutamist teistes seadmetes, nagu mõni teine Android-süsteem või teie arvuti või kui kandja on oma teleriga ühilduv. Selleks kasutab ta kõige tavalisemaid protokolle, UpnP ja Http.
eksportida-seda rakendab Serverit ja Kliendit (kaks Android-töölauaga ikooni). Server loob video-, heli- ja pildifailide loendi lisaks pdf- ja e-raamatu faile, mida see teie Android-süsteemis leiab. Nende failide nimekiri nende omadustega on seatud mällu ja avaldatakse läbi UPnP-i kataloogiteenuse ja HTTP-serveri.
Failid on jaotatud ainult nelja kategooriasse: videofailid (mp4, webm ja 3gpp), helifailid (mp3, ogg ja m4a), pildifailid (jpeg, gif või png), ja e-raamatud (pdf, prc, epub, pdb, mobi ja djvu).
Server ei ole mõeldud tuhandete failide haldamiseks, paarsada näeb välja nagu tavaliselt telefonis või tahvelarvutis.
Kõigepealt lihtsalt käivitage server ja oodake initsialiseerimisprotsessi lõppu. Kui olete Wifi või mobiilsidevõrgu kaudu, saate seda proovida, et vaadata olekut ja URL-e. Fort enamik inimesi server on mobiilsidevõrgu kaudu kättesaamatu. Kõigepealt saate kontrollida, mida teie server levitab kohaliku veebibrausiga URL pärast serveri aknast väljumist (tegelik server töötab taustal). Samuti on võimalik oma brauseris HTML-lehe pääsemiseks kasutada IPv6 loopback-aadressi URL-iga nagu "http://[::1]:8192".
Teise sammuna võite serveri konfiguratsiooni abil oma serveri nime muuta ja kohandada fondi suurust oma keelde ja seadet.
Järgmine samm koosneb kasutajanime ja parooli määramiseks administraatorina, kellel on juurdepääs kõikidele kategooriatele.
Kui see töötab, saate määratleda täiendavaid kasutajanimeid, millel on juurdepääs konkreetsetele kategooriatele.
Ja lõpuks võite määratleda "sadama edastamine", kui olete oma kodus Wifi'iga ühenduses, et nad saaksid Internetist juurde pääseda. Kui kasutate täisrakendust UPnP-tugi abil, peate konfiguratsioonis määratlema ainult null-nimega pordi alias ja kontrollige konsooli, kui see töötab. Tasuta rakendusega peate oma ADSL-ruuteri käsitsi konfigureerima. Kui see hea välja näeb, võite proovida seda kodus mõne veebibrauseri abil, kasutades Javascripti toega tasuta avaliku veebiparkaid.
Kuigi HTTPS toetatakse, ei tundu see tavapäraste kasutajate jaoks parim, kuna selle kasutamine on nutitelefonidega keeruline ja halb etendused võrreldes lihtsa HTTP-ga.
Kui port ekspedeerimine ja autentimine toimivad, saate kasutada "klubi" võimalust, et see oleks Internetis kergesti kättesaadav, avaldades oma andmed veebiaadressil www.ddcs.re. Oma serveri testimiseks on vaja veebiparkaid kasutada, kuna teie enda välimine IP-aadress ei ole teie Wifi-võrgu kaudu juurdepääsetav. See suvand võimaldab vältida muutuva URL-i levitamist IP-aadressi ja pordi numbriga, klõpsates lihtsalt oma serveri nimega määratud serverilõigul, väikese kirjelduse lausega ja üks teie pilt ikoonina.
UPnP toetust pakub Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Šveits) ja Http Server on üles ehitatud NanoHTTPD versioon 1.25, Copyright 2001,2005-2012 Jarno Elonen ja 2010 Konstantinos Togias. Seega sisaldab see rakendus LGPL tarkvara. Mõlemad on muudetud versioonid mitte kohalik kood. TelealClingi raamatukogu on ainult üks jar-fail, mis on ehitatud mõne modifikatsiooniga, mida rakendus vajab klingikorist, clingupportist (1.0.5) ja telealcommon (1.0.14) jar-failid ... NanoHttpd modifitseeriti, et toetada HEAD-meetodit, lisada DLNA HTTP-päiseid, taotleda logimist ja esialgset avalehte. Lähtekood on saadaval käivitatava failina.
Kõik kommentaarides kasutatud emotikone kujundas ja tegi Enrico Gollnow (Erni). Külastage tema veebisaiti, et leida temast ja tema emotikonidest rohkem infot (http://www.gomotes.com).
Parooli krüptimise rutiin kasutab Tomwu jsbn-i teeki (Javascript BigInteger ja RSA) veebibrauseri küljel ja SpongyCastle java-raamatukogu serveripoolsel küljel.
See rakendus kasutab JmDNS-i, multi-cast DNS-i rakendamist Java-i teenuste avastamiseks ja registreerimiseks. See raamatukogu on täielikult Apple'i Bonjouri protokolliga koostalitlusvõimeline. Kõik tänu Arthur van Hoffile, Rick Blairile ja Kai Kreuzerile sellel tõhusal raamatukogul, mis on litsentsitud Apache litsentsi versiooni 2.0 all.
See rakendus kasutab MIT-litsentsi all Julien 'delphiki' Villetorte gdelphiki@gmail.com arendatud HTML5 videopleieri Playr, mida nimetatakse Playr'iks, kõik tänu selle suurepärase töö eest ja luba seda kasutada.
Kasutame PDF-failide kuvamiseks WebView kaudu PDF.JS-i. Sellele avatud lähtekoodiga projektile kehtib Apache 2. versiooni litsents. PDF.js (https://mozilla.github.io/pdf.js/) on kaasaskantava dokumendivormingu (PDF) vaataja, mis on loodud HTML5-ga. PDF.js on kogukonna juhitud ja seda toetab Mozilla.
Epub e-raamatute jaoks kasutatakse paketti epubjs-reader (https://github.com/futurepress/epubjs-reader) ja raamatuid kuvatakse WebView's. See tarkvara on saadaval MIT-i litsentsi kaudu.
Nüüd kasutame RFC 8555 (https://tools.ietf.org/html/rfc8555) protokolli _Automatic Certificate Management Environment_ (ACME) jaoks Java kliendina Acme4J-d (https://shredzone.org). ). ACME on protokoll, mida sertifitseerimisasutus (CA) ja taotleja saavad kasutada kontrollimise ja sertifikaatide väljastamise protsessi automatiseerimiseks. See on sõltumatu avatud lähtekoodiga rakendus, mis ei ole Let's Encryptiga seotud ega toeta.
Acme4J vajab Jose4j teeki (https://bitbucket.org/b_c/jose4j/wiki/Home), mis on JSON Web Token (JWT) ja JOSE spetsifikatsioonikomplekti tugev ja hõlpsasti kasutatav avatud lähtekoodiga rakendus.
Kaks peamist komponenti on server ja klient ning pärast paigaldamist on teie töölaual kaks ikooni.
Server käivitab pikaajalise teenuse, mis on tegelikult tõeline meediumiserver, mis pakub UPnP ja HTTP-teenuseid. See teenus töötab taustal Android-tegumiribal on ainult väike märguande ikoon. Serveri oluline alamülesanne on konfiguratsioon. Vaikimisi ekspordib server kõik teie andmed faile kohalikus Wifi-võrgus. Saate konfiguratsioonist failide valimiseks / tühistamiseks valida.
Klient töötleb kohalikku (Wifi) võrku leitud UPnP-serverite kaudu levitatavaid andmeid. See on alltöövõtt MediaPlayer, mis näitab mp4-, veebi- või 3gpp videot ja mp3-, ogg- või m4a-helifailide kuulamine, fotode kuvamiseks Webviewi dialoogiaken. Lisaks saate serverist failide allalaadimiseks alustada taustateenust. Enne serveri käivitamist klient käivitab UPnP-teenuse, kuid levitamata andmefaile, mingit tühja serverit. See teenus on vajalik juurdepääsu saamiseks muud UPnP-serverid.
Süsteemi seadetes saate täpsemaid seadeid leida akujuhi. Selleks, et hoida serverit püsivalt ja tööle hakata, peaksite valima Toiteplaani jõudluse, ja aktiveerige see rakendus kaitstud rakendustes ja energiamahukates rakendustes.
Kui see on teostatav, peate oma WiFi aktiivseks hoidma, kui seade magab ja server töötab, ning lisaks, kui teie seadmel on sisseehitatud DLNA stack, ei peaks te süsteemisätetes otsima läheduses olevaid seadmeid.
Server nõuab juurdepääsu failisüsteemile ja telefoni seadete lugemist, et tuvastada riigi muudatusi (nt Wifi puhul) või kui mobiilsidevõrkuga ühendatud andmeedastus on aktiveeritud. Valikuliselt võib server saata SMS-i, kui muudate välist IP-aadressi (konfiguratsiooni valik) ja riigi koodi Access_Coarse_Location abil (mitte täpne asukoht ainult kahe tähega riigikood). Kliendiprogramm kasutab salvestatud failide salvestamiseks loa kirjutamiseks välisele salvestusruumile ja muusika kuulamise kõverate kuvamiseks helitugevuse luba.
Et avaldada faile oma eksportida-seda serveriga Internetis, peate oma ADSL-ruuteris konfigureerima HTTP-serveri porti. UPnP-protokoll pole saadaval Internetis ainult HTTP. Vaikepostinumber on 8192 (saate seda muuta konfiguratsiooni kaudu) ja üldkasutatava võrgu aliasporti tuleb anda eksportida-seda serveri Wifi IP-aadressiga seotud ADSL-ruuter. Konfiguratsioonis on vaikimisi välise pordi number 0, kuid seda saab määrata mida soovite nagu 8192 või 80. Serverile juurdepääsemiseks kasutatav URL on antud serverakna ülaosas.
Minu veebiserver oli aastaid ise allkirjastatud sertifikaatidega HTTPS-i toetanud, kuid kuigi see töötab, annab see tõrkeid ja veateateid. See on põhjus, miks ma otsustasin standardsete X509 sertifikaatide hankimiseks ja hooldamiseks juurutada automaatse sertifikaadihalduskeskkonna_ (ACME) protokolli.
ACME protokollil on mõned tehnilised nõuded, see pole kõigile kasutatav. Selle protokolli kasutamiseks vajate välisel IP-aadressil fikseeritud DNS-nime. Sertifikaat X509 peab olema määratud ainult DNS-nimele, mitte IP-aadressidele.
Serdi hankimiseks teenusest Let's Encrypt peate selle välise DNS-i nimel kasutama HTTP-serverit standardse pordinumbriga (80). Minu rakendusega saate sertifikaadi hankida ainult serveris, mis töötab HTTP välise pordi pseudonüümiga "80". Seda väärtust saab teie koduses WiFi-võrgus kasutada ainult üks server. Kui teil on kehtiv sertifikaat, saate HTTPS-i vaikeporti "443" kasutada ainult ühes veebiserveris, mis on määratud "alias-pordiks". Kuid selleks, et vältida seadme juurdumist, peaksite kasutama kohalike pordinumbritena porte, mis on suuremad kui 1024, näidis 8080 HTTP jaoks ja 8443 HTTPS jaoks.
Konfiguratsioonipaneeli on muudetud nii, et see toetaks nii HTTP- kui ka HTTPS-protokolli pordi varjunimesid ning lisaks saate anda oma välisele IP-aadressile teadaoleva DNS-nime See nimi määratakse teie X509 sertifikaadis lisaks teie võrguteenuse pakkuja nimele, kui teil see on. Sertifikaat jagatakse automaatselt teistele eksport-it-serveritele, mis töötavad samas WiFi-võrgus, võimaldades kasutada HTTPS-i Interneti kaudu, kuid muude pordi aliase väärtustega.