任意のファイルをサーバーと同期する


12

Droid2上のファイル(keepass .kdb)をサーバー上のファイルと同期させる方法を探しています。

  • これはファイルシステム上の単なるファイルであり、連絡先、カレンダーなどではありません。
  • プッシュまたはプルだけでなく、双方向が必要です。サーバーが変更された場合はダウンロードし、Androidが変更された場合はアップロードします。はい、これにより競合が解決される可能性があります。

私はPC間でこれを達成するためにUnisonを使用していますが、Android用のUnisonクライアントはありません。AndroidにOCamlをインストールし、その上でUnisonを実行することについて手を振っていますが、ネイティブなものを期待しています。

Botsyncは有望に聞こえますが、それは単方向です-設定を行うとき、アップロードするかダウンロードするかを選択します。

sugarsyncを見たことがありますが、これが私のKeePassファイルであることを考えると、自分のサーバーに保存したいです。


私はsugarsyncを提案しようとしていました...しかし、私は懸念を理解しています
ダニエル

見てくださいsparkleshare.orgを -比較的新しいプロジェクト、作品にAndroidのクライアントを、私は信じています。
スパルクス

回答:


3

これをKeePassパスワードデータベースに使用する場合は、ここで別のオプションを検討することをお勧めします。これは他のデリケートな素材では機能しませんが、KeePassを具体的に求めたので、ここで私がやっていることを示します

  • パスワード(すでに持っていると思います)キーでデータベースを保護します。これにより、2要素認証(「知っているもの」-パスワード、および「持っているもの」-キー)が得られます。パスワードデータベースは、両方のピースが配置されている場合にのみロック解除できます。
  • すべてのデバイスのローカルストレージにキーをコピーし、目立たない名前を付けます。できれば、設定ファイルまたはプログラムによって作成されたランダムノイズファイルのように見える混雑したディレクトリに置いてください。
  • データベースをサードパーティのストレージサービスにアップロードします(私はDropboxを使用していますが、他のオプションも同様に機能します)。デバイスで使用する場合は、サービスにAndroidクライアントが必要であることは言うまでもありません。

  • そこにキーをアップロードしないでください。別の方法を使用して、必要なデバイスにキーをコピーしてください。特に、Dropboxはアップロードしたファイルのコピーを保持し、バックアップのために少なくとも1週間は削除します(非常に便利で、認める必要があります)が、キーが既にサーバー上にある場合、通常のパスワードよりも安全ではありません。保護されたデータベース。

  • キーの場所を記憶しないようにKeePassクライアントを構成します(データベースの場所を覚えておいてください)。

このようにして、データベースをランダムなWebサイトにアップロードできます。何らかの理由(キーボードロガーなど)でパスワードが危険にさらされた場合でも、キーを持つデバイスからデータベースを使用できます。 。

便宜上、モバイルデバイスでキーのみの認証が必要な場合があります(モバイルデバイスでは安全なパスワードを入力するのは面倒で、ここでは短く簡単なものを使用したくないことは明らかです)。ただし、この場合、パスワードで保護されたデータベースよりもセキュリティが低いため、頭に持っているパスワードの代わりに、デバイスにある「パスワード」(キーファイル)を使用することをお勧めします。 。

KeePassは、キー、パスワード、またはその両方が必要かどうかのヒントを提供しません。


良い情報のために+1、私はpass&keyfileがkeepassファイルのために「十分」でなければならないことに同意します。将来、「同期するプログラムはここにあります」という回答があることを期待して、質問に答えていない。ありがとう!
ジェイソンフィアーズ

4

あなたは今あなたが満足している何かを見つけたかもしれませんが、私はアンドロイドで動作するユニゾンのバイナリをコンパイルしました-あなたが話している手を振る指示を使用して可能です-私はそれらを使用してubuntu 12.10内のLinuxソースをクロスコンパイルしましたAndroid NDKを使用し、コードにいくつかの変更を加えて、現在動作しています。https://sites.google.com/site/keigoattic/ocaml-on-androidの指示に従ってくださいその後、いくつかのことを行う必要があります。ユニゾンソースにpty.cというファイルがあります。次のセクションを見つけてください。

// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif

define HAS_OPENPTY 1示されているようにコメントアウトします。また、ubase / util.mlを開いて編集する必要があります。

let homeDir () =
  System.fspathFromString "/Your path here"

ここからコメントアウト:

    (if (osType = `Unix) || isCygwin then
       safeGetenv "HOME"
     else if osType = `Win32 then
(*We don't want the behavior of Unison to depends on whether it is run
  from a Cygwin shell (where HOME is set) or in any other way (where
  HOME is usually not set)
       try System.getenv "HOME" (* Windows 9x with Cygwin HOME set *)
       with Not_found ->
*)
       try System.getenv "USERPROFILE" (* Windows NT/2K standard *)
       with Not_found ->
       try System.getenv "UNISON" (* Use UNISON dir if it is set *)
       with Not_found ->
       "c:/" (* Default *)
     else
       assert false (* osType can't be anything else *))

...ここまで!

その後、Makefile.Ocamlも編集する必要があります。

   CWD=$(shell pwd)
    EXEC_EXT=
    WINOBJS=
    SYSTEM=generic
    # openpty is in the libutil library
    ifneq ($(OSARCH),solaris)
      ifneq ($(OSARCH),osx)
      #  CLIBS+=-cclib -lutil
      endif
    endif
    buildexecutable::
        @echo Building for Unix
  endif
endif

そして# CLIBS+=-cclib -lutil、示されているようにコメントアウトします。

そして、私が知る限り、すべてがうまくいったことを覚えています。コンパイルされたもう1つの手順は、Androidシステムパーティションを書き込み可能としてマウントし、残りのすべてのシェルコマンドがある/ systemフォルダーにunisonをコピーすることです。

それが誰かに役立つことを願っています...私はそれをコンパイルして多くの睡眠を失いました。


2

FolderSyncを使用して、まさにあなたが求めることを行います。これは非常に優れたソフトウェアであり、多くのオプションと機能を備えています。認証用のキーファイルを使用してSFTP over SSHを使用する個人用のドロップボックスの代替として使用します。ローカルレプリカの変更を自動的に検出し、即時アップロードをトリガーするように設定することもできます。私の携帯電話では、写真を撮るとすぐにサーバーに写真をアップロードするために使用しますが、完璧に機能します。


2

ChCの答えに示されているように、クロスコンパイルルートにも従いました。

Google Playでコマンドラインを処理せずに(ルート化することなく)統合できるUnisonSyncをリリースしました。

すぐに実行されていた概念実証から、本番対応のアプリまで、予想よりはるかに時間がかかりましたが、今では機能し、出版物とデータシートリポジトリを同期するのに非常に便利です。


1
コマンドラインを使用することを好む人のために、おそらくすぐにクロスコンパイルし、バイナリユニゾン/ドロップベアをどこかに置くように指示を統合します。
ダン

1

私はsshfsでアンドロイドをマウントすることでユニゾンを使用しています。sshサーバーとして、SSHDroidを使用します

ただし、sshfsとの連携は非常に遅いことに注意してください。単一のファイルでは問題ありませんが。


0

私はこれを行うネイティブの何かを知りません。多くのファイル同期アプリがありますが、私が見たものはすべて単方向であるか、ユーザーが手動で電話からクラウドにファイルを同期することに依存しています。あなたがやろうとしていることはDropbox APIで可能になりますが、同期する必要がある特定のファイルを監視し続ける独自のカスタムアプリを作成するつもりがあるかどうかはわかりません


私はカスタムアプリルートを検討していましたが、それを行うと、Dropboxのクライアントではなく、ネイティブのUnisonクライアントを作成することになります(したがって、サーバーに残ります)。
ジェイソンフィアーズ

0

市場調査により、FileSyncはFTP経由でファイルを同期すると主張し、ファイルの自動同期もサポートしていることが明らかになりました。独自にFTPサーバーを実行する必要があります。

SK Syncもありますが、ユーザーはそれと混合した結果を報告しています。

明らかに、これらのプログラムやアプリを試す前に、PC /サーバーとAndroidデバイスの両方でファイルをバックアップしてください。


aFileSyncは、私が望むすべての動作を備えているように聞こえます。レビューは少し怖いです、そしてそれがどうなるか見るために私はFTPサーバーをセットアップしなければなりません。
ジェイソン

-1

Androidからファイルを同期するには、アプリの新しいバージョンBotSyncPlusを使用します。BotSyncについて書いたとき、アップロードまたはダウンロードの設定は1つだけでした。しかし、現在、マルチバージョンの新しいバージョンのBotSyncPlusが利用可能です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.