Skip to content

ron-from-nl/TinyPass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Groups
  • Multi User
  • Simple Usage
  • Search Engine
  • Custom Fields
  • Reorder Fields
  • Clean Interface
  • CSV Import/Export
  • Built-in SQLite DB
  • Password Encryption

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

  • Web Server (Apache2)

  • PHP 7.4 or newer,

  • PHP extensions:

    • standard
    • tokenizer
    • Core
    • date
    • openssl
    • hash
    • pcre
    • mbstring

Installation

  • Create a directory to copy TinyPass (e.g. "/var/www/html/tinypass")
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";

  • Copy TinyPass to your new directory (e.g. "/var/www/html/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";

  • Configure your webserver (Apache2 example)
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>

  • Test Config
sudo apachectl configtest;
  • Reload Config
sudo systemctl reload apache2;
  • Test Status
sudo systemctl status apache2;

About

PHP Password Manager with 100% Custom Fields and SQLite Database

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published