Skip to content

Initial Release

Choose a tag to compare

@iykex iykex released this 13 Sep 23:23
· 23 commits to main since this release
36affc1

Changelog

[1.0.0] - 2025-09-13

Added

  • Initial Script Creation (provision_user.sh):

    • Created the initial provision_user.sh script to automate user provisioning.
    • Implemented core logic for creating a system user with a predefined password, expiration, and connection limit.
    • Added safety checks for required binaries (ws-epro, updeproprt.py).
    • Included automatic backup of /etc/ssh/sshd_config.
  • Service Management:

    • Integrated logic to automatically install and configure ws-epro, stunnel4, and udpgw services if they are not already present.
    • For udpgw, the script automatically updates the service to use high-performance settings (--max-clients 100000, --max-connections-for-client 100000).
    • Added a function to restart all relevant services (sshd, ws-epro, stunnel4) after provisioning.
  • User Creation Automation:

    • Automated the user creation process based on the logic from the existing funcs/create_user script.
    • Hardcoded user parameters: 60-day expiration and 99999 connection limit.
    • Ensured the /root/accounts.db file is updated in the correct username:password limit format.
  • Enhanced User Interface:

    • Implemented an interactive select menu for choosing a saver name, improving usability and preventing typos.
    • Added a startup menu to choose between "Local Execution" and "Remote Execution".
    • Introduced a modern color scheme to improve readability and user experience.
    • Added a clear command at the start of the script for a clean interface.
  • Remote Execution:

    • Added functionality to provision users on remote servers via SSH.
    • The script prompts for the server's IP, root password, and SSH port.
    • Includes a check to ensure sshpass is installed on the local machine, and attempts to install it if it's missing.
    • The remote execution logic is a direct mirror of the local execution, ensuring consistent behavior.
  • Go Version (provisioner):

    • Created a complete Go version (provisioner.go) of the shell script, replicating all functionality in a compiled, self-contained binary.
    • The Go version includes the same interactive menus, color scheme, service setup logic, and remote execution capabilities.
    • Managed Go dependencies by creating a go.mod file.