function connect_to_daemon(&$socket, $host, $port, $pwd, $enc, $timeout = 0) { set_time_limit($timeout); if (!@socket_connect($socket, $host, $port)) { return "ERR_CONNECT"; } @recv_all($socket, $recv_buf); if (substr($recv_buf, 0, 3) == "100") { return "SUCCESS"; } @send_all($socket, "ENCRYPT"); $rnd = ""; @recv_all($socket, $rnd); $result = ""; if (substr($rnd, 0, 3) != "102") { $rnd .= $pwd; $enc_passwd = md5($rnd, true); send_all($socket, $enc_passwd); recv_all($socket, $result); } else { // use plain-text if allowed if ($enc == "0") { socket_close($socket); $socket = socket_create(AF_INET, SOCK_STREAM, 0); if (!@socket_connect($socket, $host, $port)) { return "ERR_CONNECT"; } recv_all($socket, $recv_buf); send_all($socket, $pw); recv_all($socket, $result); } } if (substr($result, 0, 3) != "100") { return "ERR_PASSWD"; } else { return "SUCCESS"; } }
<?php // Connect to Daemon $socket = socket_create(AF_INET, SOCK_STREAM, 0); $connect = connect_to_daemon($socket, $_COOKIE['ddclient_host'], $_COOKIE['ddclient_port'], $_COOKIE['ddclient_passwd'], $_COOKIE['ddclient_enc'], 5); // Site Vars $err_message = ''; $dlist = ''; send_all($socket, "DDP DL LIST"); recv_all($socket, $dlist); $dlist = explode("\n", $dlist); for ($i = 0; $i < count($dlist); $i++) { $curr_line = explode_escaped('|', $dlist[$i]); if ($curr_line[0] == "PACKAGE" && $curr_line[1] == $_GET['pkg_id']) { $tpl_vars['OLD_PKG_NAME'] = $curr_line[2]; $tpl_vars['OLD_PKG_PASS'] = $curr_line[3]; } } $tpl_vars['PKG_ID'] = $_GET["pkg_id"]; $tpl_vars['DL_ID'] = $_GET["id"];
$err_msg = msg_generate($LANG[$connect], 'error'); } else { $content = ''; if (isset($_POST['apply'])) { $buf = ''; send_all($socket, 'DDP PREMIUM SET ' . $_POST['host'] . ' ' . $_POST['user'] . ';' . $_POST['pass']); recv_all($socket, $buf); if ($buf == '100 SUCCESS') { $err_message .= msg_generate($LANG['L_Premium_SUCCESS'], 'success'); } else { $err_message .= msg_generate($LANG['L_Premium_FAIL'], 'error'); } } $buf = ''; send_all($socket, 'DDP PREMIUM LIST'); recv_all($socket, $buf); $host_list = explode("\n", $buf); $user_list = ''; $content .= 'Host: '; $content .= '<select name="host">'; $content .= '<option value=""></option>'; for ($i = 0; $i != count($host_list); $i++) { $content .= '<option value="' . $host_list[$i] . '"'; $content .= '>' . $host_list[$i] . '</option>'; } $content .= '</select>'; $content .= '<br /><br />'; $content .= 'Username: <input type="text" name="user" /><br />'; $content .= 'Password: <input type="password" name="pass" /><br />'; $content .= '<input type="submit" name="apply" value="Apply" id="apply" class="submit" />'; }
$debug .= '<option value="SEVERE" '; if ($log_lvl == 'SEVERE') { $debug .= 'selected="selected" '; } $debug .= '>Severe</option>'; $debug .= '<option value="OFF" '; if ($log_lvl == 'OFF') { $debug .= 'selected="selected" '; } $debug .= '>Off</option></select>'; $log_file = ''; send_all($socket, 'DDP VAR GET log_file'); recv_all($socket, $log_file); $max_dl_speed = ''; send_all($socket, 'DDP VAR GET max_dl_speed'); recv_all($socket, $max_dl_speed); } $tpl_vars['T_Enable_Button'] = $enable_button; $tpl_vars['L_Conf_general'] = $LANG['Conf_general']; $tpl_vars['L_Conf_reconnect'] = $LANG['Conf_reconnect']; $tpl_vars['L_Conf_premium'] = $LANG['Conf_premium']; $tpl_vars['L_Change_PWD'] = $LANG['Change_PWD']; $tpl_vars['L_Add_multi_DL_Desc'] = $LANG['Add_multi_DL_Desc']; $tpl_vars['L_Old_PWD'] = $LANG['Old_PWD']; $tpl_vars['L_New_PWD'] = $LANG['New_PWD']; $tpl_vars['L_RT_PWD'] = $LANG['RT_PWD']; $tpl_vars['L_en_di'] = $LANG['en_di']; $tpl_vars['L_gen_conf'] = $LANG['gen_conf']; $tpl_vars['L_start_end_desc'] = $LANG['start_end_desc']; $tpl_vars['L_st_time'] = $LANG['st_time']; $tpl_vars['L_end_time'] = $LANG['end_time'];
<?php // Connect to Daemon $socket = socket_create(AF_INET, SOCK_STREAM, 0); $connect = connect_to_daemon($socket, $_COOKIE['ddclient_host'], $_COOKIE['ddclient_port'], $_COOKIE['ddclient_passwd'], $_COOKIE['ddclient_enc'], 5); if (isset($_POST['submit_adv_form'])) { foreach ($_POST as $var => $val) { if ($var != "submit_adv_form") { $buf = ""; send_all($socket, "DDP VAR SET " . $var . " = " . $val); recv_all($socket, $buf); } } header("Location: index.php?site=config"); } $res = ""; send_all($socket, "DDP VAR LIST"); recv_all($socket, $res); $Variables = explode("\n", $res); $tpl_vars['L_Conf_general'] = $LANG['Conf_general']; $tpl_vars['L_Conf_reconnect'] = $LANG['Conf_reconnect']; $tpl_vars['L_Conf_premium'] = $LANG['Conf_premium'];
} elseif (isset($_FILES['dlcfile'])) { $path_info = pathinfo($_FILES['dlcfile']['name']); $extension = $path_info['extension']; $tmpfn = $_FILES['dlcfile']['tmp_name']; //echo "extension = " . $extension; $fh = fopen($tmpfn, "r"); $data = fread($fh, filesize($tmpfn)); if ($extension == "RSDF" || $extension == "rsdf") { send_all($socket, "DDP PKG CONTAINER RSDF:" . $data); } elseif ($extension == "ccf" || $extension == "CCF") { send_all($socket, "DDP PKG CONTAINER CCF:" . $data); } else { send_all($socket, "DDP PKG CONTAINER DLC:" . $data); } $recv = ""; recv_all($socket, $recv); // we can ignore this.. DD doesn't really check for success, because it would take too long } $download_index[] = array(); $download_index = explode("\n", $list); for ($i = 0; $i < count($download_index); $i++) { if (strpos($download_index[$i], "PACKAGE|") === 0) { $pkg = explode("|", $download_index[$i]); $content .= "<option value=\"" . $pkg[1] . "\">" . $pkg[2] . "</option>"; } } $tpl_vars['L_Title'] = $LANG['Title']; $tpl_vars['L_URL'] = $LANG['URL']; $tpl_vars['L_Add_single_DL'] = $LANG['Add_single_DL']; $tpl_vars['L_Add_multi_DL'] = $LANG['Add_multi_DL']; $tpl_vars['L_Add_multi_DL_Desc'] = $LANG['Add_multi_DL_Desc'];
<?php // Connect to Daemon $socket = socket_create(AF_INET, SOCK_STREAM, 0); $connect = connect_to_daemon($socket, $_COOKIE['ddclient_host'], $_COOKIE['ddclient_port'], $_COOKIE['ddclient_passwd'], $_COOKIE['ddclient_enc'], 5); $err_message = ''; if (isset($_GET['id'])) { $buf = ""; if (isset($_GET['result'])) { send_all($socket, "DDP CAPTCHA SOLVE " . $_GET['id'] . " " . $_GET['result']); recv_all($socket, $buf); header("Location: " . $tpl_vars['T_SITE_URL'] . "index.php?site=manage"); } $cap = ""; send_all($socket, "DDP CAPTCHA REQUEST " . $_GET['id']); recv_all($socket, $cap); $parts = explode("|", $cap, 3); if (count($parts) != 3) { die; } if (isset($_GET['what'])) { if ($_GET['what'] == "qestion") { die($parts[1]); } if ($_GET['what'] == "image") { header("Content-Type: image/" . $parts[0]); die($parts[2]); } } else { $tpl_vars['T_Question'] = $parts[1]; $tpl_vars['T_Image'] = "index.php?site=get_captcha&raw=1&what=image&id=" . $_GET['id'];