ron-from-nl / TinyPass

PHP Password Manager with 100% Custom Fields and SQLite Database
Other
0 stars 0 forks source link

TinyPass

New on GitHub since: 1st of May 2024

PHP Password Manager with 100% Custom Fields and a built-in SQLite Database (author: Ron de Jong)

Why

TinyPass Secrets have unlimited Custom Fields, supports mobiles and has many other fun features. Traditional Password Managers work with Fixed Fields that often causes unused and missing fields.

Installing TinyPass is also easy, no database server required or manual paths / URLs to specify. TinyPass simply stores a single database file "tinypass.db" making backups & restores also easy.

Functions

Read More

Click to expand ## Description ### Secrets New Secrets start with just a Name and an optional Group. Then add, change or remove just the Fields you need and rearrange their order as you wish. ### Fields Field Types: URL - Link that also opens a browser
Mail - Email address (can be a Login)
Pass - Password Field (encrypted)
Text - General purpose text field
Note - Multi-line resizable textarea
### Groups Optionally, Secrets can be members of a "Group" selected from a list. The group selection field is editable and non-existent groups are automatically added to the user's groups, making group management easy.
### Search Search within Secrets and Fields, optionally filtered by Group, so you can find your Secrets in an instant (SQL wildcards "_" and "%" are supported).
### Sort You can sort all columns in "Show Secrets", "Show Groups" and "Show Users" in ascending and descending order. Sorting the first "Id" column can be handy when you need to remove the last CSV import.
### Select You can select multiple records in "Show Secrets", "Show Groups" and "Show Users" for deletion or CSV export.
### Users By default there are two users named **User: "admin"** (role: "Admin") and **User: "tiny"** (role: "User"). Admins can also add, change, or delete users. When an Admin deletes a user then all user-related Secrets and Groups are deleted. Admins cannot read other user Secrets and cannot delete users: "admin", "tiny". When a user performs a Password Change, then all Password Fields are re-encrypted. TinyPass also has a Shell interface that enables automated Password Changes.
### Import / Export TinyPass supports CSV Import / Export (with automatic format recognition) and is compatible with more than 10 different password manager formats, including various browsers and other well-known formats. The group filter is also useful here, allowing you to export only Secrets being a member of a certain Group for instance when using Groups as names of people for whom you keep Secrets.
### Security Password fields are AES-256-CTR encrypted in the database with a SHA512 hash key of your user password (not written anywhere), so remember your password!
### Other TinyPass is designed with performance in mind and also supports mobile screens.

User Licence

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 (CC BY-NC-ND 4.0 LEGAL CODE)

Screenshots

Desktop Screenshots

Login Show Secrets
Login Show Secrets
View Secret Edit Secret
View Secret Edit Secret

Mobile Screenshots

Login Show Secrets Show Secrets Menu
Login Show Secrets View Secret
View Secret Edit Secret
Edit Secret Edit Secret

Demo Video

Watch the video

Requirements

Installation

sudo -u www-data mkdir -v "/var/www/html/tinypass";

or create dir automatically to a subdir of your real DocumentRoot as the user running Apache2

sudo -u "$(apachectl -S | grep "User" | awk -F"\"" '{ print $2 }')" mkdir -v "$(sudo apachectl -S | grep "DocumentRoot" | awk -F"\"" '{ print $2 }')tinypass";

sudo -u www-data git clone https://github.com/ron-from-nl/TinyPass.git "/var/www/html/tinypass";

or copy automatically to a subdir of your real DocumentRoot as the user running Apache2

sudo -u "$(apachectl -S | grep "User" | awk -F"\"" '{ print $2 }')" git clone https://github.com/ron-from-nl/TinyPass.git "$(sudo apachectl -S | grep "DocumentRoot" | awk -F"\"" '{ print $2 }')tinypass";

sudo nano /etc/apache2/sites-available/000-default.conf

Add the following example section (edit alias and directory)

RewriteRule ^/tinypass$ /tinypass/ [R,L]
Alias /tinypass/ /var/www/html/tinypass/

<Directory /var/www/html/tinypass>
    Options MultiViews SymLinksIfOwnerMatch

    <Files tinypass.db>
        Require all denied
    </Files>

    AllowOverride All
    Require all granted
</Directory>

sudo apachectl configtest;
sudo systemctl reload apache2;
sudo systemctl status apache2;