Beacon API toolkit

Interact with apnscp's API from anywhere. Beacon supports pipelining data as JSON for fast workflow.

Beacon

Beacon. A radical scripting tool for apnscp

Beacon is the perfect companion to apnscp. It's our command-line utility that effortlessly interacts with the entire library of apnscp commands – all 2,000 of them!

Geek Out

Be a Super Geek

Script powerful macros with a little help from your panel. If apnscp can do it, so can you.

Flexible Pipelining

Flexible Pipelining

Beacon pipes its output as human-readable, JSON, and native bash data types.

Access Anywhere

Access Anywhere

Beacon can be run anywhere, including your desktop.

Hall of Fame Snippets

Impress your boss, your friends, your mother, or even yourself with these impressive feats of keyboard kungfu.

Quickly take control of all files in the current directory bypassing discretionary access controls.

beacon eval file_chown `realpath .` `whoami` 1

Randomly generate a new password for the specified user.

newpasswd username

function newpasswd { user=$1 password=`tr -cd '[:alnum:]' < /dev/urandom | fold -w12 | head -n1` beacon eval auth_change_password $user $password && echo "$user new password: $password" }

Create a new MySQL database and immediately access it.

mkdb dbname

function mkdb { prefix=`beacon eval common_get_service_value mysql dbaseprefix` db=$1 beacon eval sql_create_mysql_database $db && beacon eval sql_add_mysql_backup $db && mysql ${prefix}${db} }

Enumerate domains, check WordPress version and update if necessary.

# () also works in lieu of declare -a... declare -a DOMAINS=$(beacon eval --format=bash aliases_list_aliases) for domain in ${DOMAINS[@]} ; do STATUS=$(beacon eval wordpress_is_current $domain) if [$STATUS == 0]; then continue ; fi beacon wordpress_update $domain done

Grant read, write, execute permissions recursively to the named user

addacls username path

function addacls { user=$1 path=`realpath $2` beacon file_set_acls $path $user 7 "[recursive:1]" }

Creates a new addon domain, then installs WordPress, Drupal, or any web app. ${n,,} takes the parameter n and converts to lowercase in bash v4+ using case modifiers.

newdomain domain [wordpress|drupal|joomla|laravel|ghost|discourse]

function newdomain { domain=${1,,} app=${2,,} path=/var/www/${domain} beacon eval aliases_add_shared_domain $domain $path beacon eval aliases_synchronize_changes beacon eval ${app}_install $domain }

Get started for free

curl https://raw.githubusercontent.com/apisnetworks/apnscp-bootstrapper/master/bootstrap.sh | bash