それをエクスポートヘルプ

ブログ: http://www.ddcs.re/ja

メール: exportit.ddcs@gmail.com

それをエクスポートアプリケーション

個人情報保護方針

グローバル概要

主な目的は、他のAndroidのシステムやお使いのPCのような他のデバイス上で、あなたのAndroid携帯電話やタブレットにあり、データの利用を可能にするよう、 それが持っている、またはメディアがあなたのテレビに接続して互換性があるか。そのためには、最も標準的なプロトコル、UPnPおよびHTTPを使用。

それをエクスポートは、サーバーとクライアント(あなたのAndroidのデスクトップ上のアイコン2)を実装します。サーバーは、ビデオ、オーディオとイメージファイルのリストを作成し、 さらにそれがあなたのAndroidシステムで見つけることができるPDFや電子書籍ファイル。彼らの特性を持つこれらのファイルのリストがメモリに設定とUPnPディレクトリサービスとHTTPサーバーを介して公開されます。

ファイルは、唯一の4つのカテゴリで配布されています。ビデオファイル(MP4、WebMのや3GPP)、オーディオファイル(MP3、OGGおよびM4A)、画像ファイル(JPEG、GIFまたはPNG)、 および電子ブック(PDF、PRC、EPUB、 PDB、mobiはとのDjVu)。

サーバーは、数百、我々は電話またはタブレット上で正常に持っているもののように見えますが、数千のファイルを管理するように設計されていません。

どのようにそれを使用することを開始します

まず第一に、単にサーバを起動して初期化プロセスの終了を待ちます。あなたは無線LANやモバイルネットワーク上にある場合は、ステータスと、それをしようとするURLを確認することができます。 フォートは、人々のほとんどのサーバは、モバイルネットワークからアクセスできません。あなたはまず、サーバがローカルにWebブラウザポインティングで配布されているかどうか確認することができます URLは、サーバ・ウィンドウを外出した後、(実サーバがバックグラウンドで実行されています)。ブラウザからHTMLページにアクセスするには、IPv6ループバックアドレスを使用することも可能です "http://[::1]:8192"のようなURLを持ちます。

第二段階として、あなたのサーバー名を変更し、おそらくあなたの言語およびデバイスにフォントサイズを適応させるためにサーバー構成を使用することができます。

次のステップは、すべてのカテゴリへのアクセス権を持つ管理者としてユーザー名とパスワードを定義することにあります。

それが動作するときは、特定のカテゴリへのアクセス権を持つ追加のユーザー名を定義することができます。

あなたがインターネットからアクセスできるように自宅の無線LANに接続している場合そして最後に、あなたは「ポートフォワーディング」を定義することができます。 あなたは、UPnPをサポートしている完全なアプリケーションを使用している場合は、設定にnull以外のポートエイリアスを定義し、それが動作する場合は、コンソール上でチェックするだけ必要があります。 無料のアプリケーションを使用すると、手動であなたのADSLルータを設定する必要があります。 それはよさそうだときは、Javascriptのサポートを無料公開Webプロキシを使用して、あなたが持っている任意のWebブラウザと一緒に家からそれを試すことができます。

サポートされているものの、HTTPS、による単純なHTTPに比べてスマートフォンや不振でそれを使用するための複雑さのために、通常のユーザーのために最適であることを見ていません。

ポートフォワーディングと認証が作業しているときは、www.ddcs.re上のデータを公開し、インターネット上で簡単にアクセスできるようにする「クラブ」オプションを使用することができます。 独自の外部IPアドレスは無線LANネットワークからアクセスできないため、独自のサーバは、Webプロキシの使用を必要とするテストします。 このオプション許可は自分のサーバー名、小さな説明文やアイコンなどのイメージのいずれかによって定義された右のサーバーラインをクリックすると、IPアドレスとポート番号の変更URLの配布を避けるために。

技術背景

UPnPサポートはTelealCling 1.0.5(コピーライト(C)2010 Teleal社、スイス)、およびHTTP ServerがNanoHTTPDバージョン1.25の上に構築され、著作権2001,2005-2012ヤルノ Elonenと2010コンスタンティノスTogiasによって提供されます。 このように、このアプリケーションはLGPLソフトウェアが含まれています。どちらも、改変されたバージョンではなく、ネイティブコードである。TelealClingライブラリはclin​​g-core、 cling-support(1.0.5)とteleal-common(1.0.14)のjarファイルからのアプリケーションが必要とするいくつかの変更を加えて構築された唯一のJARファイルです... NanoHttpdはDLNA HTTPヘッダー、要求ログを追加し、最初のホームページを提供するために、「HEAD "メソッドをサポートするように変更されました。ソースコードは、実行可能ファイルとして提供されています。

コメントで使用されるすべての絵文字を設計し、エンリコGollnow(エルニ)によって作られた。彼と彼のスマイリー(http://www.gomotes.com)についての詳細情報を見つけるために彼のウェブサイトをご覧ください。

パスワード暗号化ルーチンは、Webブラウザ側とサーバ側のSpongyCastleのJavaライブラリにトム·ウーのjsbnライブラリ(JavascriptのBigIntegerのとRSA)を使用しています。

このアプリケーションは、JmDNSを使用しています.JmDNSは、サービスの検出と登録のためのJavaでのマルチキャストDNSの実装です。 このライブラリは、AppleのBonjourプロトコルと完全に相互運用可能です。 Apache License、Version 2.0でライセンスされたこの効率的なライブラリのArthur van Hoff、Rick Blair、Kai Kreuzerに感謝します。

このアプリケーションは、MITライセンスのJulien 'delphiki' Villetorte gdelphiki@gmail.comによって開発されたPlayrというHTML5ビデオプレーヤーを使用しています。

WebView を介して PDF ファイルを表示するために PDF.JS を使用しています。 このオープン ソース プロジェクトは、Apache バージョン 2 ライセンスの対象です。 PDF.js (https://mozilla.github.io/pdf.js/) は、HTML5 で構築された Portable Document Format (PDF) ビューアーです。 PDF.js はコミュニティ主導であり、Mozilla によってサポートされています。

epub の電子書籍には epubjs-reader パッケージ (https://github.com/futurepress/epubjs-reader) が使用され、書籍は WebView に表示されます。 このソフトウェアは、MIT ライセンスを通じて入手できます。

現在、RFC 8555 (https://tools.ietf.org/html/rfc8555) で指定されている _Automatic Certificate Management Environment_ (ACME) プロトコルの Java クライアント (https://shredzone.org) として Acme4J を使用しています。 )。 ACME は、認証局 (CA) と申請者が検証と証明書発行のプロセスを自動化するために使用できるプロトコルです。 これは、Let's Encrypt と提携または承認されていない、独立したオープン ソースの実装です。

Acme4J には、JSON Web Token (JWT) と JOSE 仕様スイートの堅牢で使いやすいオープン ソース実装である Jose4j ライブラリ (https://bitbucket.org/b_c/jose4j/wiki/Home) が必要です。

コンポーネント

2つの主要なコンポーネントは、サーバーとクライアントで、インストール後、デスクトップ上に2つのアイコンがあります。

サーバーは、実際のメディアサーバーがUPnPおよびHTTPサービスを提供して、実際には実行時間の長いサービスを開始します。このサービスは、ほんの小さな通知アイコンがAndroidのタスクバーに設定され、 バックグラウンドで実行されている。サーバの重要なサブタスクは、構成です。デフォルトでは、サーバは、ローカルのWiFiネットワーク上のすべてのデータファイルをエクスポートします。 あなたは、構成を使用してファイルを選択/選択解除することができます。

ローカル(無線LAN)ネットワーク上で見つかったUPnPサーバーが分散クライアントのデータを処理する。それはMP4、WebMのや3GPPの動画を表示するためのMediaPlayerをサブタスクとして持ち、 MP3、OGGまたはM4Aオーディオファイル、写真を表示するためのWebViewダイアログウィンドウを聴く。また、バックグラウンドサービスは、サーバからファイルをダウンロードするために開始することができる。 サーバーの前に始めたとき、クライアントは、データ·ファイル、空のサーバーのようなものを配布することなく、UPnPサービスを初期化する。このサービスは、へのアクセスを得るために必要とされる 他のUPnPサーバ。

権限と資源

システムの設定で、[高度な設定は、あなたがバッテリーマネージャーを見つけることができます。恒久的に実行しているサーバーのアップとを維持するには、電源プランのパフォーマンスを選択して、保護されたアプリにし、電力を大量に消費するアプリで、このアプリをアクティブにする必要があります。

可能であれば、デバイスがスリープ状態でサーバが動作しているときにWiFiをアクティブにしておく必要があります。また、デバイスに内蔵DLNAスタックがある場合は、システム設定で「近くのデバイス」を探すべきではありません。

サーバは、ファイルシステムへのアクセスを必要とし、無線LAN上、またはモバイルネットワークに接続された場合、データ送信が有効化されている場合のように状態の変化を検出するための電話設定を読み取ること。 外部IPアドレスがACCESS_COARSE_LOCATIONによって(構成のオプション)と国コードを変更された場合、サーバーは、SMSを送信することができます必要に応じて、 (ない正確な位置にちょうど2文字の国コード)。 クライアントプログラムは、ダウンロードしたファイルを保存するための外部記憶装置への書き込み権限、および音楽を聴くときに曲線を示すための記録オーディオ許可を使用しています。

サーバーの使用

それをエクスポートクライアントを使用する方法

それをエクスポートサーバーにアクセスするには、Webブラウザを使用して

マルチキャストチャネル機能にFFmpegを使用する

標準構成

ホームWiFiネットワークからインターネット上で公開する

あなたそれをエクスポートサーバとインターネット上のファイルを公開するには、お使いのADSLルータでHTTPサーバポートエイリアシングを設定する必要があります。 UPnPプロトコルは、インターネット上でHTTPのみでは使用できません。デフォルトのポート番号は、(コンフィギュレーションを介してそれを修正することができます) 8192で、パブリックネットワークの別名ポートは、それをエクスポートサーバの無線LANのIPアドレスに関連付けられているADSLルータ上で指定する必要があります。 設定でデフォルトの外部ポート番号は0ですが、8192や80のようにあなたが欲しいものを設定することができます。あなたのサーバーにアクセスするために使用するURLは、 サーバーコントロールウィンドウの上部右側に与えられている。

インターネット経由の HTTPS の使用

私の Web サーバーは、何年もの間、自己署名証明書を使用して HTTPS をサポートしていました。 これが、自動証明書管理環境 (ACME) プロトコルを実装して、標準の X509 証明書を取得および維持することにした理由です。

ACME プロトコルにはいくつかの技術的要件があり、すべての人が使用できるわけではありません。 このプロトコルを使用するには、外部 IP アドレスに固定の DNS 名が必要です。 X509 証明書は、IP アドレスではなく DNS 名にのみ設定する必要があります。

Let's Encrypt から証明書を取得するには、この外部 DNS 名で標準ポート番号 (80) を持つ HTTP サーバーを使用する必要があります。 私のアプリケーションでは、HTTP 外部ポート エイリアスが "80" に設定されているサーバーでのみ証明書を取得できます。 自宅の Wi-Fi ネットワークでこの値を使用できるサーバーは 1 つだけです。 有効な証明書がある場合、「エイリアス ポート」として設定された Web サーバーの 1 つでのみ、「443」の HTTPS デフォルト ポートを使用できます。 ただし、デバイスを「ルート化」することを避けるために、HTTP のサンプル 8080 と HTTPS のサンプル 8443 によって、1024 を超えるポートを「ローカル」ポート番号として使用する必要があります。

「構成」パネルは、HTTP と HTTPS の両方のプロトコルのポート エイリアスをサポートするように変更されました。さらに、外部 IP アドレスに対して、機能していることがわかっている DNS 名を指定できます。 この名前は、ネットワーク プロバイダーがある場合はその名前に加えて、X509 証明書で定義されます。 証明書は、同じ Wi-Fi ネットワーク上で実行されている他の export-it サーバーに自動的に配布され、インターネット経由で HTTPS を使用できますが、他のポート エイリアス値を使用できます。