Blog: http://www.ddcs.re
e-mail: exportit.ddcs@gmail.com
Ajo ka si objektiv kryesor të lejojë përdorimin e të dhënave tuaja të vendosura në telefonin ose tabletin tuaj Android, në pajisje të tjera si një sistem tjetër Android ose kompjuterin tuaj, ose nëse mediat janë të pajtueshme në televizorin tuaj. Për këtë, ai përdor protokollet më standarde, UPnP dhe Http.
Ky aplikacion implementon një server dhe një klient (dy ikona në desktopin tuaj Android). Serveri krijon një listë të skedarëve video, audio dhe imazhesh, dhe gjithashtu pdf dhe eBook fotografi që mund të gjeni në sistemin tuaj Android. Lista e këtyre dosjeve me karakteristikat e tyre janë vendosur në kujtesë dhe të publikohet përmes një UpnP Directory Service dhe një HTTP server.
Dosjet shpërndahen vetëm në katër kategori: skedarët video (mp4, webm dhe 3gpp) skedarët audio (mp3, ogg dhe m4a), skedarët e imazhit (jpeg, gif ose png) dhe ebooks (pdf, prc, epub, pdb, mobi dhe djvu).
Serveri nuk është i dizajnuar për të menaxhuar mijëra fotografi, disa qindra duket si ajo që zakonisht kemi në një telefon ose tablet.
Para së gjithash, sapo të filloni serverin dhe të prisni përfundimin e procesit të inicializimit. Nëse jeni në rrjetin Wi-Fi ose në rrjetin celular, ju mund të kontrolloni statusin dhe URL-të për ta provuar atë. Fort shumicën e njerëzve që serveri është i paarritshëm nga rrjeti mobil. Ju së pari mund të kontrolloni se çfarë po shpërndan serveri juaj me një shfletues interneti që tregon në lokal URL pas daljes nga dritarja e serverit (serveri i vërtetë është në sfond). Është gjithashtu e mundur të përdorësh adresën IPv6 loopback për të hyrë në faqen HTML nga shfletuesi yt me një URL si "http://[::1]:8192".
Si hap i dytë, mund të përdorni konfigurimin e serverit për të ndryshuar emrin e serverit dhe ndoshta përshtatni madhësinë e shkrimit në gjuhën dhe pajisjen tuaj.
Hapi i ardhshëm konsiston në përcaktimin e një username dhe password si administrator me qasje në të gjitha kategoritë.
Kur të funksionojë, ju mund të përcaktoni emrat e përdoruesve shtesë me qasje në kategori të caktuara.
Dhe së fundi mund të përcaktoni "port forwarding" kur jeni lidhur në shtëpinë tuaj WiFi për të qenë i aksesueshëm nga interneti. Nëse jeni duke përdorur aplikacionin e plotë me mbështetjen UPnP, duhet të përcaktoni vetëm një alias jo të pacaktuar në konfigurimin dhe kontrolloni në tastierë nëse funksionon. Me aplikacionin falas ju duhet të konfiguroni manualisht routerin tuaj ADSL. Kur të duket mirë, mund ta provoni nga shtëpia me çdo shfletues që keni, duke përdorur një proxy të lirë publike të internetit me mbështetjen Javascript.
HTTPS megjithëse i mbështetur, nuk duket të jetë më e mira për përdoruesit normalë për shkak të kompleksitetit të përdorimit të saj me smartphones dhe performancave të dobëta krahasuar me HTTP të thjeshtë.
Kur forwarding port dhe authentication janë duke punuar, ju mund të përdorni opsionin "klub" për të qenë lehtësisht të arritshme në internet, duke publikuar të dhënat tuaja në www.ddcs.re. Për të testuar serverin tuaj kërkon përdorimin e një proxy-i Web, sepse adresa juaj e jashtme IP nuk është e disponueshme nga rrjeti juaj WiFi. Ky opsion lejon të shmangë shpërndarjen e një URL ndryshimi me adresën IP dhe numrin e portit, thjesht duke klikuar në linjën e duhur të serverit të përcaktuar nga emri i serverit tuaj, një fjali e vogël përshkrimi dhe një nga imazhet tuaja si ikonë.
Mbështetja UPnP ofrohet nga Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Zvicër), dhe Http Server është ndërtuar në krye të NanoHTTPD versioni 1.25, Copyright 2001,2005-2012 Jarno Elonen dhe 2010 Konstantinos Togias. Kështu që ky aplikacion përmban softuer LGPL. Të dyja janë versione të modifikuara, jo kodin amë. Biblioteka TelealCling është vetëm një skedar jar i ndërtuar me disa modifikime të kërkuara nga aplikacioni nga clingcore, clingsupport (1.0.5) dhe telealcommon (1.0.14) skedarët jar ... NanoHttpd është modifikuar për të mbështetur metodën "HEAD", për të shtuar header HTTP DLNA, për të kërkuar prerjet dhe për të siguruar një faqe fillestare fillestare. Kodi burimor është i disponueshëm si ekzekutues.
Të gjitha emoticons përdorur në komentet janë projektuar dhe bërë nga Enrico Gollnow (Erni). Vizito faqen e tij të internetit për të gjetur më shumë informacion rreth tij dhe figurinave të tij (http://www.gomotes.com).
Rutina e enkriptimit të fjalëkalimit përdor bibliotekën jsbn të Tom Wu (Javascript BigInteger dhe RSA) në anën e shfletuesit të internetit dhe bibliotekën java SpongyCastle në anën e serverit.
Ky aplikacion përdor JmDNS, një implementim të DNS me shumë koka në Java për zbulimin dhe regjistrimin e shërbimit. Kjo bibliotekë është plotësisht e ndërveprueshme me protokollin e Bonjour të Apple. Të gjitha falënderimet e mia për Arthur van Hoff, Rick Blair dhe Kai Kreuzer, për këtë bibliotekë efikase të licencuar nën Licencën Apache, Versioni 2.0.
Ky aplikacion përdor një lojtar video HTML5 të quajtur Playr, i zhvilluar nga Julien 'delphiki' Villetorte gdelphiki@gmail.com nën licencën MIT, të gjitha falënderimet për këtë punë të shkëlqyeshme dhe lejen për ta përdorur atë.
Ne po përdorim PDF.JS për të shfaqur skedarët PDF përmes një WebView. Ky projekt me burim të hapur është subjekt i një licence Apache Version 2. PDF.js (https://mozilla.github.io/pdf.js/) është një shikues i formatit të dokumentit portativ (PDF) që është ndërtuar me HTML5. PDF.js drejtohet nga komuniteti dhe mbështetet nga Mozilla.
Paketa epubjs-reader (https://github.com/futurepress/epubjs-reader) përdoret për libra elektronikë epub dhe librat shfaqen në një WebView. Ky softuer disponohet nëpërmjet një licence MIT.
Tani po përdorim Acme4J si Klient Java (https://shredzone.org) për protokollin _Automatic Certificate Management Environment_ (ACME) siç specifikohet në RFC 8555 (https://tools.ietf.org/html/rfc8555 ). ACME është një protokoll që një autoritet certifikimi (CA) dhe një aplikant mund të përdorin për të automatizuar procesin e verifikimit dhe lëshimit të certifikatës. Është një zbatim i pavarur me burim të hapur që nuk është i lidhur ose i miratuar nga Let's Encrypt.
Acme4J ka nevojë për bibliotekën Jose4j (https://bitbucket.org/b_c/jose4j/wiki/Home) e cila është një zbatim i fuqishëm dhe i lehtë për t'u përdorur me burim të hapur i JSON Web Token (JWT) dhe paketës së specifikimeve JOSE.
Dy komponentët kryesorë janë serveri dhe klienti, dhe pas instalimit, ju keni dy ikona në tavolinën e punës.
Serveri fillon një shërbim të gjatë që është në të vërtetë, shërbimi i vërtetë i Medias që ofron shërbime UPnP dhe HTTP. Ky shërbim funksionon në sfond, vetëm një ikonë e vogël njoftimi është vendosur në taskbar Android. Një nëntaskë e rëndësishme e serverit është konfigurimi. Si parazgjedhje, serveri eksporton të gjitha të dhënat tuaja fotografi në rrjetin lokal Wifi. Ju mund të zgjidhni/unselect files përmes konfigurimit.
Klienti përpunon të dhëna të shpërndara nga serverët UPnP që gjenden në rrjetin lokal (WiFi). Ajo ka si subtasks një Mediaplayer për të treguar mp4, webm ose 3gpp video dhe duke dëgjuar mp3, ogg ose m4a skedarë audio, një dritare të dialogut të Webview për shfaqjen e fotografive. Përveç kësaj, mund të fillojë një shërbim sfondi për shkarkimin e skedarëve nga serveri. Kur filloi para serverit, klienti fillon shërbimin UPnP, por pa shpërndarjen e skedarëve të të dhënave, një lloj serveri bosh. Ky shërbim është i nevojshëm për të pasur akses serverë të tjerë UPnP.
Në cilësimet e sistemit, pastaj Cilësimet e avancuara, mund të gjeni menaxherin e Baterisë. Për ta mbajtur serverin në funksionim të përhershëm, duhet të zgjidhni Performancën për planin e energjisë, dhe aktivizoni këtë aplikacion në aplikacionet e mbrojtura dhe në aplikacionet intensive.
Nëse është e mundur, ju duhet të mbani WiFi tuaj aktiv kur pajisja juaj është duke fjetur dhe serveri shkon, dhe përveç kësaj, nëse pajisja juaj ka një pirg DLNA të integruar, ju nuk duhet të kërkoni "pajisje të afërta" në cilësimet e sistemit.
Serveri kërkon qasje në sistemin e skedarit dhe të lexojë cilësimet e telefonit për zbulimin e ndryshimeve të gjendjes si në WiFi ose nëse transmetimi i të dhënave aktivizohet nëse lidhet me rrjetin celular. Opsionale, serveri mund të dërgojë SMS kur të ndryshohet adresa e jashtme IP (opsioni në konfigurim) dhe kodin e vendit nga Access_Coarse_Location, (jo një vend të saktë vetëm dy kodet e shkronjave të vendit). Programi i klientit përdor lejen për të shkruar në ruajtjen e jashtme për ruajtjen e skedarëve të shkarkuar dhe lejen audio të regjistrimit për të treguar kthesa gjatë dëgjimit të muzikës.
Për të publikuar skedarë në internet me serverin tuaj, ju duhet të konfiguroni portën e serverit HTTP duke shtuar në routerin ADSL. Protokolli UPnP nuk është i disponueshëm në internet, vetëm HTTP. Numri i portit të parazgjedhur është 8192 (ju mund ta modifikoni atë përmes konfigurimit), dhe një port alias për rrjetin publik, duhet të jepet në routerin ADSL të lidhur me adresën IP të Wifi të serverit. Numri i parazgjedhur i portit të jashtëm në konfigurim është 0, por mund të cilësoni atë që dëshironi si 8192 ose 80. URL për të përdorur për të hyrë në serverin tuaj, jepet në anën e sipërme të dritares së serverit.
Serveri im i uebit kishte vite që mbështeste HTTPS me certifikata të vetë-nënshkruara, por, megjithëse funksionon, kjo mënyrë jep probleme dhe mesazhe gabimi. Kjo është arsyeja pse vendosa të zbatoj protokollin Automatic Certificate Management Environment_ (ACME), për të marrë dhe mbajtur certifikatat standarde X509.
Protokolli ACME ka disa kërkesa teknike, nuk është i përdorshëm për të gjithë. Për të përdorur këtë protokoll, ju nevojitet një emër DNS fiks në adresën tuaj të jashtme IP. Certifikata X509 duhet të vendoset vetëm në një emër DNS dhe jo në një adresë IP.
Për të marrë certifikatën nga Let's Encrypt, duhet të përdorni një server HTTP me numrin standard të portës (80) në këtë emër të jashtëm DNS. Me aplikacionin tim, mund ta merrni certifikatën vetëm në një server që funksionon me pseudonimin e portës së jashtme HTTP të vendosur në "80". Vetëm një server mund ta përdorë këtë vlerë në rrjetin tuaj Wi-Fi në shtëpi. Kur keni një certifikatë të vlefshme, mund të përdorni portën e paracaktuar HTTPS të "443" vetëm në një nga serverët tuaj të uebit të caktuar si "port alias". Por për të shmangur "rrënjosjen" e pajisjes tuaj, duhet të përdorni porte mbi 1024 si numra portash "lokale" sipas mostrës 8080 për HTTP dhe 8443 për HTTPS.
Paneli "konfigurimi" është modifikuar për të mbështetur pseudonimet e porteve për të dy protokollet HTTP dhe HTTPS, dhe përveç kësaj ju mund të jepni një emër DNS që e dini se funksionon, për adresën tuaj të jashtme IP Ky emër do të përcaktohet në certifikatën tuaj X509 përveç emrit të ofruesit të rrjetit tuaj nëse keni një të tillë. Certifikata shpërndahet automatikisht në serverë të tjerë të eksportit që funksionojnë në të njëjtin rrjet Wi-Fi, duke lejuar përdorimin e HTTPS përmes Internetit, por me vlera të tjera të pseudonimit të portit.