Skip to content
/ UPM Public

UPM, a great Password Manager for making your life easy.

License

Notifications You must be signed in to change notification settings

Abled-Taha/UPM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

UPM

A New & Modern Password Manager for day to day Life!
· Report Bug · Request Feature


About The Project

There are many great Password Managers available out-there having more features than this application and I even recommend using those ones as your main Password Manager, however, I just started this project as a hobby and I am working on it so, if you want to try it, you are more than welcome to. This Project started as a Random Password Generator, It then evolved into a Password Manager but it still was made poorly & was not made for managing passwords but just for randomly generating new passwords. I then, started the next generation of this project, carefully choosing the features I want in it, what will be it's limitaions & carefully choosing the technologies it will use. It came to be known as UPM, The Ultimate Password Manager.

Features

  • Managing Passwords in separate Accounts
  • Password Generation
  • Encrypting Passwords before storing
  • One Master Password for each Account to protect all Passwords stored in that Account
  • No Data Collected
  • Free
  • Open-Source
  • Community Driven
  • No Second-Party Servers, only You run Your Server
  • Stores Passwords in cache, as well
  • Supporting Multiple Platforms (Windows, Linux, Android)
  • Customizable

Built With

Usage

I am not responsible for any kind of use of this software, it was made for generally ethical use and anyone who uses this software for any malicious purpose is responsible for himself/herself.

Roadmap

[X] Add Releases for Linux. [] Add Main Functionality of Storing Password. [] Add Password Generation Functionality. [] Add Encryption while Trasfering Data over Internet.

See the open issues for a list of proposed features (and known issues).

Getting Started

This project is supported to Windows, Linux & Android, & I have releases for all of them but if for any case you want to build it yourself, you can but the instructions of it are not updated as of now.

Setting Up Server

Requirements

  • Python 3

For Windows & Linux (Debian / Arch)

  1. Download & Install MongoDB.
  2. Download & Install MongoShell.
  3. Download the latest Server zip from Releases.
  4. Extract the zip, a folder named upm_server should be seen.
  5. Edit the dbPath & path variables in upm_server/assets/mongod.cfg to where you want to store the database and logs, respectively.
  6. Optionally, you can also change the port & bindIp variables but would have to change them in client and server config as well (Not Recommended).
  7. Start the database with this config file mongod -f upm_server/assets/mongod.cfg.
  8. Run mongosh.exe located in MongoShell/bin.
  9. Here, you might need to authenticate & log in with the root user.
  10. Create a database use upmdata.
  11. Create a user db.createUser({user: "upm",pwd:passwordPrompt(),passwordroles:[{role:"readWrite",db:"upmdata"}]}).
  12. Type Password for the user and hit Enter.
  13. Set the passwordDatabase variable in upm_server/config.json to the password you just have set.
  14. All Done.

Setting Up Client

For Windows, Android & Linux (Debian / Arch)

  1. Download one of the release according to your system.
  • If on Anrdoid, install the APK file.
  • If on Linux, extract the zip file and put the directory where you want the program to be & it can run directly.
  • If on Windows, run the installer and install like any normal program. For Windows And Linux the config file of the program will be stored in Documents, atleast for now. If deleted you have to configure you client settings once again.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Abled Taha - @AbledTaha - abledtaha@gmail.com Project Link: Project