Блог: http://www.ddcs.re
електронна поща: exportit.ddcs@gmail.com
Тя има за основна цел да се позволи използването на Вашите данни, намиращи се във вашия Android телефон или таблет, на други устройства като друга система Android или вашия компютър, или ако медиите е съвместим на вашия телевизор. За това, че използва най-стандартни протоколи, UPnP и HTTP.
експортирате изпълнява на сървър и клиент (две икони на вашия Android десктоп). Сървърът се изгради списък на видео, аудио и графични файлове, и допълнително на PDF и електронни книги файловете тя може да намерите във вашия Android система. Списъкът на тези файлове с техните характеристики са определени в паметта и публикуван през UpnP Directory Service и HTTP сървър.
Файловете са разпределени само в четири категории: видео файлове (mp4, WebM и 3GPP) на аудио файлове (mp3, OGG и M4A), файлове с изображения (JPEG, GIF или PNG), и книги (PDF, КНР, EPUB, PDF, Mobi и DjVu).
Сървърът не е проектиран за управление хиляди файлове, няколко стотин изглежда като това, което имаме, обикновено по телефона или таблета си.
На първо място, просто стартирате сървъра и да чака края на процеса на инициализация. Ако сте на Wifi или на мобилната мрежа, можете да проверите състоянието и адресите, за да го опитат. Fort повечето от хората, сървърът е недостъпен от мобилната мрежа. Трябва първо да се провери какъв е вашият сървър разпространява с показалката уеб браузър за местно URL след минаването през прозореца на сървъра (реалната сървъра се работи във фонов режим). Също така е възможно да се използва примка адрес IPv6 за достъп до страницата HTML от вашия браузър с URL като "HTTP: // [:: 1]: 8192".
Като втора стъпка, можете да използвате конфигурацията на сървъра, за да промените името на вашия сървър и може би се адаптира размера на шрифта на вашия език и устройство.
Следващата стъпка се състои в определянето на потребителско име и парола, като администратор с достъп до всички категории.
Когато тя работи, можете да определите допълнителни потребителски имена с достъп до специфични категории.
И най-накрая може да се определи "Port Forwarding", когато сте свързани към домашната Wi-Fi, за да бъдат достъпни от Интернет. Ако използвате пълното прилагане с поддръжка на UPnP, имате просто да се определи без нула порт псевдоним в конфигурацията и проверете на конзолата, ако тя работи. С безплатното приложение трябва да конфигурирате ръчно вашето ADSL рутер. Когато тя изглежда добре, можете да го опитате от дома с всеки уеб браузър имате, с помощта на безплатен обществен уеб прокси с подкрепата Javascript.
HTTPS въпреки че поддържа, не изглежда да бъде най-доброто за обикновените потребители поради сложността да го използвате с смартфони и бедните ефективност в сравнение с обикновен HTTP.
Когато пристанище спедиция и удостоверяване работите, можете да използвате опцията "клуб", за да бъде лесно достъпна в Интернет, публикува данните си за www.ddcs.re. За да тествате вашия собствен сървър изисква използването на уеб прокси, защото собствения си външен IP адрес не е достъпна от вашата безжична мрежа. Тази опция позволява да се избегне разпространението на променящия URL с IP адрес и номер на порт, просто кликнете върху дясната линия на сървъра определя от името на вашия сървър, малък описание изречение и един от вашия имидж като икона.
Подкрепата на UPnP е предоставена от Teleal Прегърнали 1.0.5 (Copyright (C) 2010 Teleal GmbH, Швейцария), а Http Сървъра е построен на върха на NanoHTTPD версия 1.25, Copyright 2001,2005-2012 Ярно Elonen и 2010 Константинос Togias. По този начин това приложение съдържа LGPL софтуер. И двете са модифицирани версии, Не родния код. Библиотеката Teleal Прегърнали е само един буркан файл построена с няколко модификации, изисквани от приложението от clingcore, clingsupport (1.0.5) и teleal чести (1.0.14) буркан файлове ... NanoHttpd се модифицират, за да подкрепят метода на "HEAD", за да добавите DLNA HTTP хедъри, искане изсичане и да осигури първоначална начална страница. Изходният код е достъпен като изпълнимия.
Всички емотикони, използвани в коментарите са проектирани и направени от Enrico Gollnow (Erni). Посетете неговия сайт, за да намерите повече информация за него и неговите усмивки (http://www.gomotes.com).
Рутинна парола криптиране използва jsbn библиотека Том Ву (Javascript BigInteger и RSA) на браузъра страна уеб и SpongyCastle Java библиотека на сървъра страна.
Това приложение използва JmDNS, приложение на DNS за множествено предаване в Java за откриване и регистрация на услуги. Тази библиотека е напълно съвместима с протокола на Bonjour на Apple. Всички мои благодарности на Артър ван Хоф, Рик Блеър и Кай Крейзер за тази ефективна библиотека, лицензирана под лиценза на Apache, версия 2.0.
Това приложение използва видео плейър HTML5, наречен Playr, разработен от Julien 'delphiki' Villetorte gdelphiki@gmail.com под лиценз MIT, благодарение на тази страхотна работа и разрешението за ползването му.
Използваме PDF.JS, за да показваме PDF файлове през WebView. Този проект с отворен код е предмет на лиценз за Apache версия 2. PDF.js (https://mozilla.github.io/pdf.js/) е програма за преглед на Portable Document Format (PDF), която е създадена с HTML5. PDF.js се управлява от общността и се поддържа от Mozilla.
Пакетът epubjs-reader (https://github.com/futurepress/epubjs-reader) се използва за epub електронни книги и книгите се показват в WebView. Този софтуер е достъпен чрез лиценз на MIT.
Сега използваме Acme4J като Java клиент (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.
Двата основни компонента са на сървъра и клиента, и след инсталацията, имате две икони на вашия работен плот.
Сървърът започва дълго бягане услуга, която е в действителност, истинската Media сървър предоставяне UPnP и HTTP услуги. Тази услуга се работи във фонов режим, само малка икона уведомление е разположен на Android в лентата на задачите. Важен подзадача на сървъра, е конфигурацията. По подразбиране износа на сървърни всички данни файлове на локалния Wifi мрежата. Можете да изберете / премахнете избора на файлове през конфигурацията.
Данните за клиентските процеси, разпределени от UPnP сървъри намерени на местно (Wifi) мрежа. Той има както подзадачи на Media Player за показване mp4, WebM или 3gpp видеоклипове и слушане на mp3, OGG или M4A аудио файлове, диалогов прозорец за показване на снимки WebView. В допълнение, на фона на услуги може да се стартира за сваляне на файлове от сървъра. Когато започнах преди сървъра, клиентът се инициализира услугата UPnP, но без да го разпространявате файлове с данни, нещо като празен сървър. Необходима е тази услуга, за да получите достъп до други UPnP сървъри.
В настройките на системата, а след това на разширени настройки, които можете да намерите мениджър на батерията. За да се запази сървър и работи постоянно, трябва да изберете производителност за плана за захранване, и активиране на приложението в защитени приложения и в-енергоемките приложения.
Ако е възможно, трябва да си WiFi активен, когато устройството ви се спи и сървърът работи, и в допълнение, ако вашето устройство има вграден DLNA стак, не трябва да се търси "близкостоящи устройства" в системните настройки.
сървърът изисква достъп до файловата система и да чете настройките на телефона, за откриване на държавни промени като на Wifi или ако предаването на данни се активира, ако е свързан към мобилна мрежа. По желание на сървъра може да изпрати SMS, когато външното IP адреса се променя (опция в конфигурацията) и кода на страната от Access_Coarse_Location, (Не точно място само две писма кода на страната). Програмата на клиент използва разрешение да пише на външна памет за запаметяване на свалените файлове, както и запис на аудио разрешение за показване криви при слушане на музика.
За да публикувате файлове на Internet с вашия экспортируйте сървър, трябва да конфигурирате HTTP сървър порт Aliasing на във вашия ADSL рутер. UPnP протокол не е наличен в Интернет, само HTTP. Портът по подразбиране е 8192 (можете да го промените, чрез конфигурацията) и порт псевдоним на обществената мрежа, трябва да се даде на ADSL рутер, свързан с безжична 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 през интернет, но с други стойности на псевдоним на порт.