ซิงค์ไฟล์โดยพลการกับเซิร์ฟเวอร์


12

ฉันกำลังมองหาวิธีที่จะเก็บไฟล์ (keepass .kdb) ใน Droid2 ของฉันในการซิงค์กับหนึ่งบนเซิร์ฟเวอร์

  • นี่เป็นเพียงไฟล์ในระบบไฟล์ - ไม่ใช่รายชื่อติดต่อปฏิทิน ฯลฯ
  • ฉันต้องการแบบสองทิศทางไม่ใช่แค่ผลักหรือดึง หากการเปลี่ยนแปลงของเซิร์ฟเวอร์ดาวน์โหลดหากการเปลี่ยนแปลงของ Android อัปโหลด ใช่สิ่งนี้อาจส่งผลให้เกิดข้อขัดแย้งที่ต้องแก้ไข

ฉันใช้Unisonเพื่อทำสิ่งนี้ระหว่างพีซี แต่ไม่มีไคลเอ็นต์ Unison สำหรับ Android ฉันพบว่าโบกมือติดตั้ง OCaml บน Android และใช้ Unison กับสิ่งนั้น แต่ฉันหวังว่าจะมีบางอย่างที่เป็นของพื้นเมือง

Botsyncฟังดูดี แต่มันเป็นทิศทางเดียว - เมื่อทำการปรับแต่งคุณเลือกได้ว่าจะอัพโหลดหรือดาวน์โหลด

ฉันเคยเห็น sugarsync แต่เนื่องจากนี่เป็นไฟล์ KeePass ของฉันฉันต้องการเก็บไว้ในเซิร์ฟเวอร์ของฉันเอง


ฉันกำลังจะแนะนำ sugarsync ... แต่ฉันเข้าใจความกังวล
Daniel

ลองดูที่sparkleshare.org - ฉันเชื่อว่าโครงการใหม่ลูกค้า Android ในงานนี้
Sparx

คำตอบ:


3

คุณอาจต้องการพิจารณาตัวเลือกอื่นที่นี่ถ้าคุณต้องการใช้สำหรับฐานข้อมูลรหัสผ่าน KeePass สิ่งนี้จะไม่ได้ผลสำหรับเนื้อหาที่อ่อนไหวอื่น ๆ แต่เมื่อคุณถามเฉพาะสำหรับ KeePass นี่คือสิ่งที่ฉันทำ:

  • ป้องกันฐานข้อมูลด้วยรหัสผ่าน (ฉันถือว่าคุณมีอยู่แล้ว) และคีย์ สิ่งนี้จะให้การรับรองความถูกต้องแบบสองปัจจัย ("สิ่งที่คุณรู้" - รหัสผ่านของคุณและ "สิ่งที่คุณมี" - กุญแจของคุณ) ฐานข้อมูลรหัสผ่านสามารถปลดล็อคได้เมื่อทั้งสองชิ้นเข้าที่เท่านั้น
  • คัดลอกคีย์ไปยังที่จัดเก็บในตัวเครื่องของอุปกรณ์ทั้งหมดของคุณและตั้งชื่อที่ไม่เด่น ควรวางไว้ในไดเรกทอรีที่มีคนหนาแน่นซึ่งจะดูเหมือนไฟล์กำหนดค่าบางส่วนหรือไฟล์เสียงรบกวนแบบสุ่มที่สร้างโดยโปรแกรม
  • อัปโหลดฐานข้อมูลของคุณไปยังบริการจัดเก็บข้อมูลบุคคลที่สาม (ฉันใช้ Dropbox แต่ตัวเลือกอื่น ๆ ก็ใช้ได้เช่นกัน) มันจะไปโดยไม่บอกว่าบริการควรมีไคลเอนต์ Android หากคุณต้องการใช้งานบนอุปกรณ์ของคุณ

  • อย่าอัปโหลดรหัสของคุณที่นั่น - ใช้วิธีอื่นในการคัดลอกไปยังอุปกรณ์ที่คุณต้องการ โดยเฉพาะอย่างยิ่ง Dropbox จะเก็บสำเนาของไฟล์ที่คุณอัปโหลดจากนั้นลบอย่างน้อยหนึ่งสัปดาห์เพื่อจุดประสงค์ในการสำรองข้อมูล (ค่อนข้างสะดวกฉันต้องยอมรับ) แต่ถ้าคีย์ของคุณอยู่บนเซิร์ฟเวอร์แล้วมันไม่ปลอดภัยกว่ารหัสผ่านปกติ - การป้องกันฐานข้อมูล

  • กำหนดค่าไคลเอนต์ KeePass ของคุณไม่ให้จำตำแหน่งของคีย์ (การจดจำตำแหน่งของฐานข้อมูลนั้นใช้ได้)

ด้วยวิธีนี้คุณสามารถอัปโหลดฐานข้อมูลของคุณไปยังเว็บไซต์สุ่มและแม้ว่ารหัสผ่านของคุณจะถูกบุกรุกด้วยเหตุผลบางอย่าง (เช่นตัวบันทึกแป้นพิมพ์) คุณสามารถใช้ฐานข้อมูลจากอุปกรณ์ที่มีคีย์และตอนนี้ไฟล์ใดเป็นกุญแจ .

เพื่อความสะดวกคุณอาจต้องมีการรับรองความถูกต้องของคีย์เท่านั้นบนอุปกรณ์มือถือ (รหัสผ่านที่ปลอดภัยนั้นน่าเบื่อที่จะพิมพ์บนอุปกรณ์มือถือและแน่นอนว่าคุณไม่ต้องการใช้อะไรที่สั้นและง่ายที่นี่) แต่ฉันขอแนะนำให้ใช้สิ่งนี้เนื่องจากในกรณีนี้ความปลอดภัยต่ำกว่าฐานข้อมูลที่มีการป้องกันด้วยรหัสผ่าน - แทนที่จะใช้รหัสผ่านที่คุณมีในหัวคุณใช้ "รหัสผ่าน" (ไฟล์คีย์) ที่อยู่ในอุปกรณ์ของคุณ .

KeePass ไม่ได้ให้คำแนะนำใด ๆ ไม่ว่าจะต้องใช้รหัสผ่านหรือทั้งสองอย่าง - ซึ่งทำงานเพื่อประโยชน์ของคุณ


+1 สำหรับข้อมูลที่ดีฉันยอมรับว่ารหัสผ่าน & keyfile ควร "เพียงพอ" สำหรับไฟล์ keepass ฉันทิ้งคำถามที่ยังไม่ได้ตอบด้วยความหวังว่าจะมีคำตอบ "นี่คือโปรแกรมที่จะซิงค์" ในอนาคต ขอบคุณ!
Jason Viers

4

คุณอาจพบบางสิ่งที่คุณมีความสุขในตอนนี้ แต่ฉันได้รวบรวมไบนารีของความพร้อมเพรียงที่ทำงานบน Android - เป็นไปได้โดยใช้คำแนะนำแบบโบกมือที่คุณกำลังพูดถึง - ฉันใช้พวกเขาเพื่อคอมไพล์แหล่งลินุกซ์ภายใน Ubuntu 12.10 การใช้ 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ตามที่แสดง

และเท่าที่ฉันจำได้ว่ามันใช้ได้ทั้งหมด ขั้นตอนอื่นที่คอมไพล์ครั้งเดียวคือการเมานต์พาร์ติชันระบบ Android ของคุณเป็นแบบเขียนได้และคัดลอกพร้อมเพรียงไปยังโฟลเดอร์ / system ซึ่งส่วนที่เหลือทั้งหมดของคำสั่งเชลล์คือ

หวังว่าจะเป็นประโยชน์กับใครบางคน ... ฉันนอนไม่หลับเพราะรวบรวมมัน


2

ฉันทำสิ่งที่คุณขอด้วย FolderSync เป็นซอฟต์แวร์ที่ดีมากมีตัวเลือกและคุณสมบัติมากมาย ฉันใช้เป็นทางเลือกดรอปบ็อกซ์ส่วนตัวโดยใช้ SFTP ผ่าน SSH พร้อมคีย์ไฟล์สำหรับการตรวจสอบสิทธิ์ คุณยังสามารถตั้งค่าให้ตรวจจับการเปลี่ยนแปลงในแบบจำลองในเครื่องโดยอัตโนมัติและเรียกใช้การอัปโหลดทันที ในโทรศัพท์ของฉันฉันใช้มันเพื่ออัพโหลดรูปบนเซิร์ฟเวอร์ของฉันทันทีที่ฉันใช้มันและมันใช้งานได้สมบูรณ์แบบ


2

ฉันได้ติดตามรากรวบรวมข้ามตามที่ระบุไว้ในคำตอบของ ChC

ฉันได้เปิดตัวUnisonSyncที่ช่วยให้คุณพร้อมเพรียงโดยไม่ต้องเกี่ยวข้องกับบรรทัดคำสั่ง (และไม่มีการรูท) บน Google Play:

จากการพิสูจน์แนวคิดซึ่งทำงานอย่างรวดเร็วไปจนถึงแอปที่พร้อมใช้งานจริงมันใช้เวลามากกว่าที่คาดไว้ แต่ตอนนี้มันใช้งานได้และมีประโยชน์มากในการซิงค์ที่เก็บสิ่งพิมพ์และแผ่นข้อมูลของฉัน


1
ฉันอาจรวบรวมคำแนะนำเพื่อข้ามการรวบรวมในบางจุดในไม่ช้าและวางไบนารีพร้อมเพรียง / dropbear บางแห่งสำหรับผู้ที่ต้องการใช้บรรทัดคำสั่ง
ด่าน

1

ฉันใช้พร้อมเพรียงโดยติดตั้ง android ด้วย sshfs เป็นเซิร์ฟเวอร์ SSH ผมใช้SSHDroid

แต่ได้รับคำเตือนพร้อมเพรียงกับ sshfs ช้าจริงๆ แม้ว่าจะมีไฟล์เดียวก็ไม่ควรสำคัญ


0

ฉันไม่รู้เกี่ยวกับชนพื้นเมืองที่ทำสิ่งนี้ มีแอพซิงค์ไฟล์มากมาย แต่แอพทั้งหมดที่ฉันเคยเห็นมีทั้งทิศทางเดียวหรือพึ่งพาผู้ใช้เพื่อซิงค์ไฟล์จากโทรศัพท์ไปยังคลาวด์ด้วยตนเอง สิ่งที่คุณตั้งใจจะทำควรเป็นไปได้ด้วย Dropbox API แต่ฉันไม่รู้ว่าคุณเต็มใจที่จะสร้างแอปที่คุณกำหนดเองที่คอยเฝ้าดูไฟล์เฉพาะที่คุณต้องการซิงค์หรือไม่


ฉันถือว่าเส้นทางแอปที่กำหนดเอง แต่ถ้าฉันทำเช่นนั้นมันจะเป็นการเขียนลูกค้า Unison ดั้งเดิมแทนที่จะเป็นหนึ่งใน Dropbox (ดังนั้นมันจะอยู่บนเซิร์ฟเวอร์ของฉัน)
Jason Viers

0

การค้นหาตลาดเปิดเผยaFileSyncซึ่งอ้างว่าซิงค์ไฟล์ผ่าน FTP และยังรองรับการซิงค์ไฟล์อัตโนมัติ คุณจะต้องใช้งานเซิร์ฟเวอร์ FTP ด้วยตัวเอง

นอกจากนี้ยังมีSK Syncแต่ผู้ใช้รายงานผลลัพธ์ที่หลากหลายด้วย

ก่อนที่คุณจะลองใช้โปรแกรม / แอปใด ๆ เหล่านี้โปรดสำรองไฟล์ของคุณทั้งบนพีซี / เซิร์ฟเวอร์รวมถึงอุปกรณ์ Android ของคุณ


aFileSync ดูเหมือนว่าจะมีพฤติกรรมทั้งหมดที่ฉันต้องการ ความเห็นค่อนข้างน่ากลัวและฉันจะต้องตั้งค่าเซิร์ฟเวอร์ FTP เพื่อดูว่ามันจะเป็นอย่างไร
Jason Viers

-1

สำหรับไฟล์ที่ตรงกันจาก Android เป็นรุ่นใหม่ของแอปของฉันBotSyncPlus เมื่อคุณเขียนเกี่ยวกับ BotSync มีเพียงหนึ่งการกำหนดค่าสำหรับการอัปโหลดหรือดาวน์โหลด แต่ตอนนี้ BotSyncPlus รุ่นใหม่มีให้ใช้แล้วซึ่งมีการกำหนดค่าหลายแบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.