Simple tool to manage users
Go to file
Ilya Sosnovsky 9e5553eff6 refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
.github/workflows bump go-release-action version 2022-05-23 16:33:16 +03:00
src refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
.dockerignore Initial commit 2021-02-05 09:37:12 +03:00
.gitignore Initial commit 2021-02-05 09:37:12 +03:00
Dockerfile small fixes 2021-02-19 09:45:26 +03:00
LICENSE Initial commit 2021-02-05 09:37:12 +03:00
README.md refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
auth.sh refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
auth_totp.sh refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
build.sh Initial commit 2021-02-05 09:37:12 +03:00
build_arm.sh fixes 2021-10-21 12:36:04 +03:00
go.mod refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
go.sum refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00
install-deps.sh binaries for arm 2021-10-21 09:56:29 +03:00
install-deps_arm.sh Update install-deps_arm.sh 2021-10-21 12:04:51 +03:00
openvpn-user.go refactoring. convert for go module; totp auth 2022-11-18 15:47:42 +03:00

README.md

openvpn-user

Disclaimer

- Not tested in production environments! 

Use it on your own risk =)

Description

A simple tool to use with openvpn when you need to use auth-user-pass-verify or wherever you want

Example

make sure openvpn-user binary available through PATH variable and you have auth.sh or auth_totp.sh script with +x rights available to openvpn server

i.e. put binary to /usr/local/sbin/ and auth script to /etc/openvpn/scripts/ dir

part of openvpn server config

script-security 2
auth-user-pass-verify /etc/openvpn/scripts/auth.sh via-file

Usage

usage: openvpn-user [<flags>] <command> [<args> ...]

Flags:
  --help                         Show context-sensitive help (also try --help-long and --help-man).
  --db.path="./openvpn-user.db"  path do openvpn-user db

Commands:
  help [<command>...]
    Show help.


  db-init
    Init db.


  db-migrate
    STUB: Migrate db.


  create --user=USER --password=PASSWORD
    Create user.

    --user=USER          Username.
    --password=PASSWORD  Password.

  delete --user=USER [<flags>]
    Delete user.

    -f, --force      delete from db.
    -u, --user=USER  Username.

  revoke --user=USER
    Revoke user.

    -u, --user=USER  Username.

  restore --user=USER
    Restore user.

    -u, --user=USER  Username.

  list [<flags>]
    List active users.

    -a, --all  Show all users include revoked and deleted.

  check --user=USER
    check user existent.

    -u, --user=USER  Username.

  auth --user=USER [<flags>]
    Auth user.

    -u, --user=USER          Username.
    -p, --password=PASSWORD  Password.
    -t, --totp=TOTP          TOTP code.

  change-password --user=USER --password=PASSWORD
    Change password

    -u, --user=USER          Username.
    -p, --password=PASSWORD  Password.

  update-secret --user=USER [<flags>]
    update OTP secret

    -u, --user=USER          Username.
    -s, --secret="generate"  Secret.

  register-app --user=USER --totp=TOTP
    register 2FA application

    -u, --user=USER  Username.
    -t, --totp=TOTP  TOTP.

  check-app --user=USER
    check 2FA application

    -u, --user=USER  Username.

  get-secret --user=USER
    get OTP secret

    -u, --user=USER  Username.