Đồng bộ hóa các tệp tùy ý với một máy chủ


12

Tôi đang tìm cách để giữ một tệp (keepass .kdb) trên Droid2 của tôi đồng bộ hóa với một tệp trên máy chủ.

  • Đây chỉ là một tệp trên hệ thống tệp - không phải danh bạ, lịch, v.v.
  • Tôi cần hai chiều, không chỉ đẩy hay kéo. Nếu máy chủ thay đổi, hãy tải xuống, nếu Android thay đổi, hãy tải lên. Có, điều này có thể dẫn đến xung đột cần giải quyết.

Tôi đang sử dụng Unison để đạt được điều này giữa các PC, nhưng không có ứng dụng khách Unison nào cho Android. Tôi đã tìm thấy vẫy tay về việc cài đặt OCaml trên Android và chạy Unison trên đó, nhưng tôi hy vọng điều gì đó bản địa.

Botsync nghe có vẻ hứa hẹn, nhưng đó là một hướng - khi tạo cấu hình, bạn chọn nếu nó tải lên hoặc tải xuống.

Tôi đã thấy sugarsync, nhưng cho rằng đây là tệp KeePass của tôi, tôi muốn giữ nó trên máy chủ của riêng mình.


Tôi sẽ đề nghị sugarsync ... nhưng tôi hiểu mối quan tâm
Daniel

Hãy nhìn vào spark Meatare.org - dự án tương đối mới, ứng dụng khách Android đang hoạt động, tôi tin thế.
Sparx

Câu trả lời:


3

Bạn có thể muốn xem xét một tùy chọn khác ở đây, nếu bạn muốn sử dụng tùy chọn này cho cơ sở dữ liệu mật khẩu KeePass. Điều này sẽ không hoạt động đối với các tài liệu nhạy cảm khác, nhưng vì bạn đã hỏi cụ thể về KeePass, đây là những gì tôi làm:

  • Bảo vệ cơ sở dữ liệu bằng mật khẩu (tôi giả sử bạn đã có) một khóa. Điều này sẽ cung cấp cho bạn xác thực hai yếu tố ("thứ bạn biết" - mật khẩu của bạn và "thứ bạn có" - khóa của bạn). Cơ sở dữ liệu mật khẩu chỉ có thể được mở khóa khi cả hai phần được đặt đúng chỗ.
  • Sao chép khóa vào bộ nhớ cục bộ của tất cả các thiết bị của bạn và đặt cho nó một số tên không rõ ràng. Tốt nhất là đặt nó trong một thư mục đông người, nơi nó có vẻ giống như một số tệp cấu hình hoặc một số tệp nhiễu ngẫu nhiên được tạo bởi một chương trình.
  • Tải cơ sở dữ liệu của bạn lên dịch vụ lưu trữ của bên thứ ba (Tôi sử dụng Dropbox, nhưng các tùy chọn khác cũng sẽ hoạt động tốt). Không cần phải nói rằng dịch vụ nên có ứng dụng khách Android nếu bạn muốn sử dụng nó trên thiết bị của mình.

  • KHÔNG tải lên khóa của bạn ở đó - sử dụng phương pháp khác để sao chép nó vào thiết bị bạn cần. Dropbox đặc biệt giữ một bản sao của các tệp bạn tải lên và sau đó xóa ít nhất một tuần cho mục đích sao lưu (khá thuận tiện, tôi phải thừa nhận), nhưng nếu khóa của bạn đã có trên máy chủ, thì nó không an toàn hơn mật khẩu thông thường- cơ sở dữ liệu được bảo vệ.

  • Định cấu hình ứng dụng khách KeePass của bạn không nhớ vị trí của khóa (nhớ vị trí của cơ sở dữ liệu là tốt).

Theo cách này, bạn có thể tải cơ sở dữ liệu của mình lên một trang web ngẫu nhiên và ngay cả khi mật khẩu của bạn bị xâm phạm vì một số lý do (ví dụ: bộ ghi bàn phím), bạn chỉ có thể sử dụng cơ sở dữ liệu từ các thiết bị có khóa VÀ bây giờ tệp nào thực sự là khóa .

Để thuận tiện, bạn có thể muốn có xác thực chỉ khóa trên thiết bị di động (mật khẩu bảo mật rất tẻ nhạt khi nhập trên thiết bị di động và rõ ràng bạn không muốn sử dụng bất cứ điều gì ngắn gọn và dễ dàng ở đây). Nhưng tôi khuyên bạn nên chống lại điều này, vì trong trường hợp này, bảo mật thậm chí còn thấp hơn cơ sở dữ liệu được bảo vệ bằng mật khẩu - thay vì mật khẩu bạn có trong đầu, bạn sử dụng "mật khẩu" (tệp chính) trên thiết bị của bạn .

KeePass không đưa ra bất kỳ gợi ý nào cho dù nó yêu cầu khóa, mật khẩu hoặc cả hai - điều này có lợi cho bạn.


+1 cho thông tin tốt, tôi đồng ý rằng pass & keyfile phải là "đủ" cho một tệp Keepass. Tôi không trả lời câu hỏi với hy vọng rằng sẽ có câu trả lời "đây là chương trình đồng bộ hóa" trong tương lai. Cảm ơn!
Jason Viers

4

Bạn có thể đã tìm thấy thứ gì đó mà bạn hài lòng bây giờ nhưng tôi đã biên dịch một tệp nhị phân unison hoạt động trên Android - có thể sử dụng các hướng dẫn vẫy tay mà bạn đang nói đến - Tôi đã sử dụng chúng để biên dịch chéo nguồn linux trong ub Ubuntu 12.10 bằng cách sử dụng NDK của Android và với một vài thay đổi cho mã, nó hiện đang hoạt động. Thực hiện theo các hướng dẫn tại https://sites.google.com/site/keigoattic/ocaml-on-android và sau đó bạn sẽ cần phải làm một số điều. Có một tệp có tên pty.c trong nguồn unison - tìm phần sau:

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

và bình luận ra define HAS_OPENPTY 1như hình. Bạn cũng cần mở ubase / produc.ml và chỉnh sửa:

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

Nhận xét từ đây:

    (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 *))

...Tới đây, đến chỗ này!

Sau đó, bạn cũng sẽ phải chỉnh sửa 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

Và bình luận ra # CLIBS+=-cclib -lutilnhư hình.

Và theo như tôi có thể nhớ rằng tất cả đều hoạt động. Bước khác một khi được biên dịch là gắn kết phân vùng hệ thống Android của bạn dưới dạng có thể ghi và sao chép unison vào thư mục / system trong đó tất cả các lệnh shell còn lại.

Hy vọng điều đó có ích cho ai đó ... Tôi đã mất rất nhiều giấc ngủ khi được biên dịch.


2

Tôi làm chính xác những gì bạn yêu cầu với FolderSync. Đây là một phần mềm rất hay, với nhiều tùy chọn và tính năng. Tôi sử dụng nó như một giải pháp thay thế hộp thư cá nhân bằng cách sử dụng SFTP qua SSH với keyfile để xác thực. Bạn thậm chí có thể thiết lập nó để tự động phát hiện các thay đổi trên bản sao cục bộ và kích hoạt tải lên ngay lập tức. Trên điện thoại của tôi, tôi sử dụng nó để tải lên các bức ảnh trên máy chủ của mình ngay khi tôi chụp chúng, và nó hoạt động rất hoàn hảo.


2

Tôi cũng đã theo dõi gốc biên dịch chéo như được chỉ ra trong câu trả lời của ChC

Tôi đã phát hành UnisonSync cho phép bạn hủy kết nối mà không phải xử lý dòng lệnh (và không cần root) trên Google Play:

Từ bằng chứng về khái niệm, đã nhanh chóng chạy, đến một ứng dụng sẵn sàng sản xuất, nó mất nhiều thời gian hơn dự kiến, nhưng bây giờ nó hoạt động và rất tiện lợi để đồng bộ hóa các ấn phẩm và kho dữ liệu của tôi.


1
Có lẽ tôi sẽ hợp nhất các hướng dẫn để biên dịch chéo tại một số điểm sớm và đặt unison / dropbear nhị phân ở đâu đó, cho những người thích sử dụng dòng lệnh.
Dan

1

Tôi sử dụng unison bằng cách gắn Android với sshfs. Là máy chủ ssh tôi sử dụng SSHDroid .

Nhưng được cảnh báo, unison với sshfs là rất chậm. Mặc dù với một tập tin duy nhất, nó không thành vấn đề.


0

Tôi không biết bất cứ điều gì bản địa làm điều này. Có nhiều ứng dụng đồng bộ hóa tệp nhưng tất cả những ứng dụng tôi đã xem đều là đơn hướng hoặc dựa vào người dùng để đồng bộ hóa thủ công tệp từ điện thoại lên đám mây. Những gì bạn định làm sẽ có thể với API Dropbox nhưng tôi không biết liệu bạn có sẵn sàng tạo ứng dụng tùy chỉnh của riêng mình để theo dõi các tệp cụ thể mà bạn cần đồng bộ hóa không


Tôi đã xem xét tuyến ứng dụng tùy chỉnh, nhưng nếu tôi làm điều đó thì đó sẽ là viết một ứng dụng khách Unison gốc chứ không phải là một dropbox (vì vậy nó sẽ ở trên máy chủ của tôi).
Jason Viers

0

Một tìm kiếm thị trường đã tiết lộ aFileSync tuyên bố đồng bộ hóa các tệp qua FTP và cũng có hỗ trợ tự động đồng bộ hóa các tệp. Bạn sẽ cần phải tự mình chạy một máy chủ FTP.

Ngoài ra còn có SK Sync , nhưng người dùng đã báo cáo kết quả lẫn lộn với nó.

Rõ ràng, trước khi bạn thử bất kỳ chương trình / ứng dụng nào trong số này, vui lòng sao lưu các tệp của bạn cả trên PC / máy chủ cũng như thiết bị Android của bạn.


aFileSync có vẻ như nó có tất cả các hành vi mà tôi muốn. Các đánh giá hơi đáng sợ và tôi sẽ phải thiết lập một máy chủ FTP để xem nó hoạt động như thế nào.
Jason Viers

-1

Để đồng bộ hóa các tệp từ Android là phiên bản mới của ứng dụng BotSyncPlus của tôi . Khi bạn viết về BotSync, chỉ có một cấu hình để tải lên hoặc tải xuống. Nhưng giờ đây đã có phiên bản mới BotSyncPlus, nơi có nhiều cấu hình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.