diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php deleted file mode 100644 index aa0915a84..000000000 --- a/resources/views/admin/index.blade.php +++ /dev/null @@ -1,58 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Administration -@endsection - -@section('content') -
-
- -

Pterodactyl Admin Control Panel


- @if (Version::isLatestPanel()) -
You are running Pterodactyl Panel version {{ Version::getCurrentPanel() }}. Your panel is up-to-date!
- @else -
- Your panel is not up-to-date! The latest version is {{ Version::getPanel() }} and you are currently running version {{ Version::getCurrentPanel() }}. -
- @endif -
-
-
- - -
- -
-
- -@endsection diff --git a/resources/views/admin/nodes/index.blade.php b/resources/views/admin/nodes/index.blade.php deleted file mode 100644 index de1687087..000000000 --- a/resources/views/admin/nodes/index.blade.php +++ /dev/null @@ -1,96 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Node List -@endsection - -@section('scripts') - @parent - {!! Theme::css('css/vendor/fontawesome/animation.min.css') !!} -@endsection - -@section('content') -
- -

All Nodes


- - - - - - - - - - - - - - - @foreach ($nodes as $node) - - - - - - - - - - - @endforeach - -
NameLocationSSL
{{ $node->name }}{{ $node->location->short }}
-
-
{!! $nodes->render() !!}
-
-
- -@endsection diff --git a/resources/views/admin/nodes/new.blade.php b/resources/views/admin/nodes/new.blade.php deleted file mode 100644 index 37add9812..000000000 --- a/resources/views/admin/nodes/new.blade.php +++ /dev/null @@ -1,187 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Create Node -@endsection - -@section('content') -
- -

Create New Node


-
-
-
-
- -
- -

Character limits: a-zA-Z0-9_.- and [Space] (min 1, max 100 characters).

-
-
-
- -
- -
-
-
- -
-
- -
-
-
-
-
-
-
- -
- -
-

Please enter domain name (e.g node.example.com) to be used for connecting to the daemon. An IP address may only be used if you are not using SSL for this node. - Why? -

-
-
- -
-
- -
-
- -
-
-

You should always leave SSL enabled for nodes. Disabling SSL could allow a malicious user to intercept traffic between the panel and the daemon potentially exposing sensitive information.

-
-
-
-
-
-
-
-
- -
- - MB -
-
-
- -
- - % -
-
-
-
-
-

Enter the total amount of memory avaliable for new servers. If you would like to allow overallocation of memory enter the percentage that you want to allow. To disable checking for overallocation enter -1 into the field. Entering 0 will prevent creating new servers if it would put the node over the limit.

-
-
-
-
-
-
-
-
- -
- - MB -
-
-
- -
- - % -
-
-
-
-
-

Enter the total amount of disk space avaliable for new servers. If you would like to allow overallocation of disk space enter the percentage that you want to allow. To disable checking for overallocation enter -1 into the field. Entering 0 will prevent creating new servers if it would put the node over the limit.

-
-
-
-
-
-
-
-
- -
- -
-

The location at which your server files will be stored. Most users do not need to change this.

-
-
-
-
- -
- -
-
-
- -
- -
-
-
-

The daemon runs its own SFTP management container and does not use the SSHd process on the main physical server. Do not use the same port that you have assigned for your physcial server's SSH process.

-
-
-
-
-
-
- {!! csrf_field() !!} - -
-
-
-
-
- -@endsection diff --git a/resources/views/admin/nodes/remote/deploy.blade.php b/resources/views/admin/nodes/remote/deploy.blade.php deleted file mode 100644 index b7283fcfd..000000000 --- a/resources/views/admin/nodes/remote/deploy.blade.php +++ /dev/null @@ -1,292 +0,0 @@ -#!/bin/bash -#### - # Pterodactyl - Panel - # Copyright (c) 2015 - 2017 Dane Everitt - # - # Permission is hereby granted, free of charge, to any person obtaining a copy - # of this software and associated documentation files (the "Software"), to deal - # in the Software without restriction, including without limitation the rights - # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - # copies of the Software, and to permit persons to whom the Software is - # furnished to do so, subject to the following conditions: - # - # The above copyright notice and this permission notice shall be included in all - # copies or substantial portions of the Software. - # - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - # SOFTWARE. -#### -set +e -export DEBIAN_FRONTEND=noninteractive - -INSTALL_DIR="/srv/daemon" -DATA_DIR="{{ $node->daemonBase }}" -CURRENT_SYSTEM_KERNEL="$(uname -r)" -DL_VERSION="0.0.1" - -command_exists() { - command -v "$@" > /dev/null 2>&1 -} - -error_message() { - echo -e "\e[1m\e[97m\e[41m$1\e[0m" - exit 1 -} - -warning_message() { - echo -e "\e[43m\e[30m$1\e[0m" -} - -success_message() { - echo -e "\e[32m$1\e[0m" -} - -running_command() { - echo -e " ;; \e[47m\e[30m$1\e[0m" -} - -for i in "$@" -do - case $i in - -d|--directory) - INSTALL_DIR="$2" - ;; - -a|--datadir) - DATA_DIR="$2" - ;; - -g|--git) - USE_GIT=true - ;; - -u|--unstable) - USE_UNSTABLE=true - USE_GIT=true - ;; - -v|--version) - DL_VERSION="$2" - ;; - -h|--help) - echo "./installer [opts]" - echo " -d | --directory The directory to install the daemon into. (default: /srv/daemon)" - echo " -a | --datadir The directory that daemon users will be stored in. (default: /srv/daemon-data)" - echo " -g | --git Use this flag to download the daemon using a git clone. (default: false)" - echo " -u | --unstable Install unstable version of the daemon, automatically uses --git flag. (default: false)" - echo " -v | --version The version of the daemon to download." - exit - ;; - esac -shift -done - -warning_message "This program will automatically configure your system to run the Pterodactyl Daemon." -warning_message " - Install Location: $INSTALL_DIR" -warning_message " - Data Location: $DATA_DIR" -warning_message "This script will continue in 10 seconds. Press CRTL+C to exit now." -sleep 10 - -# Super basic system detection -if command_exists apt-get; then - INSTALL_CMD="apt-get -y" -elif command_exists yum; then - INSTALL_CMD="yum -y" -else - error_message "No supported repository manager was found." -fi - -if ! command_exists curl; then - warning_message "No file retrieval method found, installing curl now..." - running_command "$INSTALL_CMD -y install curl" - $INSTALL_CMD -y install curl - if [ "$?" -ne "0" ]; then - error_message "Unable to install curl and no other method was found for retrieving files." - fi -fi - -# Determine if the kernel is high enough version. -if command_exists awk; then - PROCESSED_KERNEL_VERSION=$(awk -F. '{print $1$2}' <<< $CURRENT_SYSTEM_KERNEL) -elif command_exists cut; then - PROCESSED_KERNEL_VERSION=$(cut -d. -f1-2 --output-delimiter='' <<< $CURRENT_SYSTEM_KERNEL) -else - error_message "You seem to be missing some core tools that this script needs: awk (or) cut" -fi - -if [ "$PROCESSED_KERNEL_VERSION" -lt "310" ]; then - error_message "Your kernel version must be at least 3.10 or higher for the daemon to work. You are using $CURRENT_SYSTEM_KERNEL" -fi - -check_cgroups() { - # Check CGroups - CGROUP_DIRECTORY_LISTING="$(awk '/[, ](cpu|cpuacct|cpuset|devices|freezer|memory)[, ]/ && $3 == "cgroup" { print $2 }' /proc/mounts | head -n1)" - if [ ! -z $CGROUP_DIRECTORY_LISTING -a -d $CGROUP_DIRECTORY_LISTING ]; then - CGROUP_DIRECTORY="$(dirname $CGROUP_DIRECTORY_LISTING 2>&1)" - if [ -d "$CGROUP_DIRECTORY/cpu" -a -d "$CGROUP_DIRECTORY/cpuacct" -a -d "$CGROUP_DIRECTORY/cpuset" -a -d "$CGROUP_DIRECTORY/devices" -a -d "$CGROUP_DIRECTORY/freezer" -a -d "$CGROUP_DIRECTORY/memory" ]; then - success_message "cgroups enabled and are valid on this machine." - else - error_message "You appear to be missing some important cgroups on this machine." - fi - else - if [ ! -e "/proc/cgroups" ]; then - error_message "This kernel does not appear to support cgroups! Please see https://gist.github.com/DaneEveritt/0f071f481b4d3fa637d4 for more information." - elif [ ! -d "/sys/fs/cgroup" ]; then - error_message "This kernel does not appear to support cgroups! Please see https://gist.github.com/DaneEveritt/0f071f481b4d3fa637d4 for more information." - fi - - if [ ! -f "/tmp/mount_cgroup.sh" ]; then - # Try to enable cgroups - warning_message "Attempting to enable cgroups on this machine..." - running_command "curl -L https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount > /tmp/mount_cgroup.sh" - curl -L https://raw.githubusercontent.com/tianon/cgroupfs-mount/master/cgroupfs-mount > /tmp/mount_cgroup.sh - - running_command "chmod +x /tmp/mount_cgroup.sh" - chmod +x /tmp/mount_cgroup.sh - - running_command "bash /tmp/mount_cgroup.sh" - bash /tmp/mount_cgroup.sh - check_cgroups - else - rm -rf /tmp/mount_cgroup.sh > /dev/null 2>&1 - error_message "Failed to enable cgroups on this machine." - fi - fi -} - -# Check those groups. -check_cgroups - -# Lets install the dependencies. -$INSTALL_CMD install linux-image-extra-$CURRENT_SYSTEM_KERNEL -if [ "$?" -ne "0" ]; then - warning_message "You appear to have a non-generic kernel meaning we could not install extra kernel tools." - warning_message "We will continue to install, but some docker enhancements might not work as expected." - warning_message "Continuing in 10 seconds, press CTRL+C to cancel this script." - sleep 10 -fi - -success_message "Installing Docker..." -running_command "curl -L https://get.docker.com/ | sh" -curl -L https://get.docker.com/ | sh -if [ "$?" -ne "0" ]; then - error_message "Unable to install docker, an error occured!" -fi; - -success_message "Installing NodeJS 5.x..." -running_command "curl -L https://deb.nodesource.com/setup_5.x | sudo -E bash -" -curl -L https://deb.nodesource.com/setup_5.x | sudo -E bash - -if [ "$?" -ne "0" ]; then - error_message "Unable to configure NodeJS, an error occured!" -fi; - -running_command "$INSTALL_CMD install tar nodejs" -$INSTALL_CMD install tar nodejs -if [ "$?" -ne "0" ]; then - error_message "Unable to install NodeJS or Tar, an error occured!" -fi; - -running_command "mkdir -p $INSTALL_DIR $DATA_DIR" -mkdir -p $INSTALL_DIR $DATA_DIR -cd $INSTALL_DIR - -if [ -z $USE_UNSTABLE -a -z $USE_GIT ]; then - CLEANUP_PROGRAMS="nodejs docker-engine" - - running_command "curl -sI https://github.com/Pterodactyl/Daemon/archive/$DL_VERSION.tar.gz | head -n1 | cut -d$' ' -f2" - GITHUB_STATUS="$(curl -sI https://github.com/Pterodactyl/Daemon/archive/$DL_VERSION.tar.gz | head -n1 | cut -d$' ' -f2)" - if [ $GITHUB_STATUS -ne "200" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS 2>&1 - error_message "Github returned a non-200 response code ($GITHUB_STATUS)" - fi - - running_command "curl -L \"https://github.com/Pterodactyl/Daemon/archive/$DL_VERSION.tar.gz\" > daemon.tar.gz" - curl -L "https://github.com/Pterodactyl/Daemon/archive/$DL_VERSION.tar.gz" > daemon.tar.gz - - running_command "tar --strip-components=1 -xzvf daemon.tar.gz" - tar --strip-components=1 -xzvf daemon.tar.gz 2>&1 - if [ "$?" -ne "0" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS 2>&1 - cd ~ && rm -rf $INSTALL_DIR 2>&1 - error_message "Unable to install the daemon due to an error while attempting to unpack files." - fi -elif [ $USE_GIT ]; then - CLEANUP_PROGRAMS="nodejs docker-engine git" - running_command "$INSTALL_CMD install git" - $INSTALL_CMD install git - - running_command "git clone https://github.com/Pterodactyl/Daemon.git ." - git clone https://github.com/Pterodactyl/Daemon.git . - if [ -z $USE_UNSTABLE ]; then - running_command "git checkout tags/$DL_VERSION" - git checkout tags/$DL_VERSION - fi - if [ "$?" -ne "0" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS 2>&1 - cd ~ && rm -rf $INSTALL_DIR 2>&1 - error_message "Unable to install the daemon due to an error while attempting to clone files to the server." - fi -else - error_message "Could not match an install method!" -fi - -running_command "npm install --production" -npm install --production -if [ "$?" -ne "0" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS 2>&1 - cd ~ && rm -rf $INSTALL_DIR 2>&1 - error_message "Unable to install the daemon due to an error that occured while running npm install." -fi - -running_command "docker run -d --name ptdl-sftp -p 2022:22 -v $DATA_DIR:/sftp-root -v $INSTALL_DIR/config/credentials:/creds quay.io/pterodactyl/scrappy" -docker run -d --name ptdl-sftp -p 2022:22 -v $DATA_DIR:/sftp-root -v $INSTALL_DIR/config/credentials:/creds quay.io/pterodactyl/scrappy -if [ "$?" -ne "0" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS 2>&1 - cd ~ && rm -rf $INSTALL_DIR 2>&1 - error_message "Unable to install the daemon due to an error while creating a SFTP container." -fi - -echo '{ - "web": { - "listen": {{ $node->daemonListen }}, - "ssl": { - "enabled": {{ $node->sceheme === 'https' ? 'true' : 'false' }}, - "certificate": "/etc/letsencrypt/live/{{ $node->fqdn }}/fullchain.pem", - "key": "/etc/letsencrypt/live/{{ $node->fqdn }}/privkey.pem" - } - }, - "docker": { - "socket": "/var/run/docker.sock" - }, - "sftp": { - "path": "{{ $node->daemonBase }}", - "port": {{ $node->daemonSFTP }}, - "container": "ptdl-sftp" - }, - "logger": { - "path": "logs/", - "src": false, - "level": "info", - "period": "1d", - "count": 3 - }, - "remote": { - "download": "{{ route('remote.download') }}", - "installed": "{{ route('remote.install') }}" - }, - "uploads": { - "maximumSize": 100000000 - }, - "keys": [ - "{{ $node->daemonSecret }}" - ] -}' > config/core.json -if [ "$?" -ne "0" ]; then - $INSTALL_CMD remove $CLEANUP_PROGRAMS - cd ~ && rm -rf $INSTALL_DIR 2>&1 - error_message "An error occured while attempting to save the JSON file." -fi - -success_message "Congratulations, the daemon is now installed." -exit diff --git a/resources/views/admin/nodes/view.blade.php b/resources/views/admin/nodes/view.blade.php deleted file mode 100644 index 5a0879b72..000000000 --- a/resources/views/admin/nodes/view.blade.php +++ /dev/null @@ -1,814 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Managing Node: {{ $node->name }} -@endsection - -@section('scripts') - @parent - {!! Theme::js('js/vendor/socketio/socket.io.min.js') !!} - {!! Theme::js('js/bootstrap-notify.min.js') !!} - {!! Theme::js('js/vendor/chartjs/chart.min.js') !!} - {!! Theme::js('js/vendor/jquery/jquery-dateFormat.min.js') !!} - -@endsection - -@section('content') -
- - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Daemon Version (Latest: {{ Version::getDaemon() }})
System Information
Total CPU Cores
Total Servers{{ count($node->servers) }}
Memory Allocated{{ is_numeric($stats->memory) ? $stats->memory : 0 }} MB of - @if(!is_null($node->memory_overallocate)) - {{ $node->memory }} - @else - {{ $node->memory }} - @endif - MB -
Disk Allocated{{ is_numeric($stats->disk) ? $stats->disk : 0 }} MB of - @if(!is_null($node->disk_overallocate)) - {{ $node->disk }} - @else - {{ $node->disk }} - @endif - MB -
-
-
-
-
- - -
-
-
-
-
-
-
-
-
-
- Changing some details below may require that you change the configuration file on the node as well as restart the daemon. They have been marked with below. -
-
-
- -
- -

Character limits: a-zA-Z0-9_.- and [Space] (min 1, max 100 characters).

-
-
-
- -
- -
-
-
- -
- public) === '1') ? 'checked' : '' }} id="public_1" checked>
- public) === '0') ? 'checked' : '' }} id="public_0"> -
-
-
-
-
- -
- -
-

Please enter domain name (e.g node.example.com) to be used for connecting to the daemon. An IP address may only be used if you are not using SSL for this node. - Why? -

-
-
- -
-
- scheme) === 'https') ? 'checked' : '' }}/> -
-
- scheme) === 'http') ? 'checked' : '' }}/> -
-
-

You should always leave SSL enabled for nodes. Disabling SSL could allow a malicious user to intercept traffic between the panel and the daemon potentially exposing sensitive information.

-
-
-
-
-
-
-
- -
- - MB -
-
-
- -
- - % -
-
-
- -
- - MB -
-
-
- -
- - % -
-
-
-
-
-

Enter the total amount of disk space and memory avaliable for new servers. If you would like to allow overallocation of disk space or memory enter the percentage that you want to allow. To disable checking for overallocation enter -1 into the field. Entering 0 will prevent creating new servers if it would put the node over the limit.

-
-
-
-
-
-
-
- -
- - MB -
-

Enter the maximum size of files that can be uploaded through the web-based file manager.

-
-
-
-
-
-
-
-
-
- -
- -
-
-
- -
- -
-
-
-
-
-

The daemon runs its own SFTP management container and does not use the SSHd process on the main physical server. Do not use the same port that you have assigned for your physcial server's SSH process.

-
-
-
-
-
-
- -
- Reset Daemon Master Key -
-
-
-

Resetting the daemon master key will void any request coming from the old key. This key is used for all sensitive operations on the daemon including server creation and deletion. We suggest changing this key regularly for security.

-
-
-
-
-
-
-
-
-
- {!! csrf_field() !!} - -
-
-
-
-
-
-
-
-
-
-
-

To simplify the configuration of nodes it is possible to fetch the config from the panel. A token is required for this process. The button below will generate a token and provide you with the commands necessary for automatic configuration of the node. Be aware that these tokens are only valid for 5 minutes.

-
-
-

-
-
-
{{ $node->getConfigurationAsJson(true) }}
-
-
-
-
-
-
-
-
-

Allocate Additional Ports

-
-
-
- - -
-
- -
-
    -
  • - -
  • -
-
-

You must enter a comma (,) or press the enter key after each port or range that you enter. They should appear in a blue box.

- -
-
- - -
-
-
-
-
- {!! csrf_field() !!} - - -
-
-
-
-
-
-
- - - - - - - - - - @foreach($node->allocations as $allocation) - - - - - - - - @endforeach - -
IP Address IP AliasPortAssigned To
{{ $allocation->ip }} - - - {{ $allocation->port }} - @if(! is_null($allocation->server)) - {{ $allocation->server->name }} - @endif - - @if(is_null($allocation->server_id)) - - @else - - @endif -
-
- {{ $node->allocations->appends(['tab' => 'tab_allocation'])->render() }} -
-
-
-
-
-
-
-
-
-
- The data below is live output from the daemon. CPU usage is displayed relative to the assigned CPU allocation. For example, if a server is assigned 10% and the CPU usage below displays 90% that means the server is using 9% of the total system CPU. -
- - - - - - - - - - - - - - @foreach($node->servers as $server) - - - - - - - - - - @endforeach - -
NameOwnerServiceMemoryDiskCPUStatus
{{ $server->name }}{{ $server->user->email }}{{ $server->service->name }}-- / {{ $server->memory === 0 ? '∞' : $server->memory }} MB{{ $server->disk }} MB-- %--
-
-
-
- @if(count($node->servers) === 0) -
-
-
-
-
-
-
- {!! method_field('DELETE') !!} - {!! csrf_field() !!} - -
-
-
-
Deleting this node is a permanent action, it cannot be undone.
-
-
-
-
-
- @endif -
-
-
-
-
- - -@endsection diff --git a/resources/views/admin/servers/index.blade.php b/resources/views/admin/servers/index.blade.php deleted file mode 100644 index e2e5010f5..000000000 --- a/resources/views/admin/servers/index.blade.php +++ /dev/null @@ -1,83 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Server List -@endsection - -@section('content') -
- -

All Servers


-
-
- -
- -
-
-
- - - - - - - - - - - @foreach ($servers as $server) - suspended === 1 && !$server->trashed()) - class="warning" - @elseif($server->trashed()) - class="danger" - @endif - data-server="{{ $server->uuidShort }}"> - - - - - - @endforeach - -
Server NameOwnerNode
- {{ $server->name }} - @if($server->suspended === 1 && !$server->trashed()) - Suspended - @elseif($server->trashed()) - Pending Deletion - @endif - {{ $server->user->email }}{{ $server->node->name }}
-
-
{!! $servers->render() !!}
-
-
- -@endsection diff --git a/resources/views/admin/servers/new.blade.php b/resources/views/admin/servers/new.blade.php deleted file mode 100644 index dc1deef22..000000000 --- a/resources/views/admin/servers/new.blade.php +++ /dev/null @@ -1,511 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Create New Server -@endsection - -@section('scripts') - @parent - {!! Theme::js('js/vendor/typeahead/typeahead.min.js') !!} -@endsection - -@section('content') -
- -

Create New Server


-
-
-
-
- -
- -

Character limits: a-z A-Z 0-9 _ - . and [Space] (max 200 characters).

-
-
-
- -
- {{-- Hacky workaround to prevent Safari and Chrome from trying to suggest emails here --}} - - -
-
-
-
-
-
-
- -
- -
- -

The location in which this server will be deployed.

-
-
- -
-
- - -
-
-
-
-
-
-
-
-
-
-
-
-
- -
- - MB -
-
-
- -
- - MB -
-
-
- -
- - - - - Disable OOM Killer - -
-
-
-
-
-

If you do not want to assign swap space to a server simply put 0 for the value, or -1 to allow unlimited swap space. If you want to disable memory limiting on a server simply enter 0 into the memory field. We suggest leaving OOM Killer enabled unless you know what you are doing, disabling it could cause your server to hang unexpectedly.

-

-
-
-
- -
- - MB -
-
-
- -
- - % -
-
-
- -
- - I/O -
-
-
-
-
-

If you do not want to limit CPU usage set the value to 0. To determine a value, take the number physical cores and multiply it by 100. For example, on a quad core system (4 * 100 = 400) there is 400% available. To limit a server to using half of a single core, you would set the value to 50. To allow a server to use up to two physical cores, set the value to 200. BlockIO should be a value between 10 and 1000. Please see this documentation for more information about it.

-

-
-
-
-
-
-
- -
- -
- -

Select the type of service that this server will be running.

-
-
- - -
-
-
-
-
-
-
- -
- - - - -
-

If you would like to use a custom docker image for this server please enter it here. Most users can ignore this option.

-
-
-
-
-
- -
-
-
- {!! csrf_field() !!} - -
-
-
-
-
- -@endsection diff --git a/resources/views/admin/settings.blade.php b/resources/views/admin/settings.blade.php deleted file mode 100644 index 09e66d6fc..000000000 --- a/resources/views/admin/settings.blade.php +++ /dev/null @@ -1,97 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Administration -@endsection - -@section('content') -
- -

Panel Settings


-
-
-
- -
- -

This is the name that is used throughout the panel and in emails sent to clients.

-
-
-
- -
- -

This is the default language that all clients will use unless they manually change it.

-
-
-
-
-
-
In order to modify your SMTP settings for sending mail you will need to edit the .env file in this project's root folder.
-
-
-
-
- -
- -

The email address that panel emails will be sent from. Note that some SMTP services require this to match for a given API key.

-
-
-
- -
- -

The name that emails will appear to come from.

-
-
-
-
-
-
- {!! csrf_field() !!} - -
-
-
-
-
- -@endsection diff --git a/resources/views/admin/users/index.blade.php b/resources/views/admin/users/index.blade.php deleted file mode 100644 index 7e85c8fe9..000000000 --- a/resources/views/admin/users/index.blade.php +++ /dev/null @@ -1,73 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} -{{-- Some Modifications (c) 2015 Dylan Seidt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Account List -@endsection - -@section('content') -
- -

All Registered Users


-
-
- -
- -
-
-
- - - - - - - - - - @foreach ($users as $user) - - - - - - - - @endforeach - -
ID - Email - Client NameUsername
#{{ $user->id }}{{ $user->email }}{{ $user->name_last }}, {{ $user->name_first }}{{ $user->username }}
-
-
{!! $users->render() !!}
-
-
- -@endsection diff --git a/resources/views/admin/users/new.blade.php b/resources/views/admin/users/new.blade.php deleted file mode 100644 index 8e0bf5f7a..000000000 --- a/resources/views/admin/users/new.blade.php +++ /dev/null @@ -1,132 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} -{{-- Some Modifications (c) 2015 Dylan Seidt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - New Account -@endsection - -@section('content') -
- -

Create New Account


-
-
-
-
- -
- -
-
-
- -
- -
-
-
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -

Setting this to 'Yes' gives a user full administrative access.

-
-
-
-
-
-
-
-

Providing a user password is optional. New user emails prompt users to create a password the first time they login. If a password is provided here you will need to find a different method of providing it to the user.

-
-
-
- -
-
- -
- -
-
-
- -
- -
-
-
-
-
- {!! csrf_field() !!} - - -
-
-
-
-
- -@endsection diff --git a/resources/views/admin/users/view.blade.php b/resources/views/admin/users/view.blade.php deleted file mode 100644 index 3ba9ec035..000000000 --- a/resources/views/admin/users/view.blade.php +++ /dev/null @@ -1,171 +0,0 @@ -{{-- Copyright (c) 2015 - 2017 Dane Everitt --}} -{{-- Some Modifications (c) 2015 Dylan Seidt --}} - -{{-- Permission is hereby granted, free of charge, to any person obtaining a copy --}} -{{-- of this software and associated documentation files (the "Software"), to deal --}} -{{-- in the Software without restriction, including without limitation the rights --}} -{{-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell --}} -{{-- copies of the Software, and to permit persons to whom the Software is --}} -{{-- furnished to do so, subject to the following conditions: --}} - -{{-- The above copyright notice and this permission notice shall be included in all --}} -{{-- copies or substantial portions of the Software. --}} - -{{-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR --}} -{{-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, --}} -{{-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE --}} -{{-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER --}} -{{-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, --}} -{{-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE --}} -{{-- SOFTWARE. --}} -@extends('layouts.admin') - -@section('title') - Viewing User -@endsection - -@section('content') -
- -

Viewing User: {{ $user->email }}

-

Registered {{ (new Carbon($user->created_at))->toRfc1123String() }}

-
-
-
-
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- {!! csrf_field() !!} - -
-
-
-
-
- -
- -
- -
-
-
- -
-
-
-
- -
- -

Setting this to 'Yes' gives a user full administrative access.

-
-
-
-
-
-
-
-
-

Associated Servers


- @if($user->servers) - - - - - - - - - - - - - @foreach($user->servers as $server) - - - - - - - - - @endforeach - -
IdentifierServer NameNodeUsername
{{ $server->uuidShort }}{{ $server->name }}{{ $server->node->name }}{{ $server->username }}@if($server->suspended === 0)Active@elseSuspended@endif
- @else -
There are no servers associated with this account.
- @endif - -
-
-
-
-

Delete Account


-
Warning! There most be no servers associated with this account in order for it to be deleted.
-
- {!! method_field('DELETE') !!} - {!! csrf_field() !!} - -
-
-
-
- -@endsection