Coder Social home page Coder Social logo

mitchcapper / keepasssync Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 0.0 548 KB

KeePassSync is a KeePass plugin that synchronizes your database using various online storage providers. This allows two or more computers to easily keep their data in sync.

License: GNU General Public License v2.0

C# 100.00%
keepass keepass-plugin

keepasssync's Introduction

What is KeePassSync?

KeePassSync is a KeePass plugin that synchronizes your database using an online storage provider of your choice, any Rclone/Rsync compat storage, or FTP/SFTP. This allows two or more computers to easily keep their data in sync. It was originally created in 2008 by Shawn Casey, [email protected] and is currently maintained in this GitHub repository. If you are looking for a provider recommendation consider CloudFlare R2. It is free for KeePass databases up to 10GB.

This plugin will NOT work with KeePass v1.x. Thanks to https://github.com/walterpg/plgx-build-tasks for modernizing the PLGX build process.

Requirements

  • KeePass 2.09 or higher

Changes

See Change Log for details

How to install

To install a plugin, follow these steps:

  1. Download the plgx of the plugin from the releases page at: https://github.com/mitchcapper/KeePassSync/releases
  2. Copy the plgx file to the KeePass Plugins folder
  3. Restart KeePass in order to load the new plugin.

Note: If you have a very-old version of KeePassSync please delete the KeePassSync*.dll from the plugin folder.

To "uninstall" a plugin, delete the the PLGX.

How to use

From the KeePass main menu, select Tools->KeePassSync->Show Options...

You then select your online provider you wish to use. If you don't have an online provider account, you can create an account for the provider by clicking on the link beneath the selection box. Your online account information is securely stored as a KeePass entry. To create the entry, click the "Create Keepass Entry" button. It's important that you not rename this entry after it's created. You can move it around, but keep the same name. The username/password in this entry will be used to connect to the selected online provider.

Once you do that, you can immediately sync with your online provider which will transmit changes from your database and apply them to the server version. How the synchronization is resolved is configurable in the "General" tab of the KeePassSync options. I use "Synchronize". If this is the first time your database is synchronized, your database will be uploaded to the online provider.

Once you go to another computer, you will want to open the database from the online provider. You don't have to create an entry, but you will have to select from the options which provider you want to use. After that, select "Tools->KeePassSync->Open", select which provider you want to use. Input your account details for your online provider, click ok, and a list of previously synchronized databases will appear. Select which database you wish to open locally and declare a storage location for it. From then on, you may open the local database normally and synchronize whenever you want.

For each services specific configuration guide please see that section below.

Services

KeePassSync supports the following services natively (although other users can add other services):

  • FTP/SFTP (through plink/psftp from PUTTY)

  • Amazon S3 or S3 Compatible services, this includes:

    • Cloudflare R2 - free forever basically, 10GB a month which is way more than any keepass DB
    • Rclone Serve S3 - Free open source software to use as an interface to anything RClone can interface with
    • Backblaze B2 - Very cheap
    • Alibaba Cloud
    • DigitalOcean
    • Dreamhost
    • Synology C2
    • Linode Object Storage
    • IDrive E2
    • Huawei OBS
    • IBM COS S3
    • Google GCS
    • Any of the many other compat providers, for several more see https://rclone.org/s3/

How to compile

This solution is compiled using Visual Studio 2022.

For more information: http://keepass.info/help/v2_dev/plg_index.html

Service Specific Notes

Amazon S3 (and other compatible providers)

Please see the dedicated Amazon S3 instructions.

SFTP/FTP

The FTP provider uses SCP to transfer the files, you will have to manually establish a relationship with your FTP server. Have no fear, it's easy to do. Simply go to the directory you installed KeePassSync and type this:

plink -pw (PASSWORD) (USERNAME)@(HOST) "ls"

...of course substituting PASSWORD, USERNAME, and HOST with appropriate values.

Help!?!

Create an issue on the github issues section

keepasssync's People

Contributors

mitchcapper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

keepasssync's Issues

KeePassSync Flags?

Hey there.

can we inform the user in which country a certain company or technological solution is located, and what regulations it has? or even which country is bad for privacy because it has no regulations at all? and how many countries have similar regulations?

I.e, notify the user before synchronizing data about the security, privacy and service policy? (would you accept a new pull request for this?)

regards,

Unable to sync database on SFTP

Hello,

Looks like there is a missconfig or a bug somewhere. I created an entry for my sftp server and I get the message Database not online. Unable to sync the databases. Although I'm in debug mode, can't read anything from the prompts, they close immediately. No idea where the logfiles are.

Can you provide some info pls?
Thanks!
Bogdan

Choose database is empty and can't retrieve KeePassSync options

On Keepass 2.56 (Windows, 64-bit) with KeePassSync 8.0:

The Choose database window that pops up after entering your S3 details stays empty. It does show a database after I manually upload it to the relevant S3 bucket myself, which is not a part of the documentation

After I manually add it I can select it and open it, but I can't sync it and keep getting the following message:

image

It doesn't matter if I select Overwrite if Newer or Synchronize or any other merge option, the result stays the same and the sync button is also grayed out:

image

What am I missing?

"PLINK/PSFTP" path is not relative to KeePass root

The path is not relative to Keepass root folder, but the folder where plugin is compiled/cached.

Maybe it would simple be beneficial to resolve placeholders and field references (e.g. {APPDIR}) when reading field values.

KeePassSync - no relative paths

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.