Allow typos in your laptop password.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
3rdparty
docs
install
src
test
.build.sh
.gitignore
.travis.yml
CMakeLists.txt
LICENSE
README.html
README.md
_config.yml
docker-compose.yml
todo.md
typtopconfig.h.in

README.md

TypTop-CPP

Build Status

An effort to port typtop to C++.

Dependencies

For compiling the project from source, you need following libraries.

  • cmake >= 3.6
  • Depends on Google protobuf
  • pam-dev
  • cURL (in debian install libcurl4-openssl-dev)
  • Includes cryptopp, zxcvbn and plog (inside)

Install

For Debian, Fedora, and Mac OSX I have a prebuilt packages. Check out the releases.

Mac OSX users just download .pkg file and double click to install it. (Requires account password.)

For Debian based operating systems, download the .deb package and run the following command to install the package.

$ sudo dpkg -i <typtop-file-name>.deb

Or, you can double click on the downloaded .deb file.

For Fedora (and probably CentOS), download the .rpm package and run the following command

$ sudo rpm -ivh --replacefiles <typtop-file-name>.rpm

Compile/Build

$ mkdir build && cd build && cmake ..
$ make  # If this fails, try running cmake again
$ ./test/tests -d yes --rng-seed 254    # To run the tests or "make tests" will work too. 

You can package, or just install directly by running, sudo make install. If you install using make install, don't forget to run, sudo ./script/postinst.

# Installation steps 
$ cd build
$ sudo ./scripts/preinst
$ make install 
$ sudo ./scripts/postinst

There is a useful binary typtop installed in your /usr/local/bin. Try $ typtop and it will show you the options. You can check existing logs, stored typos and other info using this binary. You can also modify some of the config with this binary.

$ typtop
Typtop (1.1)

Usage: typtop [func] [options]
func can be any one of --status, --upload, --mytypos, [and --check]
 --status <username>  # Shows some status info of the binary and typo-correction
 --upload <username>  # Uploads the log to the server. Shouold not need to call it manually
 --mytypos <username> # Show your frequent typos that are cached in the cache
 --mylogs <username>  # Shows the logs (that are not yet uploaded to the server)

 --participate <username> [yes]|no  # Set whether or not you want to participate in the research study. 
                                    # Default: yes
 --allowtypo <username> [yes]|no  # Should typtop all login with typos. Default: yes
 --change-typopolicy <username>   # Change the typo-policy. The command will prompt for user options. 

 --uninstall  # Disengage typtop from the authentications. 
 --install # Install typtop 
ex:
typtop --status $USER

TODO: See Todo

Some useful resources