示例#1
0
/**
 * returns the default UI for this page
 * @return string string with HTML for body of this page
 */
function disp_default()
{
    global $_token;
    global $settings;
    $disp_body = '';
    /* show VM network and VPN overview */
    //VPN control UI
    $disp_body .= '<noscript><p>please enable javascript to activate the advanced UI</p></noscript>';
    $disp_body .= '<div id="overview_net_control">';
    $disp_body .= '<h2>Network Control</h2>';
    $pass = array('handle user request - establish or disconnect VPN');
    $tokens = $_token->pgen($pass);
    $disp_body .= '<form id="frm_vpn_connection" class="inline" action="/" method="post">';
    $disp_body .= '<input type="hidden" name="cmd" value="network_control">';
    $disp_body .= '<table class="control_box">';
    $disp_body .= '<tr>';
    $disp_body .= '<td>';
    $disp_body .= VPN_get_connections('vpn_connections', array('initial' => 'Connect To', 'onchange' => 'vpn_connect();')) . "\n";
    // Connect VPN
    $disp_body .= '</td>';
    $disp_body .= '<td id="ele_vpn_connect">';
    $disp_body .= ' <input type="submit" name="vpn_connect" value="Connect VPN">';
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="vpn_disconnect" value="Disconnect VPN">';
    $disp_body .= '</td>';
    $disp_body .= '</tr>';
    $disp_body .= '</table>';
    $disp_body .= '<input type="hidden" name="token" value="' . $tokens[0] . '">';
    $disp_body .= " </form>\n";
    $pass = array('handle user request - start or stop pia-daemon');
    $tokens = $_token->pgen($pass);
    $disp_body .= '<form class="inline" action="/" method="post">';
    $disp_body .= '<input type="hidden" name="cmd" value="network_control">';
    $disp_body .= '<table class="control_box">';
    $disp_body .= '<tr>';
    $disp_body .= '<td id="ele_daemon_lbl">PIA VPN Daemon</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="daemon_start" value="Start pia-daemon">';
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="daemon_stop" value="Stop pia-daemon">';
    $disp_body .= '</td>';
    $disp_body .= '</tr>';
    $disp_body .= '</table>';
    $disp_body .= '<input type="hidden" name="token" value="' . $tokens[0] . '">';
    $disp_body .= " </form>\n";
    if ($settings['SOCKS_INT_ENABLED'] == 'yes' || $settings['SOCKS_EXT_ENABLED'] == 'yes') {
        $pass = array('handle user request - start or restart SOCKS proxy');
        $tokens = $_token->pgen($pass);
        $disp_body .= '<form id="frm_socks_proxy" class="inline" action="/" method="post">';
        $disp_body .= '<input type="hidden" name="cmd" value="socks_proxy_control">';
        $disp_body .= '<table class="control_box">';
        $disp_body .= '<tr>';
        $disp_body .= '<td id="ele_socks_lbl">';
        $disp_body .= "SOCKS5 Proxy\n";
        $disp_body .= '</td>';
        $disp_body .= '</td>';
        $disp_body .= '<td>';
        $disp_body .= ' <input type="submit" name="socks_start" value="Start Proxy Server">';
        $disp_body .= '</td>';
        $disp_body .= '<td>';
        $disp_body .= ' <input type="submit" name="socks_stop" value="Stop Proxy Server">';
        $disp_body .= '</td>';
        $disp_body .= '</tr>';
        $disp_body .= '</table>';
        $disp_body .= '<input type="hidden" name="token" value="' . $tokens[0] . '">';
        $disp_body .= " </form>\n";
    }
    //firewall control UI
    $pass = array('handle user request - start or stop the firewall');
    $tokens = $_token->pgen($pass);
    $disp_body .= '<form class="inline" action="/" method="post">';
    $disp_body .= '<input type="hidden" name="cmd" value="firewall_control">';
    $disp_body .= '<table class="control_box">';
    $disp_body .= '<tr>';
    $disp_body .= '<td id="ele_firewall_lbl">';
    $disp_body .= "Firewall\n";
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="firewall_enable" value="Restart Firewall">';
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="firewall_disable" value="Stop Forwarding">';
    $disp_body .= '</td>';
    $disp_body .= '</tr>';
    $disp_body .= '</table>';
    $disp_body .= '<input type="hidden" name="token" value="' . $tokens[0] . '">';
    $disp_body .= "</form>\n";
    //OS control UI
    $pass = array('handle user request - shutdown or reboot the OS');
    $tokens = $_token->pgen($pass);
    $disp_body .= '<form class="inline" action="/" method="post">';
    $disp_body .= '<input type="hidden" name="cmd" value="os_control">';
    $disp_body .= '<table class="control_box">';
    $disp_body .= '<tr>';
    $disp_body .= '<td>&nbsp;</td><td>&nbsp;</td>';
    //empty row to move buttons out of the way
    $disp_body .= '</tr>';
    $disp_body .= '<tr>';
    $disp_body .= '<td id="ele_os_lbl">';
    $disp_body .= "Operating System\n";
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="vm_restart" value="Restart PIA-VM">';
    $disp_body .= '</td>';
    $disp_body .= '<td>';
    $disp_body .= ' <input type="submit" name="vm_shutdown" value="Shutdown PIA-VM">';
    $disp_body .= '</td>';
    $disp_body .= '</tr>';
    $disp_body .= '</table>';
    $disp_body .= '<input type="hidden" name="token" value="' . $tokens[0] . '">';
    $disp_body .= "</form>\n";
    $disp_body .= "</div>\n";
    /* show system status */
    $disp_body .= '<div id="overview_net_status">';
    $disp_body .= '<h2>System Status</h2>';
    $disp_body .= '<div id="system_status">' . VM_get_status() . '</div>';
    $disp_body .= "</div>\n";
    $disp_body .= '<script type="text/javascript">' . 'var timr1=setInterval(function(){' . 'var _overview = new OverviewObj();' . '_overview.refresh_status();' . '_overview.clean_feedback();' . '},' . $settings['WEB_UI_REFRESH_TIME'] . ');' . 'var _overview = new OverviewObj();' . '_overview.set_js_network_control();' . '/* handle the "connect" event on the overview page */
                    function vpn_connect(){
                    var submit_form = document.getElementById(\'frm_vpn_connection\');
                    var ele_conn = document.createElement((\'input\'));
                    ele_conn.setAttribute(\'type\', \'hidden\');
                    ele_conn.setAttribute(\'name\', \'vpn_connect\');
                    submit_form.appendChild(ele_conn);
                    submit_form.submit();
                  }' . '</script>';
    return $disp_body;
}
示例#2
0
/* @var $_auth AuthenticateUser */
/* @var $_token token */
$inc_dir = './include/';
require_once $inc_dir . 'basic.php';
$type = isset($_REQUEST['type']) ? $_REQUEST['type'] : '';
$value = isset($_REQUEST['value']) ? $_REQUEST['value'] : '';
header("Content-Type:text/plain");
switch ($type) {
    case 'online':
        /* used by scripts to determine if system is ready */
        echo 'OK';
        break;
    case 'JSON':
        echo json_encode(VM_get_status('array'));
        break;
    case 'value':
        $ar = VM_get_status('array');
        //var_dump($ar);
        $value = trim(strtolower($value));
        reset($ar);
        foreach ($ar as $k => $v) {
            if (trim(strtolower($k)) == $value) {
                echo $ar[$k];
                die;
            }
        }
        break;
    default:
        echo VM_get_status();
        break;
}