експорт Допомога

Блог: http://www.ddcs.re

E-mail: exportit.ddcs@gmail.com

додаток експорт

політика конфіденційності

Глобальний Опис

Він має як основної мети, щоб дозволити використання ваших даних, розташованих у вашому телефоні або планшеті, на інших пристроях, як інший Android системи або комп'ютером, або якщо носій сумісний на екрані телевізора. Для цього, він використовує найбільш стандартні протоколи, UPnP і HTTP.

експорт реалізує сервером і клієнтом (дві іконки на вашому Android столі). Сервер побудувати список відео, аудіо і графічних файлів, і, крім того PDF і Пристрої файли можна знайти у вашому Android системи. Список цих файлів з ​​їх характеристиками встановлені в пам'ять і опубліковані через 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, ви просто повинні визначити без псевдоніма нуль порту в конфігурації на консолі і перевірити, чи працює він. За допомогою безкоштовного додатку вам доведеться вручну налаштувати ADSL маршрутизатор. Коли вона добре виглядає, ви можете спробувати його в домашніх умовах з будь-яким веб-браузером ви маєте, використовуючи безкоштовний громадський веб-проксі з підтримкою Javascript.

HTTPS хоча підтримується, не виглядає, щоб бути кращим для звичайних користувачів через складність його використання зі смартфонами і бідних уявлень в порівнянні з простою HTTP.

При переадресації портів і аутентифікація працює, ви можете використовувати опцію "клуб", щоб бути легко доступні в Інтернеті, публікуючи дані про www.ddcs.re. Щоб перевірити свій власний сервер вимагає використання веб-проксі, бо ваш власний зовнішній IP-адреса недоступна з вашої Wi-Fi мережі. Дана опція дозволяє уникнути розподілу змінюється URL з IP-адресою і номером порту, просто натиснувши на правій лінії сервера, визначеного імені сервера, невеликий опис пропозиції і один з вашого зображення в якості значка.

технічний фон

Підтримка UPnP забезпечується Teleal Cling 1.0.5 (Copyright (C) 2010 Teleal GmbH, Швейцарія), і Http сервер побудований на вершині NanoHTTPD версія 1.25, Copyright 2001,2005-2012 Ярно Elonen і 2010 Константінос Togias. Таким чином, ця програма містить LGPL програмного забезпечення. Обидва модифіковані версії, не машина код. Бібліотека TelealCling тільки один глечик файл побудований з деякими змінами, необхідних заявки від clingcore, clingsupport (1.0.5) і telealcommon (1.0.14) банку файли ... NanoHttpd був змінений для підтримки методу "HEAD", щоб додати DLNA HTTP заголовків, ведення журналів запитів і представити первісний стартовою. Вихідний код доступний як виконуваний файл.

Всі смайлики, використовувані в коментарях були розроблені і зроблені Енріко Gollnow (Ерні). Відвідайте його сайт, щоб дізнатися більше інформації про нього і його смайликів (http://www.gomotes.com).

Схема шифрування пароля використовується jsbn бібліотеку Тома Ву (JavaScript BigInteger і RSA) на стороні браузера веб-і Java бібліотеки SpongyCastle на стороні сервера.

Ця програма використовує JmDNS, реалізацію багатопотокового DNS в Java для пошуку та реєстрації служб. Ця бібліотека повністю сумісна з Apple Bonjour протоколом. Вся моя подяка Артуру ван Хоффу, Ріку Блеру та Кай Крейцеру за цю ефективну бібліотеку, ліцензовану за ліцензією Apache, версією 2.0.

Ця програма використовує відеопрогравач HTML5, який називається Playr, розроблений Жюльєн дельфікі 'Villetorte gdelphiki@gmail.com під ліцензією MIT, всім вдячним за цю чудову роботу та дозвіл її використовувати.

Ми використовуємо PDF.JS для показу PDF-файлів через WebView. Для цього проекту з відкритим кодом поширюється ліцензія Apache версії 2. PDF.js (https://mozilla.github.io/pdf.js/) — це програма для перегляду портативних форматів документів (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.

компоненти

Два основних компоненти є сервер і клієнт, і, після установки, у вас є дві іконки на робочому столі.

Сервер починає довгий запущений сервіс, який насправді, реальний сервер Медіа забезпечуючи UPnP і HTTP послуги. Дана послуга працює у фоновому режимі, лише мала значок повідомлення встановлюється на Android задач. Важливим підзадачі сервера, конфігурація. За замовчуванням сервер експортує всі ваші дані файли в локальній мережі Wi-Fi. Ви можете вмикати / вимикати файли через конфігурацію.

Дані клієнтські процеси поширювані серверів UPnP знайдені в локальній мережі (WiFi). Вона має як підзадачі медіаплеєр для показу MP4, WebM або 3GPP відео і слухати MP3, OGG або M4A аудіо файлів, в діалоговому вікні WebView для відображення фотографій. Крім того, фон послуга може бути запущений для скачування файлів з ​​сервера. При запуску, перш ніж сервер, клієнт инициализировать службу UPnP, але без поширення файлів даних, свого роду порожній сервер. Ця послуга необхідна, щоб отримати доступ до інші UPnP сервери.

дозволів і ресурси

В налаштуваннях системи, то додаткові настройки, ви можете знайти менеджера батареї. Щоб зберегти сервер і працює на постійній основі, ви повинні вибрати продуктивність для схеми управління живленням, і активувати цю програму в захищених додатках і в енергоємних додатків.

Якщо це можливо ви повинні тримати свій WiFi активним, коли пристрій знаходиться в сплячому режимі і працює сервер, а крім того, якщо ваш пристрій має вбудований стек DLNA, ви не повинні шукати "поруч пристроїв" в системних настройках.

сервер вимагає доступу до файлової системи і читати налаштування телефону для виявлення змін стану як на Wi-Fi або якщо передача даних активується при підключенні до мережі мобільного зв'язку. При бажанні сервер може відправити SMS, якщо зовнішній IP-адреса змінюється (опція в конфігурації) і код країни по ACCESS_COARSE_LOCATION, (А не точне місце розташування тільки код країни дві літери). клієнтська програма використовує дозвіл на запис на зовнішній пристрій зберігання для збереження завантажених файлів, а також записувати аудіо дозвіл для показу кривих при прослуховуванні музики.

Використання сервера

Як використовувати клієнт експорт

Використання веб-браузер для доступу експорт сервера

Використання FFmpeg для функції багатоадресного каналу

стандартні конфігурації

Публікація в Інтернеті з дому Wifi мережі

Для публікації файлів в Інтернеті з вашого експорт сервері, ви повинні налаштувати порт згладжування HTTP сервера в вашому ADSL маршрутизатор. Протокол UPnP не доступний в Інтернеті, тільки HTTP. Номер порту за замовчуванням 8192 (ви можете змінити його за допомогою конфігурації), і псевдонім порт для мережі загального користування, повинні бути надані на ADSL маршрутизатора, пов'язаного з Wi-Fi IP-адреса сервера експорт. Значення за замовчуванням зовнішній порт в конфігурації 0, але ви можете встановити що ви хочете, як 8192 або 80-URL, щоб використовувати, щоб отримати доступ до свого сервера, дається на правій верхній частині вікна управління сервером.

Використання HTTPS через Інтернет

Мій веб-сервер роками підтримував 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 через Інтернет, але з іншими значеннями псевдонімів портів.