Блог: http://www.ddcs.re
Е-пошта: exportit.ddcs@gmail.com
Има главна цел да дозволи користење на вашите податоци лоцирани во телефонот или таблетот со Android, на други уреди како друг Android систем Или на вашиот компјутер, или ако медиумот е компатибилен на вашиот телевизор. За тоа, ги користи стандардните протоколи, UpnP и Http.
Извоз-тоа имплементира сервер и клиент (две икони на вашиот десктоп на Android). Серверот изгради листа на видео, аудио и слики датотеки, И дополнително PDF и eBook датотеки што може да ги најдете во вашиот Андроид систем. Листата на овие датотеки со нивните карактеристики се поставени во меморијата И објавени преку UpnP Directory Service и HTTP сервер.
Датотеките се дистрибуирани само во четири категории: видео фајлови (mp4, webm и 3gpp) на аудио датотеките (mp3, ogg и m4a), датотеките со слики (jpeg, gif или png), И книги (pdf, prc, epub, pdb, mobi и djvu).
Серверот не е дизајниран да управува со илјадници датотеки, неколку стотици изгледа како она што нормално го имаме на телефон или таблет.
Пред сè, само стартувајте го серверот и почекајте го крајот на процесот на иницијализација. Ако сте на Wifi или на мобилна мрежа, можете да го проверите статусот и URL-то за да го пробате. Форт повеќето од луѓето на серверот е недостапен од мобилната мрежа. Најпрво можете да проверите што вашиот сервер го дистрибуира со веб-прелистувач што упатува на локално URL по излегување од прозорецот на серверот (вистинскиот сервер работи во позадина). Исто така е можно да се користи IPv6 обратна адреса за да се пристапи до HTML страница од вашиот прелистувач Со URL адреса како "http://[::1]:8192".
Како втор чекор, можете да ја користите конфигурацијата на серверот за да го промените името на вашиот сервер и можеби да ја прилагодите големината на фонтот на вашиот јазик и уред.
Следниот чекор се состои во дефинирање на корисничко име и лозинка како администратор со пристап до сите категории.
Кога работи, можете да дефинирате дополнителни кориснички имиња со пристап до одредени категории.
И, конечно, можете да дефинирате "пренасочување на порта" кога сте поврзани на вашиот домашен Wi-Fi да бидете достапни од интернет. Ако ја користите целосната апликација со UPnP поддршка, само треба да дефинирате алиас за не-null пристаниште во конфигурацијата и да ја проверите конзолата ако таа работи. Со бесплатна апликација треба рачно да го конфигурирате вашиот ADSL рутер. Кога изгледа добро, можете да го пробате од дома со кој било веб прелистувач што го имате, користејќи бесплатен јавен веб-прокси со поддршка на Javascript.
HTTPS иако е поддржан, не изгледа да биде најдобар за нормалните корисници поради комплексноста да се користи со паметни телефони и слабите перформанси во споредба со едноставниот HTTP.
Кога пренасочување на порта и проверка на автентичност работат, можете да ја користите опцијата "club" за да биде лесно достапна на Интернет, објавувајќи ги вашите податоци на www.ddcs.re. За тестирање на вашиот сопствен сервер потребна е употреба на веб-прокси, бидејќи вашата сопствена надворешна IP адреса не е достапна од вашата Wi-Fi мрежа. Оваа опција дозволува да се избегне дистрибуција на промена на URL-то со IP адреса и број на порта, само кликнување на вистинската линија на серверот дефинирана со името на вашиот сервер, мала описна реченица И една од твоите слики како икона.
Поддршката UPnP е обезбедена од Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Швајцарија), а серверот Http е изграден на врвот на NanoHTTPD верзија 1.25, Авторски права 2001,2005-2012 Јарно Елонен и 2010 Константинос Тогиас. Така оваа апликација содржи LGPL софтвер. Двете се модифицирани верзии, Не мајчин код. Библиотеката TelealCling е само една тегла датотека изградена со неколку модификации кои се бараат од апликацијата од clingcore, clingsupport (1.0.5) и Telealcommon (1.0.14) тегла датотеки ... NanoHttpd е изменета за поддршка на "HEAD" метод, за да додадете DLNA HTTP заглавија, барање на најавување и да обезбеди почетна почетна страница. Изворниот код е достапен како извршна.
Сите емотикони користени во коментарите беа дизајнирани и изработени од Енрико Голнов (Ерни). Посетете ја неговата веб-страница за да најдете повеќе информации за него и неговите смешковци (http://www.gomotes.com).
Рутината за енкрипција на лозинка ја користи jsbn библиотеката на Tom Wu (Javascript BigInteger и RSA) на страната на веб-прелистувачот и Java библиотеката SpongyCastle на страната на серверот.
Оваа апликација користи JmDNS, имплементација на мулти-фрлен DNS во Java за откривање и регистрација на услуги. Оваа библиотека е целосно интероперабилна со Apple's Bonjour протоколот. Сите мои благодарности до Артур ван Хоф, Рик Блер и Каи Кројзер, за оваа ефикасна библиотека лиценцирана според лиценцата на Apache, верзија 2.0.
Оваа апликација користи HTML5 видео плеер наречен Playr, развиен од Julien 'delphiki' Villetorte gdelphiki@gmail.com под MIT Лиценца, се заблагодарувам за оваа одлична работа и дозвола да го користам.
Ние користиме PDF.JS за прикажување PDF-датотеки преку WebView. Овој проект со отворен код е предмет на лиценца Apache Version 2. PDF.js (https://mozilla.github.io/pdf.js/) е прегледувач на пренослив формат на документи (PDF) кој е изграден со HTML5. PDF.js е управувано од заедницата и е поддржан од Mozilla.
Пакетот epubjs-reader (https://github.com/futurepress/epubjs-reader) се користи за epub eBooks и книгите се прикажани во WebView. Овој софтвер е достапен преку MIT лиценца.
Сега користиме Acme4J како Java Client (https://shredzone.org) за протоколот _Automatic Certificate Management Environment_ (ACME) како што е наведено во RFC 8555 (https://tools.ietf.org/html/rfc8555 ). ACME е протокол што органот за сертификати (CA) и апликантот можат да го користат за да го автоматизираат процесот на верификација и издавање сертификат. Тоа е независна имплементација со отворен код што не е поврзана или одобрена од Let's Encrypt.
Acme4J има потреба од библиотеката Jose4j (https://bitbucket.org/b_c/jose4j/wiki/Home) која е робусна и лесна за употреба имплементација со отворен код на JSON Web Token (JWT) и пакетот спецификации JOSE.
Двете главни компоненти се серверот и клиентот, и по инсталацијата, имате две икони на вашата работна површина.
Серверот започнува долготрајна услуга, што всушност е вистинскиот медиумски сервер кој обезбедува UPnP и HTTP услуги. Оваа услуга работи во позадина, Само една мала икона за известување е поставена на лентата со задачи на Android. Важна подзадача на серверот, е конфигурацијата. Стандардно, серверот ги извезува сите ваши податоци Датотеки на локалната Wifi мрежа. Можете да изберете / деселектирате датотеки преку конфигурацијата.
Клиентот ги обработува податоците дистрибуирани од UPnP сервери кои се наоѓаат на локалната (Wifi) мрежа. Таа како подзадачи е медиаплеер за прикажување на mp4, webm или 3gpp видео и Слушање на mp3, ogg или m4a аудио фајлови, дијалог прозорец Webview за прикажување на фотографии. Покрај тоа, позадинската услуга може да се стартува за преземање на датотеки од серверот. Кога се стартува пред серверот, клиентот ја иницијализира UPnP услугата, но без дистрибуција на податочни датотеки, еден вид на празен сервер. Оваа услуга е потребна за да добиете пристап до Други UPnP сервери.
Во поставките на системот, потоа Напредни прилагодувања, можете да најдете Батерија менаџер. За да го задржите серверот постојано и да работи постојано, треба да изберете Изведба за план за енергија, И активирајте ја оваа апликација во заштитени апликации и во апликации со интензивна моќ.
Ако е можно, мора да ја задржите вашата WiFi активна кога вашиот уред спие и серверот работи, а освен тоа, ако вашиот уред има вграден DLNA стек, не треба да барате "уреди во близина" во системските поставки.
Серверот бара пристап до датотечниот систем и да ги чита поставките на телефонот за откривање на промени на државата како на Wifi или ако преносот на податоци е активиран ако е поврзан со мобилната мрежа. Евентуално, серверот може да испрати СМС порака кога е изменета надворешната IP адреса (опција во конфигурацијата) и кодот на државата од Access_Coarse_Location, (Не е прецизна локација само двата букви на земјата). Програмата на клиентот ја користи дозволата за запишување во надворешно складирање за зачувување на преземените датотеки, како и дозволата за аудио запис за прикажување на кривите при слушање музика.
За да објавувате датотеки на Интернет со вашиот Извоз-тоа сервер, мора да го конфигурирате приврзувањето на пристаништето на HTTP серверот во вашиот ADSL-рутер. UPnP протоколот не е достапен На интернет, само HTTP. Стандардниот број на порта е 8192 (можете да го модифицирате преку конфигурацијата), и приклучок за алијас за јавната мрежа, мора да биде даден На ADSL рутерот поврзан со Wifi IP адресата на серверот Извоз-тоа. Стандардниот број на надворешен порт во конфигурацијата е 0, но можете да го поставите Што сакате како 8192 или 80. URL-то да се користи за пристап до вашиот сервер, е даден на горната страна од прозорецот на серверот.
Мојот веб-сервер со години поддржуваше HTTPS со самопотпишани сертификати, но, иако функционира, овој начин дава проблеми и пораки за грешки. Тоа е причината зошто решив да го имплементирам протоколот Automatic Certificate Management Environment_ (ACME), за да добијам и одржувам стандардни сертификати X509.
Протоколот ACME има некои технички барања, не е употреблив за секого. За да го користите овој протокол, потребно ви е фиксно име на DNS на вашата надворешна IP адреса. Сертификатот X509 мора да биде поставен само на име DNS, а не на IP адреси.
За да го добиете сертификатот од Let's Encrypt, треба да користите HTTP сервер со стандарден број на порта (80) на ова име на надворешен DNS. Со мојата апликација, сертификатот може да го добиете само на сервер кој работи со псевдоним за надворешна порта HTTP поставен на „80“. Само еден сервер може да ја користи оваа вредност на вашата домашна Wi-Fi мрежа. Кога имате важечки сертификат, можете да ја користите стандардната порта HTTPS од „443“ само на еден од вашите веб-сервери поставен како „порта алијас“. Но, за да избегнете „рутирање“ на вашиот уред, треба да користите порти над 1024 како „локални“ броеви на порти според примерокот 8080 за HTTP и 8443 за HTTPS.
Панелата за „конфигурација“ е изменета за да поддржува псевдоними на портите и за протоколите HTTP и HTTPS, а дополнително можете да дадете име на DNS што знаете дека работи, за вашата надворешна IP адреса Ова име ќе биде дефинирано во вашиот сертификат X509 како додаток на името на вашиот мрежен провајдер доколку го имате. Сертификатот автоматски се дистрибуира на други сервери за извоз што работат на истата Wi-Fi мрежа, дозволувајќи да се користи HTTPS преку Интернет, но со други вредности на алијас на портите.