Command Line Configuration Utility for Molto2 - molto2-config.exe
This Windows command line utility allows you to configure and manage the Molto2 device, which is created using py2exe, a utility that packages your Python script molto2.py and its dependencies into a standalone Windows executable. This utility empowers you to customize your Molto2 setup to suit your specific needs. Do not forget that there is also a Windows app (with a GUI) available.
Using the Configuration Utility
Explore the command line options available for the Molto2 Configuration Utility:
usage: molto2-config.exe [-h] [--key KEY] [--keyascii KEYASCII] [--profile PROFILE] [--title TITLE] [--seed SEED] [--seedbase32 SEEDBASE32] [--setkey SETKEY] [--setkeyascii SETKEYASCII] [--config] [--display_timeout DISPLAY_TIMEOUT] [--algorithm ALGORITHM] [--timestep TIMESTEP] [--factoryreset] optional arguments: -h, --help show this help message and exit --key KEY Customer key in hex format. Default will be used if not supplied. --keyascii KEYASCII Customer key in ascii format. Default will be used if not supplied. --profile PROFILE Profile number, from 0 to 49 (Molto2) or from 0 to 99 (Molto2 v2) --title TITLE Profile title, 12 chars max --seed SEED Seed to write, in hex format --seedbase32 SEEDBASE32 Seed to write, in base32 format --setkey SETKEY Set the new customer key, providing the key in hex. Please note that setting a new key requires confirmation on the device (physical button press) --setkeyascii SETKEYASCII Set the new customer key, providing the key in ASCII. Please note that setting a new key requires confirmation on the device (physical button press) --config If the config parameter is set, the config parameters become required. --display_timeout DISPLAY_TIMEOUT Mandatory if --config is set as 1. Possible values: 0=15s, 1=30s, 2=60s, 3=120s --algorithm ALGORITHM Mandatory if --config is set as 1. Possible values: 1=SHA1 HMAC or 2=SHA256 HMAC hashing algorithm --timestep TIMESTEP Mandatory if --config is set as 1. Possible values: 1=30 seconds or 2=60 seconds --factoryreset Resets the device to factory settings and clears all data. Please note that this action requires confirmation on the device (physical button press) --synctime Will update time on the given profile. Should be used together with --profile parameter --synctimeall Will update time on all profiles. --lock Lock device screen (only for v2.1 and higher) --unlock Unlock device screen (only for v2.1 and higher)The following example sets a new hex seed (`--seed DEADBEEFDEADBEEF`) and a configuration (`--config`) of TOTP step of 30 seconds (`--timestep 1`), the HMAC algorithm of SHA1 (`--algorithm 1`), title of 'Google' (`--title Google`) and a display sleep timeout of 30 seconds (`--display_timeout 2`) for profile №2 (`--profile 2`):
molto2-config.exe --config --profile 2 --seed DEADBEEFDEADBEEF --timestep 1 --algorithm 1 --display_timeout 2
Download the Configuration Utility
Get started by downloading the Molto2 Configuration Utility:
If you want to explore the source code behind Molto2, please refer to the Python script molto2.py.
Q: How can I remove a seed?
There is no API for removing a seed, but you can simply overwrite with an empty one (32 x "0" characters in hex):
./molto2-config.exe --profile 2 --seed 00000000000000000000000000000000 will overwrite the seed of profile #2 with an empty string. The device will show the profile #2 as "No Seed".
Q: Do I have to sync the time clock of each TOTP profile separately, or do they use the same hardware clock?
A: Each profile has its own independent clock, allowing you to set and adjust time settings individually for each one. For example, while most TOTP implementations use UTC timezone, there may be cases when a particular service has implemented a different time zone. For this reason, you can set the time of that particular profile differently from the rest.
However, if you want to synchronize the clocks for all TOTP profiles simultaneously, you can conveniently use the
--synctimeall parameter. This parameter ensures that the time synchronization process is applied to all profiles at once, simplifying the management of time settings across your TOTP profiles.
Subscribe to our mailing list
Want to keep up-to-date with the latest Token2 news, projects and events? Join our mailing list!