1

[Ruby と Sinatra で自分でやる前に聞いてみる...]

Android アプリケーションで「自由にダウンロードできるコンテンツ パッケージ」として使用される数百個の小さな JAR および ZIP ファイルを公開/配布する必要があります。

各 JAR/ZIP には、いくつかのイメージ、小さな SQLite DB (またはダンプ... まだ決定されていません)、および XML または JSON 構成ファイルが含まれます。各ファイルのサイズは、数百 Kb から 2 ~ 5 Mb です。各ファイルは、Android 標準の Download Manager でダウンロードされ、JAR/ZIP ファイルの元のツリー構造を維持したまま、アプリケーションの外部ストレージ (SD カード) に抽出されます。この時点から、私のアプリケーションはアプリケーション固有の方法でそれを処理します。

これらのファイルを公開するには、サーバー側のソリューションが必要です。つまり、オンライン サービス/リポジトリ、またはこの同じ種類のサービスを実装するサーバー側のインストール可能なプログラム (おそらく Ruby/Sinatra/Padrino、Python/Bootle/Flask など。Java は使用しないでください)。

必要なシステムは、主に次のことを行う必要があります。

  1. 指定されたディレクトリに存在するファイルのリスト (つまり、「ディレクトリ一覧」) を使用して、パブリック サーバー ディレクトリ URL に向けられた GET 要求に応答します。ファイルの説明やその他のメタデータを含む、ある種の「豊富なディレクトリ リスト」があると非常に便利です (パブリック サービスなので、セキュリティや認証は必要ありません)。このタスクには、RSS/Atom フィードも適しているでしょう。特に、RSS/Atom エンジンがファイル自体のマニフェストからファイルの説明を抽出し、それを使用してディレクトリ リストをコンパイルできる場合。このようなファイル構造に準拠するようにコードを調整できます。

  2. 特定のファイル URL に向けられた GET 要求に、ファイル自体 (「ダウンロード」) で応答します (公開サービスのため、セキュリティ/認証は必要ありません)。

  3. URL で指定されたディレクトリにアップロード ファイルを書き込む PUT 要求を受け入れます (「アップロード」) (荒らしを防ぐために、単純な認証/セキュリティをここで実施する必要があります)。

ご覧のとおり、私は単純な HTTP RESTful ファイル サーバー (およびいくつかの強化されたディレクトリ リスト) を探しています。

そのようなタスクに使用できる (または悪用できる) 無料のオンライン サービスを知っている人はいますか?

(ほぼ) すぐに使用できるサーバー側ソフトウェア ソリューションを知っている人はいますか?

そしてもちろん、検討/意見/提案は大歓迎です。

4

1 に答える 1

0

私が見つけることができた最も近いものは「パルプ」です:

http://www.pulpproject.org/

不運にも:

  1. RPMファイルを管理するだけです。他のタイプのパッケージ用のプラグインを開発することは可能ですが、ドキュメントはまだ不足しており、プロジェクト全体はまだ急速に進んでいるようです. 私たちは急いでおり、既存のプラグインをリバース エンジニアリングし、独自のプラグインを作成し、システムの残りの部分で最新の状態に保つ時間がありません。

  2. コマンドライン インターフェイスを提供するだけです。開発者にとっては素晴らしいことですが、顧客にとってはひどいものです。GUI が必要ですが、開発する時間がありません。

したがって、ここに通常の、昔ながらの、実績のあるソリューションがあります。

  1. すべてのものを FTP から見えるパーティションに置きます。

  2. 必要なパブリック アクセスのレベルを取得するために、Unix パーミッションを微調整します (644 パーミッションの "root" または "ftpuser" 所有権など)。

  3. 他のファイルの内容を説明するメタデータを含むファイルを生成するスクリプトを作成します (ファイル自体または他の情報源からメタデータを取得します)。このスクリプトを CRON スケジュール (Unix の「at」コマンド) に入れて、1 時間に 1 回実行します。

  4. 匿名 FTP (または必要に応じて通常の FTP) を介して、クライアント側から FTP パーティションにアクセスします。

  5. ファイルをアップロードして管理するためのFilezillaまたはその他の FTP クライアントのコピーを顧客に提供します。

  6. 指を交差させて、誰も間違ったボタンを押さないことを願っています

その他の可能な代替手段は次のとおりです。

  1. Linux APT サーバー側システム。使用/微調整できますが、非常に単純なニーズに対しては明らかにやり過ぎです (そして非常に複雑です)。

  2. http://boxroomapp.com/https://github.com/codyaray/shareboxなどのファイル交換 Web アプリケーション。要件に合わせて微調整できますが、これには時間がかかります。

于 2012-12-03T14:13:06.903 に答える