/BashUtils

Primary LanguagePython

Some custom daily tools

Random Password Generator

  • genpass: an easy-to-use free random password generator, never use forget password again.

  • Give it a name (e.g. server name), It will generate a new highly secure password and will save it on your system as an encrypted file so you will never forget your password again.

  • On first use it will generate a key file for you which you must keep safe (please don't save it alongside your passgen.enc), this key will be used for retrieving data from the encrypted file or saving a new password in it.

    • CAUTION: As an example, you can save genpass or the encrypted file on your phone/tablet/pc/USB and keep the 1-time generated key file on your laptop. Keep both safe or you will lose all your passwords

USAGE:

  • first time use:

    $ python3 genpass.py --init
    ----OR----
    # to specify encryption key path
    $ python3 genpass --init -i ./Documents/passgen.enc -k ./Desktop/secret.key
    ----OR----
    # initialize and generate password all together
    $ python3 genpass --init -n MyEmail

    The above command will generate an encrypted file in Documents with the name of passgen and an encryption key in Desktop named secret.key.

    -f (optional): Path and filename for encrypted file (default current directory/folder).

    -i (optional): Path and filename to save key (default current directory/folder).

    -n: _A name for a new password for easier retrieval or remember (names cannot have space use _)_

  • after that:

    # generate new password
    $ python3 genpass.py -n myEmail
    ---- OR ----
    $ python3 genpass.py -k ./secret.key -i ./Document/passgen.enc -n "myEmail" -l 20 -e
    ---- OR ----
    # List all names
    $ python3 genpass.py -a
    ---- OR ----
    # find for specific name
    $ python3 genpass.py -k ./secret.key -f "myEmail"
    ---- OR ----
    # generate password without saving
    $ python3 genpass.py -l 20

    -n: _A name for a new password for easier retrieval or remember (names cannot have space use _)_

    -k (optional): Path and filename to key, auto-created in the first use (default current directory/folder).

    -i (optional): Path and filename for encrypted file (default current directory/folder)
    -l (optional): length of a new random password $12$ or higher (default: $12$)

    -f (optional): Find the password for the provided name

    -e (optional): _if provided password may include +=-_,.|\/{}()[]<> characters._

    -a (optional): list all names used for saved passwords.

Test environment: OS Linux, Python 3.8.10

Recommendation: _make an alias in ~/.bashrc for easier use.

MusicGuitar Bestof collection crawler (Async Python)

  • musiccrawler: an easy-to-use music crawler written in Python with asyncio

Can be used as a tutorial for asyncio, aiohttp, aiofiles

  • after crawling the project open musiccrawler directory and update urls.txt with the URL to the best collection of your favorite singer split by a new line.

  • only support URLs from musicguitars.ir

  • to run the script you can use

    $ python main.py 128

    $128$ is the music file quality (by default set to $320$)

Test environment: OS Linux, Python 3.10.12