Skip to main content

A Python CLI to quickly check your Wi-Fi network password.

Project description

vvifi

security: bandit Code style: black

A Python CLI to quickly check your Wi-Fi network password.

References

Quickstart

Usage: vvifi [OPTIONS]

  A Python CLI to quickly check your Wi-Fi network password. By default, the
  network you are connected to is considered.

Options:
  --networks          Show the names (SSIDs) of saved Wi-Fi networks and exit.
  -n, --network NAME  The name (SSID) of a Wi-Fi network you have previously
                      connected to.

  --version           Show the version and exit.
  --help              Show this message and exit.

Development

  • poetry install
  • poetry shell

Tech Stack

Packaging and Development

This CLI was created with Cookiecutter and the joaopalmeiro/cookiecutter-templates/python-cli project template.

Notes

  • python.pythonPath (settings.json file) is deprecated. More info here, here, and here. Alternative (source): "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python".
  • subprocess module (Python 3.6).
  • sys.platform values.
  • security find-generic-password -h.
  • /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -h (more info here).
  • Regular expression used by textwrap.dedent().
  • Classifiers:
    • "Operating System :: MacOS" + "Operating System :: MacOS :: MacOS X" (macOS).
    • Mac OS 9 was succeeded by Mac OS X.
    • In the future, replace with "Operating System :: OS Independent".
  • Click:
  • PyInquirer and inquirer packages.
  • Find the interface for the Wi-Fi network (source): networksetup -listallhardwareports.
  • List preferred Wi-Fi networks (source): networksetup -listpreferredwirelessnetworks en0 (or networksetup -listpreferredwirelessnetworks en1). The wireless networks the computer has connected to are listed here.
  • click-help-colors package.
  • Datadog's mkdocs-click extension.

python-string-utils implementation to remove indentation from multiline strings

import re
from typing import Pattern

# The second `^` is to match a character not present in the list.
MARGIN_RE: Pattern[str] = re.compile(r"^[^\S\r\n]+")


def strip_margin(input_string: str) -> str:
    # ...
    line_separator = "\n"
    lines = [MARGIN_RE.sub("", line) for line in input_string.split(line_separator)]
    out = line_separator.join(lines)

    return out

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vvifi-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

vvifi-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file vvifi-0.1.0.tar.gz.

File metadata

  • Download URL: vvifi-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.14 Linux/5.8.0-1036-azure

File hashes

Hashes for vvifi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9806255a58f19a6362cfc6921a5f9b7e7c85e8ac586b53d21a141bcadc26bef6
MD5 5097502438a0017275da421b0baffdb9
BLAKE2b-256 d2d7afcd916be64a5fd9f88183ead31476bfffe5e0c7ca7c99ff40f69f1f2f44

See more details on using hashes here.

File details

Details for the file vvifi-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vvifi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.14 Linux/5.8.0-1036-azure

File hashes

Hashes for vvifi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f43284068523e56fe79916e94fc43c1a160362efdd3d44bd5033cce3ab24edd4
MD5 d42c8143c90f15307ede5ec6143439aa
BLAKE2b-256 7fc11fc810fc04839138f92b33e16c562ed295624054c80431ade5a6323e422a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page