Ekspòte-li Èd

Blog: http://www.ddcs.re

Imèl: exportit.ddcs@gmail.com

Ekspòte-li aplikasyon

Tanpri, li dokiman sou règleman sou enfòmasyon prive

Mondyal deskripsyon

Li te gen kòm objektif prensipal pèmèt itilizasyon done ou ki sitiye nan telefòn android ou oswa grenn, sou lòt aparèy tankou yon lòt sistèm android Oswa PC ou, oswa si medya yo se konpatib sou televizyon ou. Pou sa, li itilize pwotokòl yo ki pi estanda, UpnP ak Http.

Ekspòte-li aplike yon sèvè ak yon kliyan (de ikon sou Desktop android ou). Sèvè a bati yon lis videyo, odyo ak dosye imaj, Ak Anplis de sa dosye yo pdf ak ebook li ka jwenn nan sistèm android ou. Lis la nan dosye sa yo ak karakteristik yo yo mete nan memwa Ak pibliye atravè yon sèvis Anyè UpnP ak yon sèvè HTTP.

Dosye yo distribye sèlman nan kat kategori: dosye yo videyo (mp4, webm ak 3gpp) dosye yo odyo (mp3, ogg ak m4a), dosye yo imaj (jpeg, gif oswa png) Ak ebooks (pdf, prc, epub, pdb, mobi ak djvu).

Sèvè a pa fèt pou jere dè milye de dosye, kèk santèn sanble ak sa nou genyen nòmalman sou yon telefòn oswa grenn.

Ki jan yo kòmanse sèvi ak li

Premye a tout, jis kòmanse sèvè a epi tann pou fen pwosesis inisyalizasyon. Si ou se sou Wifi oswa sou rezo mobil ou ka tcheke estati a ak URL yo eseye li. Pifò nan moun yo sèvè a se aksesib nan rezo mobil. Ou ka premye tcheke ki sa sèvè ou ap distribiye ak yon navigatè entènèt montre nan lokal la URL apre ou fin ale soti fenèt sèvè a (sèvè reyèl la ap kouri nan background nan). Li posib tou pou sèvi ak adrès la loopback IPv6 pou jwenn aksè nan paj HTML la nan navigatè ou a Ak yon URL tankou "http://[:1]:8192".

Kòm dezyèm etap, ou ka itilize konfigirasyon sèvè a chanje non sèvè ou e petèt adapte gwosè font lan nan lang ou ak aparèy la.

Pwochen etap la konsiste nan defini yon non itilizatè ak modpas kòm administratè ak aksè nan tout kategori.

Lè li ap travay, ou ka defini non itilizatè adisyonèl ak aksè a kategori espesifik.

E finalman ou ka defini "pò transfert" lè ou konekte sou Wifi lakay ou pou w jwenn aksè nan Entènèt la. Si w ap itilize aplikasyon an plen ak sipò UPnP, ou gen jis defini yon alyas ki pa null pò nan konfigirasyon an epi tcheke sou konsole a si li ap travay. Avèk aplikasyon an gratis ou gen yo configured manyèlman routeur ADSL ou. Lè li sanble bon ou ka eseye li nan kay ak nenpòt navigatè entènèt ou genyen, lè l sèvi avèk yon gratis piblik piblik prokurasyon ak sipò Javascript.

HTTPS byenke sipòte, pa gade yo dwe pi bon an pou itilizatè nòmal akòz konpleksite nan yo sèvi ak li ak smartphones ak pèfòmans yo pòv konpare ak HTTP ki senp.

Lè pò voye ak otantifikasyon ap travay, ou ka itilize opsyon nan "klib" yo dwe fasil pou jwenn sou entènèt, pibliye done ou a sou www.ddcs.re. Pou tès sèvè pwòp ou mande pou yo sèvi ak yon prokurasyon entènèt paske pwòp adrès ekstèn IP ou a pa aksesib nan rezo Wifi ou. Opsyon sa a pèmèt pou fè pou evite distribisyon an nan yon URL chanje ak adrès IP ak nimewo pò, jis klike sou liy lan sèvè dwa defini nan non sèvè ou a, yon ti fraz deskripsyon Ak youn nan imaj ou kòm icon.

Teknik background

Se sipò UPnP a ki ofri pa Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Swis), ak Http sèvè a bati sou tèt NanoHTTPD vèsyon 1.25, Copyright 2001,2005-2012 Jarno Elonen ak 2010 Konstantinos Togias. Se konsa aplikasyon sa a gen lojisyèl LGPL. Tou de se vèsyon modifye, Pa natif natal kòd. TelealCling bibliyotèk la se sèlman yon sèl bokal dosye bati ak yon modifikasyon kèk egzije nan aplikasyon an soti nan clingcore, clingsupport (1.0.5) ak Telealcommon (1.0.14) dosye bokal ... NanoHttpd te modifye pou sipòte metòd "tèt", pou ajoute Tèt DLNA HTTP, demann pou antre ak bay yon paj lakay premye. Kòd la sous ki disponib kòm ègzèkutabl la.

Tout emoticon yo itilize nan kòmantè yo te fèt ak fèt pa Enrico Gollnow (Erni). Vizite sit entènèt li a jwenn plis enfòmasyon sou li ak smileys li (http://www.gomotes.com).

Modpas chifreman modpas la itilize bibliyotèk jsbn Tom Wu a (JavaScript BigInteger ak RSA) sou bò navigatè entènèt ak bibliyotèk java SpongyCastle sou bò sèvè.

Aplikasyon sa a itilize JmDNS, yon aplikasyon dns milti-jete nan Java pou dekouvèt sèvis ak enskripsyon an. Bibliyotèk sa a konplètman interoperable ak pwotokòl Bonjour Apple la. Tout mèsi mwen an Arthur van Hoff, Rick Blair ak Kai Kreuzer, pou sa a bibliyotèk efikas ki gen lisans anba Lisans lan Apache, Version 2.0.

Aplikasyon sa a sèvi ak yon jwè videyo HTML5 rele Playr devlope pa Julie 'delphiki' Villetorte gdelphiki@gmail.com anba lisans MIT, tout mèsi mwen pou travay sa a gwo ak pèmisyon pou yo sèvi ak li.

N ap itilize PDF.JS pou montre fichye PDF atravè yon WebView. Pwojè Open Source sa a sijè a yon lisans Apache Version 2. PDF.js (https://mozilla.github.io/pdf.js/) se yon visualiseur Portable Document Format (PDF) ki bati ak HTML5. PDF.js se yon kominote ki kondwi epi ki sipòte pa Mozilla.

Pakè epubjs-reader la (https://github.com/futurepress/epubjs-reader) yo itilize pou liv epub epub epi yo montre liv yo nan yon WebView. Lojisyèl sa a disponib atravè yon Lisans MIT.

Kounye a, nou itilize Acme4J kòm kliyan Java (https://shredzone.org) pou pwotokòl _Automatic Certificate Management Environment_ (ACME) jan sa espesifye nan RFC 8555 (https://tools.ietf.org/html/rfc8555). ). ACME se yon pwotokòl ke yon otorite sètifika (CA) ak yon aplikan ka itilize pou otomatize pwosesis verifikasyon ak emisyon sètifika. Li se yon aplikasyon endepandan sous louvri ki pa afilye ak oswa andose pa Let's Encrypt.

Acme4J bezwen bibliyotèk Jose4j (https://bitbucket.org/b_c/jose4j/wiki/Home) ki se yon aplikasyon sous louvri JSON Web Token (JWT) solid ak fasil pou itilize ak suite spesifikasyon JOSE.

Eleman

De eleman prensipal yo se sèvè a ak kliyan an, epi, apre yo fin enstalasyon, ou gen de ikon sou Desktop ou.

Sèvè a kòmanse yon sèvis kouri long ki se an reyalite, sèvè a reyèl Media bay sèvis UPnP ak HTTP. Sèvis sa a ap kouri nan background nan, Jis se yon ti icon notifikasyon mete sou Android ekstrè. Yon subtask enpòtan nan sèvè a, se konfigirasyon an. Pa default sèvè a ekspòtasyon tout done ou Dosye sou rezo Wifi lokal la. Ou ka chwazi / desele dosye nan konfigirasyon an.

Pwosesis kliyan an done distribiye pa serveurs UPnP yo te jwenn sou rezo lokal la (Wifi). Li te gen kòm subtasks yon Mediaplayer pou montre mp4, webm oswa 3gpp videyo ak Koute mp3, ogg oswa m4a dosye odyo, yon fenèt dyalòg entènèt pou montre foto yo. Anplis de sa, ka yon sèvis background dwe kòmanse pou telechaje dosye ki soti nan sèvè a. Lè yo te kòmanse anvan sèvè a, kliyan an inisyalize sèvis UPnP la, men san yo pa distribiye dosye done, yon sòt de sèvè vid. Sèvis sa a bezwen jwenn aksè a Lòt sèvè UPnP.

Permissions ak resous

Nan anviwònman sistèm la, Lè sa a, anviwònman avanse, ou ka jwenn manadjè batri. Pou kenbe sèvè a leve, li kouri pou tout tan, ou ta dwe chwazi Pèfòmans pou plan an Power, Ak aktive app sa a nan apps pwoteje ak nan pouvwa-entansif apps.

Si posib ou dwe kenbe fil ou aktif lè aparèy ou an ap dòmi ak sèvè a kouri, ak nan adisyon, si aparèy ou an gen yon chemine entegre DLNA, ou pa ta dwe gade pou "aparèy ki tou pre" nan anviwònman sistèm.

Sèvè a mande pou aksè nan sistèm nan dosye ak li anviwònman yo telefòn pou detekte chanjman eta tankou sou Wifi oswa si done transmisyon aktive si konekte nan rezo mobil. Opsyonalman sèvè a ka voye SMS lè se adrès IP la ekstèn chanje (opsyon nan konfigirasyon an) ak kòd peyi a pa Access_Coarse_Location, (Pa yon kote egzak jis de lèt yo kòd peyi). Pwogram kliyan an sèvi ak pèmisyon pou ekri nan depo ekstèn pou ekonomize dosye telechaje, ak pèmisyon an odyo dosye pou montre koub lè koute mizik.

Sèvè l '

Ki jan yo sèvi ak kliyan an Ekspòte-li

Sèvi ak navigatè entènèt ou a jwenn aksè nan Ekspòte-li sèvè

Sèvi ak FFmpeg pou karakteristik chanèl multicast

Nòmal konfigirasyon

Pibliye sou entènèt nan kay Wifi rezo

Pou pibliye dosye sou Entènèt ak sèvè Ekspòte li a, ou gen configured HTTP sèvè pò alyas la nan routeur ADSL ou. Pwotokòl UPnP pa disponib Sou entènèt, sèlman HTTP. Nimewo pò portal la se 8192 (ou ka modifye li nan konfigirasyon an), ak yon pò alyas pou rezo piblik la, yo dwe bay Sou routeur la ADSL ki asosye ak adrès la Wifi IP nan sèvè a Ekspòte-li. Defo pò a ekstèn nan konfigirasyon an se 0, men ou ka mete Ki sa ou vle tankou 8192 oswa 80. URL la pou itilize pou jwenn aksè nan sèvè ou, yo bay sou tèt bò nan fenèt sèvè.

Itilizasyon HTTPS sou Entènèt

Sèvè entènèt mwen an te sipòte HTTPS ak sètifika pwòp tèt ou siyen pou plizyè ane, men, byenke li travay, fason sa a bay pwoblèm ak mesaj erè. Se rezon sa a ki fè, mwen deside aplike pwotokòl Automatic Certificate Management Environment_ (ACME) pou jwenn ak kenbe sètifika X509 estanda yo.

Protokòl ACME a gen kèk kondisyon teknik, li pa ka itilize pou tout moun. Pou itilize pwotokòl sa a, ou bezwen yon non DNS fiks sou adrès IP ekstèn ou. Sètifika X509 la dwe mete sèlman sou yon non DNS pa sou yon adrès IP.

Pou jwenn sètifika nan men Let's Encrypt, ou bezwen sèvi ak yon sèvè HTTP ak nimewo pò estanda (80) sou non DNS ekstèn sa a. Avèk aplikasyon mwen an, ou ka jwenn sètifika a sèlman sou yon sèvè ki kouri ak HTTP alyas pò ekstèn mete sou "80". Se yon sèl sèvè ki ka itilize valè sa a sou rezo Wi-Fi lakay ou. Lè ou gen yon sètifika valab, ou ka itilize pò HTTPS default "443" sèlman sou youn nan sèvè Web ou yo mete kòm "pò alyas". Men, pou evite "rasinen" aparèy ou an ou ta dwe itilize pò ki pi wo a 1024 kòm nimewo pò "lokal" pa echantiyon 8080 pou HTTP ak 8443 pou HTTPS.

Panèl "konfigirasyon" la modifye pou sipòte alyas pò pou tou de pwotokòl HTTP ak HTTPS, epi anplis ou ka bay yon non DNS ou konnen k ap travay, pou adrès IP ekstèn ou. Yo pral defini non sa a nan sètifika X509 ou anplis non founisè rezo w la si w genyen youn. Sètifika a otomatikman distribye nan lòt sèvè ekspòtasyon-it kap kouri sou menm rezo Wi-Fi, sa ki pèmèt yo sèvi ak HTTPS sou Entènèt men ak lòt valè alyas pò.