All Projects → buttercup → Buttercup Mobile

buttercup / Buttercup Mobile

Licence: gpl-3.0
📱 React-Native mobile application for Buttercup

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Buttercup Mobile

Buttercup Core
🎩 The mighty NodeJS password vault
Stars: ✭ 340 (+14.48%)
Mutual labels:  hacktoberfest, password-manager, password-store, password-vault
Buttercup Browser Extension
🌏 Buttercup browser extension
Stars: ✭ 164 (-44.78%)
Mutual labels:  hacktoberfest, password-manager, password-store, password-vault
Android
📱 Nextcloud Android app
Stars: ✭ 2,669 (+798.65%)
Mutual labels:  mobile-app, hacktoberfest, mobile
Nitrokey App
Nitrokey's Application (Win, Linux, Mac)
Stars: ✭ 210 (-29.29%)
Mutual labels:  password-manager, password-store, password-vault
password-keeper
A simple and secure Password Management System made completely in Python.
Stars: ✭ 26 (-91.25%)
Mutual labels:  password-manager, password-vault, password-store
Strongbox
A KeePass/Password Safe Client for iOS and OS X
Stars: ✭ 586 (+97.31%)
Mutual labels:  password-manager, password-store, password-vault
Masterpassword
Project moved to https://gitlab.com/spectre.app
Stars: ✭ 1,122 (+277.78%)
Mutual labels:  password-manager, password-store, password-vault
Rooster
The simple password manager for geeks, built with Rust.
Stars: ✭ 106 (-64.31%)
Mutual labels:  password-manager, password-store, password-vault
Authpass
AuthPass - Password Manager based on Flutter for all platforms. Keepass 2.x (kdbx 3.x) compatible.
Stars: ✭ 591 (+98.99%)
Mutual labels:  hacktoberfest, password-manager, password-store
Android Password Store
Android application compatible with ZX2C4's Pass command line application
Stars: ✭ 1,912 (+543.77%)
Mutual labels:  hacktoberfest, password-manager, password-store
gpgpwd
Moved to GitLab
Stars: ✭ 22 (-92.59%)
Mutual labels:  password-manager, password-vault, password-store
Amplitude Ios
Native iOS/tvOS/macOS SDK
Stars: ✭ 216 (-27.27%)
Mutual labels:  mobile-app, hacktoberfest, mobile
Gokey
A simple vaultless password manager in Go
Stars: ✭ 305 (+2.69%)
Mutual labels:  password-manager, password-store, password-vault
keevault
Kee Vault is a password manager for your web browser. Password databases (Vaults) are encrypted using the KeePass storage format before being sent to a remote server for synchronisation across any modern device/browser
Stars: ✭ 57 (-80.81%)
Mutual labels:  password-manager, password-vault, password-store
Buttercup Desktop
Buttercup is a free, open-source and cross-platform password manager, built on NodeJS with Typescript. It uses strong industry-standard encryption to protect your passwords and credentials (among other data you store in Buttercup vaults) at rest, within vault files (.bcup). Vaults can be loaded from and saved to a number of sources, such as the local filesystem, Dropbox, Google Drive or any WebDAV-enabled service (like ownCloud or Nextcloud ¹).
Stars: ✭ 3,714 (+1150.51%)
Mutual labels:  hacktoberfest, password-manager, password-vault
Flutter Mvvm Provider Demo
Stars: ✭ 89 (-70.03%)
Mutual labels:  mobile-app, hacktoberfest, mobile
Pash
🔒 A simple password manager using GPG written in POSIX sh.
Stars: ✭ 254 (-14.48%)
Mutual labels:  password-manager, password-store, password-vault
Harpy
A Twitter app built with Flutter
Stars: ✭ 211 (-28.96%)
Mutual labels:  mobile-app, mobile
React Native Dynamic Search Bar
Medium Article: https://freakycoder.com/react-native-library-dynamic-search-bar-c03fea9fae36
Stars: ✭ 225 (-24.24%)
Mutual labels:  mobile-app, mobile
Fultter Example App
一个功能完整齐全的Bloc模式Flutter App项目。🍨更关注架构的SPA应用。,使用Node作为后台系统,使用了部分官方plugin,大体功能自己封装。🥰 有用请Star。
Stars: ✭ 248 (-16.5%)
Mutual labels:  mobile-app, mobile

Buttercup Mobile

The mobile application for the Buttercup Credentials Manager.

Buttercup Build Status Backers on Open Collective Sponsors on Open Collective Chat securely on Keybase

Get it from iTunes Get it on Google Play

Main screen Groups screen

About

This repository holds the source for the Buttercup mobile application, which is available for the following platforms:

  • iOS 10+
  • Android 8.0+

The mobile application allows for full integration with Buttercup archives stored on a variety of platforms. Like the other applications, this mobile application makes use of AES 256bit encryption with over 200k PBKDF2 password derivation iterations.

The Buttercup for Mobile application boasts the following features:

  • On-device encryption and decryption
  • Auto-hide screen when app is sent to background (like banking apps)
  • Auto-lock vaults after a certain period of inactivity
  • Add/Edit/Delete entries
  • Unlock vaults even when offline (read-only)
  • Autofilling of login forms in Safari (iOS only)

You can read about the changes and releases of the application in the changelog.

Introduction

This project uses React Native to build native iOS and Android applications from a React/JavaScript codebase. The majority of the codebase is JavaScript which utilises the following platforms:

  • ReactJS
  • Redux
  • React Native Router Flux

As Buttercup makes use of strong cryptography, certain encryption/decryption tasks are performed using pure native code (Objective-C/Java). Only the bare minimum required for increased performance is handled on the native side, with the rest being solely JavaScript.

Installation

Ensure that you're using NodeJS 8 or newer on OSX. Android projects can be built and tested on Linux and Windows, but these platforms are not officially supported.

Before getting started, ensure you follow the official React Native Getting Started guide for your desired platform (iOS/Android). It is also recommended to have the react-native-cli installed:

npm install -g react-native-cli

Run the following to initialise the project:

npm install

Once all dependencies are installed and your target development environments are setup (Xcode for iOS and Android Studio for Android), it should be possible to begin development with virtual devices.

Important note about Node.js support: Development for this project should be performed on Node version 8. Although it may work on versions 6 and newer, we will not be supporting issues raised for these versions. Similarly, we do not currently support NodeJS version 9.

iOS development

Providing Xcode is setup correctly, running the following will launch the application in an iPhone emulator:

npm run start:ios

Android development

Ensure that Android Studio is setup correctly and that an AVD has been created. The virtual device must be on API level 23 or greater running Android 6.0 or newer. You must have the AVD started before continuing with no other devices connected. To ensure you only have one device running, execute the following on the command-line:

adb devices

To run the application in the virtual device, run the following:

npm run start:android

Running on an Android device

To run on an actual device, first terminate any AVDs that are running. Connect the phone over USB and run adb devices to ensure that it shows up. You can then run npm run start:android to launch the application on the device.

The same software version restrictions apply to real devices.

Building an APK

To build a signed APK:

  1. Close all other development resources for the project.
  2. Run npm run build:android to first build the project.
  3. In Android Studio, choose Build > Generate Signed APK.
  4. Build a release APK by following the instructions in the GUI.

Publishing error: duplicate resources

If you encounter a publishing error when generating a signed APK, follow these instructions.

Crypto Library Development

Buttercup Mobile's crypto functionality is written in Rust and lives under ./crypto directory. The binaries are already built and placed inside the relevant directories and you don't usually need to change those. However, if you want to work on the Rust library, the following are required:

  1. Install Rust & Cargo using rustup toolchain
  2. Install cargo lipo to build iOS binaries
  3. Add iOS and Android targets to your rustup toolchain:
# iOS
rustup target add aarch64-apple-ios
rustup target add armv7-apple-ios
rustup target add i386-apple-ios
rustup target add x86_64-apple-ios

# Android
rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add i686-linux-android
  1. Get Android NDK. We recommend installing it via Android Studio or sdkmanager:
sdkmanager --verbose ndk-bundle
  1. Create the standalone NDKs.
cd crypto && ./create-ndk-standalone.sh
  1. Finally build the binaries:
./build.sh

Contributing

We love contributions - anything from new features and bug fixes to suggestions and questions. Please follow our contribution guide.

Development

Please keep in-line with the code style of each file, regardless of what tests are run (linting etc.). When creating new files their format is expected to closely resemble that of other existing source files.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].