Экспартная-ён Дапамога

Blog: http://www.ddcs.re

email: exportit.ddcs@gmail.com

Экспартная-ён прыкладанне

Палітыка прыватнасці

глабальнае апісанне

Ён мае, як галоўная мэта, каб дазволіць выкарыстанне вашых дадзеных, размешчаных у вашым тэлефоне або планшэце, на іншых прыладах, як іншы Android сістэмы або ваш кампутар, або калі носьбіт сумяшчальны на тэлевізары. Для гэтага ён выкарыстоўвае самыя стандартныя пратаколы, самонастройку і HTTP.

Экспартна-ён рэалізуе серверам і кліентам (дзве абразкі на працоўным стале Android). Сервер стварыць спіс відэа, аўдыё і графічных файлаў, і дадаткова PDF і файлы Прылады для чытання электронных можна знайсці ў вашай Android сістэмы. Спіс гэтых файлаў з іх характарыстыкамі ўстаноўлены ў памяці і апублікаваныя праз службы каталогаў UPNP і серверам HTTP.

Файлы распаўсюджваюцца толькі ў чатырох катэгорыях: відэа файлаў (MP4, WebM і 3GPP) аўдыё файлаў (MP3, OGG і M4A), файлы малюнкаў (JPEG, GIF ці PNG), і электронныя кнігі (PDF, PRC, EPUB, PDB, MOBI і DjVu).

Сэрвэр не прызначаны для кіравання тысячамі файлаў, некалькі сотняў выглядае як тое, што мы звычайна на тэлефон або планшэт.

Як пачаць выкарыстоўваць яго

Перш за ўсё, проста запусціць сервер і дачакацца заканчэння працэсу ініцыялізацыі. Калі вы знаходзіцеся на Wi-Fi або па мабільнай сеткі вы можаце праверыць статус і 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 чапляцца 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) файлы JAR ... NanoHttpd быў зменены, каб падтрымаць метад "Галаву", каб дадаць DLNA загалоўкі HTTP, запыт пратакалявання і забяспечыць пачатковую хатнюю старонку. Зыходны код даступны ў выглядзе выкананага файла.

Усе смайлікаў, якія выкарыстоўваюцца ў каментарах былі распрацаваны і зроблены Энрыка Gollnow (Эрні). Наведайце яго сайт, каб знайсці больш падрабязную інфармацыю пра яго і яго смайлікаў (http://www.gomotes.com).

Працэдура шыфравання пароляў выкарыстоўвае бібліятэку jsbn Том Ву (JavaScript BigInteger і RSA) на баку браўзэра і вэб-Java бібліятэкі SpongyCastle на боку сервера.

Гэтага прыкладанне выкарыстоўвае JmDNS, рэалізацыя мульты-літой DNS ў Java для выяўлення службаў і рэгістрацыі. Гэтая бібліятэка цалкам сумяшчальная з пратаколам Bonjour Apple. Усе мае дзякуючы Артур ван Хофэ, Рык Блэр і Кай Kreuzer, для гэтай эфектыўнай бібліятэкі пад ліцэнзіяй Apache версіі 2.0.

Гэта дадатак выкарыстоўвае відэаплэер HTML5 пад назвай плэир распрацаваны Жульена «delphiki» Villetorte gdelphiki@gmail.com пад MIT License, усе мае дзякуй за гэтую вялікую працу і дазвол на выкарыстанне яго.

Мы выкарыстоўваем 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) для пратаколу _Асяроддзя аўтаматычнага кіравання сертыфікатамі_ (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 знойдзены ў лакальнай сеткі (Wi-Fi). Ён мае, як подзадачи медыяплэер для паказу MP4, WebM або відэа і 3gpp праслухоўвання MP3, OGG або M4A аўдыё файлаў, у дыялогавым акне WebView для адлюстравання фатаграфій. Акрамя таго, фонавая служба можа быць запушчана для загрузкі файлаў з сервера. Пры запуску перад серверам, кліент ініцыялізаваць службу UPnP, але без распаўсюджвання файлаў дадзеных, свайго роду пусты сервер. Гэтая паслуга неабходная, каб атрымаць доступ да іншыя серверы UPnP.

дазволаў і рэсурсы

У наладах сістэмы, то дадатковыя налады, вы можаце знайсці мэнэджара батарэі. Каб захаваць сервер і працуе на пастаяннай аснове, вы павінны выбраць прадукцыйнасць для схемы кіравання харчаваннем, і актываваць гэта прыкладанне ў абароненых прыкладаннях і ў энергаёмістых прыкладанняў.

Калі гэта магчыма вы павінны трымаць свой WiFi актыўным, калі прылада знаходзіцца ў спячым рэжыме і працуе сервер, а акрамя таго, калі ваша прылада мае ўбудаваны стэк DLNA, вы не павінны шукаць "побач прылад" у сістэмных наладах.

сервер патрабуе доступу да файлавай сістэмы і счытваць налады тэлефона для выяўлення змяненняў стану як на Wi-Fi або калі перадача дадзеных актывуецца пры падключэнні да сеткі мабільнай сувязі. Пры жаданні сервер можа адправіць SMS, калі вонкавы IP-адрас змяняецца (опцыя ў канфігурацыі) і код краіны па ACCESS_COARSE_LOCATION, (А ці не дакладнае месцазнаходжанне толькі код краіны дзве літары). Кліенцкая праграма выкарыстоўвае дазвол на запіс на вонкавая прылада захоўвання для захавання загружаных файлаў, а таксама запісваць аўдыё дазвол для паказу крывых пры праслухоўванні музыкі.

выкарыстанне сервера

Як выкарыстоўваць Экспартна-ЕН Client

Выкарыстанне вэб-браўзэр для доступу да Экспартна-ІТ-сервер

Выкарыстанне FFmpeg для функцыі шматкастных каналаў

стандартныя канфігурацыі

Публікацыя ў Інтэрнэце з хатняй Wi-Fi сеткі

Для публікацыі файлаў у Інтэрнэце з Экспартна-ЕН-сервер, вы павінны наладзіць порт HTTP сервера псеўданімаў ў вашым ADSL маршрутызатар. пратакол UPnP не даступны ў Інтэрнэце, толькі HTTP. Нумар порта па змаўчанні 8192 (вы можаце змяніць яго з дапамогай канфігурацыі), а таксама псеўданім порт для сеткі агульнага карыстання, павінны быць прадастаўлены на ADSL-маршрутызатар, звязаны з Wi-Fi IP-адрас сервера Экспартна-ЕН. Нумар па змаўчанні знешні порт у канфігурацыі 0, але вы можаце ўсталяваць што вы хочаце, як 8192 або 80. URL, які выкарыстоўваецца для доступу да вашага сервера, прадастаўляецца на верхняй баку акна сервера.

Выкарыстанне HTTPS праз Інтэрнэт

Мой вэб-сервер гадамі падтрымліваў HTTPS з самаподпісванымі сертыфікатамі, але, хоць гэта працуе, гэты спосаб выклікае праблемы і паведамленні пра памылкі. Вось чаму я вырашыў укараніць пратакол аўтаматычнага кіравання сертыфікатамі_ (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 праз Інтэрнэт, але з іншымі значэннямі псеўданіма порта.