Blog: http://www.ddcs.re/ro
e-mail: exportit.ddcs@gmail.com
Acesta are ca obiectiv principal să permită utilizarea datelor dumneavoastră aflate în telefonul tău Android sau comprimat, de pe alte dispozitive, cum ar fi un alt sistem Android sau PC-ul dvs., sau în cazul în care mass-media este compatibil pe televizorul dumneavoastră. Pentru că, se utilizează protocoale cele mai standard, UPnP și HTTP.
exporta implementează un server și un client (două icoane pe desktop Android). Serverul de a construi o listă de fișiere de imagine video, audio și, și, în plus pdf și eBook fișiere se pot găsi în sistem Android. Lista acestor fișiere cu caracteristicile lor sunt stabilite în memorie și publicat printr-un serviciu de director UPnP și un server HTTP.
Fișierele sunt distribuite doar în patru categorii: fișierele video (mp4, WebM și 3GPP), fișiere audio (MP3, OGG și M4A), fișierele de imagine (JPEG, GIF sau PNG), și cărți electronice (pdf, RPC, epub, PPB, mobi și DjVu).
Serverul nu este conceput pentru a gestiona mii de fișiere, câteva sute pare ca ceea ce avem în mod normal pe un telefon sau tabletă.
Mai întâi de toate, începe doar server și să aștepte pentru sfârșitul procesului de inițializare. Dacă sunteți pe WiFi sau în rețeaua mobilă, puteți verifica starea și URL-urile să-l încercați. Fort majoritatea oamenilor serverul este inaccesibil din rețea mobilă. Puteți verifica mai intai ce serverul de distribuie cu o indicare browser web la nivel local URL după ce pe fereastră de server (serverul reală se execută în fundal). De asemenea, este posibil să se utilizeze adresa de loopback IPv6 pentru a accesa pagina HTML din browser cu o adresă URL cum ar fi "http://[::1]:8192".
Ca a doua etapă, puteți utiliza configurația serverului pentru a schimba numele serverului și, probabil, să adapteze dimensiunea fontului la limba și aparatul.
Următorul pas constă în definirea unui nume de utilizator și o parolă de administrator, cu acces la toate categoriile.
Atunci când aceasta funcționează, puteți defini nume de utilizator suplimentare cu acces la anumite categorii.
Și, în sfârșit, puteți defini "port forwarding", atunci când sunt conectate la Wi-Fi de acasă pentru a fi accesibile din Internet. Dacă utilizați aplicația completă, cu suport UPnP, trebuie doar să definească un non alias port de nul în configurația și verificați pe consola, dacă acesta funcționează. Cu aplicația gratuită va trebui să configurați manual router ADSL. Când se pare bună, puteți încerca la domiciliu cu orice browser web ai, folosind un drum liber proxy web publice cu suport JavaScript.
HTTPS deși susținută, nu par a fi cele mai bune pentru utilizatorii normali datorită complexității să-l folosească cu smartphone-uri și performanțele slabe comparativ cu HTTP simplu.
Atunci când portul de expediere și de autentificare sunt de lucru, puteți utiliza opțiunea "club" să fie ușor accesibile pe internet, publicarea datelor dvs. pe www.ddcs.re. Pentru a testa propriul server necesită utilizarea unui proxy web, deoarece propria adresă IP externă nu este accesibil din reteaua WiFi. Această opțiune permise de a evita distribuirea unei adrese URL schimbare cu adresa IP și numărul de port, trebuie doar să faceți clic pe linia dreapta server definită de numele serverului, o descriere mică propoziție și una din imaginea dvs. ca pictogramă.
Suportul UPnP este furnizat de Teleal Cling 1.0.5 (Drepturi de autor (C) 2010 Teleal GmbH, Elveția), iar Http Server este construit pe partea de sus a NanoHTTPD versiunea 1.25, Copyright 2001,2005-2012 Jarno Elonen și 2010 Konstantinos Togias. Astfel, această aplicație conține software LGPL. Ambele sunt versiuni modificate, nu de cod nativ. Biblioteca Cling teleal este doar un fișier jar construit cu câteva modificări cerute de aplicarea de cling-core, cling-suport (1.0.5) teleal-common (1.0.14) și fișiere JAR... NanoHttpd a fost modificat pentru a sprijini metoda "HEAD", pentru a adăuga antetele HTTP DLNA, cerere de logare și de a oferi o pagină inițială acasă. Codul sursă este disponibil ca executabil.
Toate emoticons folosite în comentariile au fost concepute și realizate de către Enrico Gollnow (Erni). Vizitati site-ul său pentru a afla mai multe informații despre el și zâmbetele sale (http://www.gomotes.com).
Rutina de criptare a parolei juca bibliotecă jsbn Tom Wu (Javascript BigInteger și RSA) pe partea browser-ul web și biblioteca java SpongyCastle pe partea de server.
Această aplicație utilizează JmDNS, o implementare a DNS multi-cast în Java pentru descoperirea și înregistrarea serviciului. Această bibliotecă este pe deplin interoperabilă cu protocolul Apple Bonjour. Mulțumesc lui Arthur van Hoff, Rick Blair și Kai Kreuzer pentru această bibliotecă eficientă licențiată sub licența Apache, versiunea 2.0.
Această aplicație utilizează un player video HTML5 numit Playr dezvoltat de Julien 'delphiki' Villetorte gdelphiki@gmail.com sub licența MIT, mulțumită tuturor pentru această muncă minunată și permisiunea de ao utiliza.
Folosim PDF.JS pentru a afișa fișiere PDF printr-un WebView. Acest proiect Open Source este supus unei licențe Apache Versiunea 2. PDF.js (https://mozilla.github.io/pdf.js/) este un vizualizator Portable Document Format (PDF) care este construit cu HTML5. PDF.js este condus de comunitate și este acceptat de Mozilla.
Pachetul epubjs-reader (https://github.com/futurepress/epubjs-reader) este utilizat pentru cărțile electronice epub, iar cărțile sunt afișate într-un WebView. Acest software este disponibil printr-o licență MIT.
Acum folosim Acme4J ca client Java (https://shredzone.org) pentru protocolul _Automatic Certificate Management Environment_ (ACME) așa cum este specificat în RFC 8555 (https://tools.ietf.org/html/rfc8555). ). ACME este un protocol pe care o autoritate de certificare (CA) și un solicitant îl pot utiliza pentru a automatiza procesul de verificare și eliberare a certificatului. Este o implementare independentă open source care nu este afiliată sau susținută de Let's Encrypt.
Acme4J are nevoie de biblioteca Jose4j (https://bitbucket.org/b_c/jose4j/wiki/Home), care este o implementare open source robustă și ușor de utilizat a JSON Web Token (JWT) și suita de specificații JOSE.
Cele două componente principale sunt server și client, și, după instalare, aveți două icoane pe desktop.
Serverul începe un serviciu de lungă de funcționare, care este, de fapt, serverul Media real, oferind UPnP și servicii HTTP. Acest serviciu se execută în fundal, doar un mic icon notificare este situat pe bara de activități Android. O subactivitate importantă a serverului, este configurația. În mod implicit exporturile de server toate fișierele de date de pe rețeaua Wi-Fi locală. Puteți selecta / deselecta fișiere prin configurația.
Datele proceselor client distribuite de servere UPnP găsite pe rețeaua locală (WiFi). Acesta are ca subactivități o Mediaplayer pentru a arăta MP4, WebM sau 3GPP video și asculta la MP3, OGG sau fișiere audio M4A, o fereastră de dialog WebView pentru afișarea fotografiilor. În plus, un serviciu de fundal poate fi pornit pentru a descărca fișiere de pe server. Când a început înainte de server, clientul inițializa serviciul UPnP, dar fără a distribui fișiere de date, un fel de server de gol. Este nevoie de acest serviciu pentru a avea acces la alte servere UPnP.
În setările sistemului, apoi setări avansate, puteți găsi manager de baterie. Pentru a păstra serverul sus și să fie difuzate în mod permanent, ar trebui să selectați de performanță pentru planul de alimentare, și activați această aplicație în aplicații protejate și în aplicații mari consumatoare de energie.
În cazul în care este posibil să vă păstrați WiFi activă atunci când dispozitivul este de dormit și serverul se execută, și, în plus, în cazul în care dispozitivul are o stivă integrat DLNA, ar trebui să nu caute "dispozitive din apropiere", în setările de sistem.
serverul necesită acces la sistemul de fișiere și pentru a citi setările telefonului pentru detectarea schimbărilor de stat cum ar fi Wi-Fi sau în cazul în care transmisia de date este activat dacă este conectat la rețeaua de telefonie mobilă. Opțional, serverul poate trimite SMS-uri atunci când adresa IP externă este schimbată (opțiune în configurația) și codul de țară de Access_Coarse_Location, (Nu este o locație exactă doar codul de două litere). programul client foloseste permisiunea de a scrie pentru stocarea externă pentru salvarea fișierelor descărcate, iar permisiunea audio de înregistrare pentru afișarea curbelor atunci când ascult muzică.
Pentru a publica fișiere de pe Internet cu serverul de exporta, va trebui să configurați portul aliasing server HTTP în router ADSL. Protocolul UPnP nu este disponibil pe Internet, numai HTTP. Numărul de port implicit este 8192 (o puteți modifica prin configurarea), și un port alias pentru rețeaua publică, trebuie să se acorde pe router ADSL asociat cu adresa Wi-Fi IP a serverului exporta. Numărul de port implicit extern în configurația este 0, dar puteți seta ce vrei ca 8192 sau 80. URL-ul pentru a utiliza pentru a accesa server-ul dvs., este dat pe partea dreapta-sus a ferestrei de control al serverului.
Serverul meu Web a acceptat HTTPS cu certificate autosemnate de ani de zile, dar, deși funcționează, în acest fel dă probleme și mesaje de eroare. Acesta este motivul pentru care am decis să implementez protocolul Automatic Certificate Management Environment_ (ACME), pentru a obține și menține certificate standard X509.
Protocolul ACME are anumite cerințe tehnice, nu este utilizabil pentru toată lumea. Pentru a utiliza acest protocol, aveți nevoie de un nume DNS fix pe adresa IP externă. Certificatul X509 trebuie setat numai pe un nume DNS, nu pe o adresă IP.
Pentru a obține certificatul de la Let's Encrypt, trebuie să utilizați un server HTTP cu numărul de port standard (80) pe acest nume DNS extern. Cu aplicația mea, puteți obține certificatul numai pe un server care rulează cu alias de port extern HTTP setat la „80”. Numai un server poate folosi această valoare în rețeaua Wi-Fi de acasă. Când aveți un certificat valid, puteți utiliza portul implicit HTTPS „443” numai pe unul dintre serverele dvs. Web setate ca „port alias”. Dar pentru a evita să „rootezi” dispozitivul, ar trebui să folosești porturi de peste 1024 ca numere de porturi „locale”, după eșantionul 8080 pentru HTTP și 8443 pentru HTTPS.
Panoul de „configurare” este modificat pentru a accepta aliasuri de porturi atât pentru protocoalele HTTP, cât și pentru HTTPS și, în plus, puteți da un nume DNS despre care știți că funcționează, pentru adresa IP externă Acest nume va fi definit în certificatul dvs. X509, pe lângă numele furnizorului dvs. de rețea, dacă aveți unul. Certificatul este distribuit automat altor servere de export-it care rulează pe aceeași rețea Wi-Fi, permițând utilizarea HTTPS pe Internet, dar cu alte valori de alias de port.