chendeben 8 лет назад
Сommit
4027788535
100 измененных файлов с 3054 добавлено и 0 удалено
  1. 245 0
      app/conf/common.php
  2. 266 0
      app/conf/config.php
  3. 14 0
      app/controller/getcodeController.php
  4. 121 0
      app/controller/indexController.php
  5. 162 0
      app/controller/logsController.php
  6. 414 0
      app/controller/manageController.php
  7. 541 0
      app/controller/userController.php
  8. 32 0
      app/controller/weixinController.php
  9. 26 0
      app/dao/adminDao.php
  10. 591 0
      app/dao/commonDao.php
  11. 69 0
      app/dao/inviteDao.php
  12. 250 0
      app/dao/logsDao.php
  13. 20 0
      app/dao/mcDao.php
  14. 36 0
      app/dao/nodeDao.php
  15. 16 0
      app/dao/sshDao.php
  16. 168 0
      app/dao/userDao.php
  17. 1 0
      app/data/filecache/0148eb70acaa1c8904d5a7cc1c5e63f9.php
  18. 1 0
      app/data/filecache/021c1fc5c7101dc249bdf3e17221a7f9.php
  19. 1 0
      app/data/filecache/025db341ada3b6d8b1232425feaae372.php
  20. 1 0
      app/data/filecache/027ac13e993cd72947adb8a3867d063f.php
  21. 1 0
      app/data/filecache/03adb2c555c2cad67bff0939ebd49807.php
  22. 1 0
      app/data/filecache/03f5bce98de528b3feada4a9500fc2f1.php
  23. 1 0
      app/data/filecache/06bb62490d38703f1d4f2552e481783b.php
  24. 1 0
      app/data/filecache/0722603650bc4a9fb2ab99b4e1ad2943.php
  25. 1 0
      app/data/filecache/074ee65a9362bea3f626abc84534fbfc.php
  26. 1 0
      app/data/filecache/07775dce678731325b0097ba07fb7070.php
  27. 1 0
      app/data/filecache/094df90a6203a4b7f708d25219333d3a.php
  28. 1 0
      app/data/filecache/09f051517109ad064650ce777ca9099a.php
  29. 1 0
      app/data/filecache/0bba4b3e0861e8105bb4cabf5918d9fd.php
  30. 1 0
      app/data/filecache/0c31029e1a4d1114d97977adb1df23de.php
  31. 1 0
      app/data/filecache/0cc07602d6adb410bfa68d73eef36e24.php
  32. 1 0
      app/data/filecache/0cc90cf02c1f1c7e5f03d1d954214f2d.php
  33. 1 0
      app/data/filecache/0d0b1cc1f9e6a76cb655be284ec5e843.php
  34. 1 0
      app/data/filecache/0d6cd471792c4f3f90ea0038b4df8164.php
  35. 1 0
      app/data/filecache/0f03a601b65137b2cf2eff3ed1ebb07d.php
  36. 1 0
      app/data/filecache/0f38fb0934acabf288c5d76b4ac358a7.php
  37. 1 0
      app/data/filecache/0f777b232ccdab5f1e4b2d1b6e63f34d.php
  38. 1 0
      app/data/filecache/1024fdbe8d75a2f87e172d7d4a8c5c35.php
  39. 1 0
      app/data/filecache/11a0ded52651846e0aea58071de8b835.php
  40. 1 0
      app/data/filecache/11b192fbdbb53062efa9af59791c1579.php
  41. 1 0
      app/data/filecache/11b2ed3e6dd1a5b8a1a77b0aeccaf2d4.php
  42. 1 0
      app/data/filecache/11c831eb46002d9d1a88474b6923a487.php
  43. 1 0
      app/data/filecache/1207f2ca46c47b0adc146006c3acc7f1.php
  44. 1 0
      app/data/filecache/1212d69fb97b7a816a289a1af75d53ec.php
  45. 1 0
      app/data/filecache/13063d9aec97d2465e40c1530447cd2d.php
  46. 1 0
      app/data/filecache/1361f7feb59af64001cc0c46282bfd97.php
  47. 1 0
      app/data/filecache/140a38d561bea1c8df7c42db72a29e68.php
  48. 1 0
      app/data/filecache/14cba80246990a3504553413c247c581.php
  49. 1 0
      app/data/filecache/1660bbf8d3d22e741765947a9cc8d764.php
  50. 1 0
      app/data/filecache/16df8d1d5efee24fb7c364688dac3c78.php
  51. 1 0
      app/data/filecache/1761c81c34aec8f4fef5f926bba10e93.php
  52. 1 0
      app/data/filecache/185716891b305c8f127df920335eda49.php
  53. 1 0
      app/data/filecache/19a792b28e18dfc9174e6971075adbdb.php
  54. 1 0
      app/data/filecache/1ac9c9cb03f21a3c6df0b52bde9d2aaf.php
  55. 1 0
      app/data/filecache/1c1b9c0f93399f8fd419b474cfb4be04.php
  56. 1 0
      app/data/filecache/1d877bfc60bf5b515840222376d8a3e1.php
  57. 1 0
      app/data/filecache/1f4ba0701cb360fc3f53099b44c17dc6.php
  58. 1 0
      app/data/filecache/2001608dafed3624bc25ad844666c9ba.php
  59. 1 0
      app/data/filecache/201484ad389f2765c91f14c8a09ad907.php
  60. 1 0
      app/data/filecache/204a4f29aeb9bab19420596ee4132a22.php
  61. 1 0
      app/data/filecache/20c4c00db74a7035a8a5d4e83f6450b8.php
  62. 1 0
      app/data/filecache/21a117e444e1e77bd03f34f80ac32c39.php
  63. 1 0
      app/data/filecache/230815488721b2e430dcdbcab81e9e57.php
  64. 1 0
      app/data/filecache/23e5eb3e235cad34dad233da0106ba34.php
  65. 1 0
      app/data/filecache/25aa9c78284163a994f38deaba8ff220.php
  66. 1 0
      app/data/filecache/2667e213d6ffc9952b07ba405ec03b8b.php
  67. 1 0
      app/data/filecache/26abd8888175d5f454b4f8b552b95146.php
  68. 1 0
      app/data/filecache/2956d26467a8d774769701543ca9e435.php
  69. 1 0
      app/data/filecache/29c17e47d0b0c3b4fbaf144c6e626135.php
  70. 1 0
      app/data/filecache/2a12fc774c41ed53b97a20e65873c1a0.php
  71. 1 0
      app/data/filecache/2aa6ca02854c7a274eda00bd87c100ba.php
  72. 1 0
      app/data/filecache/2b70f95b1bd85c434db510040ca28ecf.php
  73. 1 0
      app/data/filecache/2e3b4b9bcf9a1c90b6d93c6afd906a2e.php
  74. 1 0
      app/data/filecache/2e49f3803da7745123431cc7ce64c603.php
  75. 1 0
      app/data/filecache/2ed6ed5fbd0e77c2eb9e54a19c84bd0e.php
  76. 1 0
      app/data/filecache/2ffc5e3f513258fcec73b280187547af.php
  77. 1 0
      app/data/filecache/3026d33e9f09cc9b9c539a32df83df23.php
  78. 1 0
      app/data/filecache/30fe1a90ca1bc95f048e33f60a420c06.php
  79. 1 0
      app/data/filecache/313608be1a694e58abae30c13c7155dc.php
  80. 1 0
      app/data/filecache/3190dc8fbd497d7915514fc3bbfbc812.php
  81. 1 0
      app/data/filecache/331e4a3480924ebfa32372ba094a5e8a.php
  82. 1 0
      app/data/filecache/3328592397c6aef19f9099253a09a721.php
  83. 1 0
      app/data/filecache/3624075e235369f35dfb0c976d6822c4.php
  84. 0 0
      app/data/filecache/36c4536996ca5615dcf9911f068786dc.php
  85. 1 0
      app/data/filecache/385b06a71f81f48de004094647d7af18.php
  86. 1 0
      app/data/filecache/38689571095e5e108fd8a9108f1445c7.php
  87. 1 0
      app/data/filecache/3cf5ac13b838cde63f17179bab4f1d49.php
  88. 1 0
      app/data/filecache/403b86c35409c1db32d567e466bf60db.php
  89. 1 0
      app/data/filecache/4126e19aba9d110e9398d6d3675c758e.php
  90. 1 0
      app/data/filecache/42309c86220406185a68b54d034cb231.php
  91. 1 0
      app/data/filecache/42cb3217e7f4c3fb481ec4bd01f16f72.php
  92. 1 0
      app/data/filecache/43593797196f45b06e86dfb8abfb5180.php
  93. 1 0
      app/data/filecache/45afec7ecfeda0c63ddfa1fb0fd6d603.php
  94. 1 0
      app/data/filecache/45f85f2daea584eee41b26412dc0ef24.php
  95. 1 0
      app/data/filecache/4614f759b9273c9488a5e05ff58bd7ea.php
  96. 1 0
      app/data/filecache/46b8174793e1d3f142a29a3a003619ef.php
  97. 1 0
      app/data/filecache/46f2cc8bb5b9bf9e8cc21e307e08a8e6.php
  98. 1 0
      app/data/filecache/4708597789b54ab9c474994b29a4dc89.php
  99. 1 0
      app/data/filecache/48f37aeb359d42cf4db1c7c1475cc108.php
  100. 1 0
      app/data/filecache/499324d6405117a1f30fcb4fd2a81aa4.php

+ 245 - 0
app/conf/common.php

@@ -0,0 +1,245 @@
+<?php
+
+/**
+ * 浏览器友好的变量输出
+ *
+ * @param mixed $var
+ *            变量
+ * @param boolean $echo
+ *            是否输出 默认为True 如果为false 则返回输出字符串
+ * @param string $label
+ *            标签 默认为空
+ * @param boolean $strict
+ *            是否严谨 默认为true
+ * @return void string
+ */
+function dump($var, $echo = true, $label = null, $strict = true)
+{
+    $label = ($label === null) ? '' : rtrim($label) . ' ';
+    if (!$strict) {
+        if (ini_get('html_errors')) {
+            $output = print_r($var, true);
+            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
+        } else {
+            $output = $label . print_r($var, true);
+        }
+    } else {
+        ob_start();
+        var_dump($var);
+        $output = ob_get_clean();
+        if (!extension_loaded('xdebug')) {
+            $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
+            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
+        }
+    }
+    if ($echo) {
+        echo($output);
+        return null;
+    } else
+        return $output;
+}
+
+function JsMessage($message, $URL = 'HISTORY', $charset = 'utf-8')
+{
+    echo '
+			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+			<html xmlns="http://www.w3.org/1999/xhtml">
+			<head>
+			<meta http-equiv="Content-Type" content="text/html; charset=' . $charset . '" />
+			<title>系统提示</title>
+			</head>
+
+			<body>
+			<script type="text/javascript">
+			alert("' . $message . '");
+			' . (strtoupper($URL) == 'HISTORY' ? 'history.back();' : 'location.href="' . $URL . '";') . '
+			</script>
+			</body>
+			</html>
+		';
+    exit ();
+}
+
+function _mkdir($dir)
+{
+    if (!is_dir($dir)) {
+        $temp = explode('/', $dir);
+        $cur_dir = '';
+        for ($i = 0; $i < count($temp); $i++) {
+            $cur_dir .= $temp [$i] . '/';
+            if (!is_dir($cur_dir)) {
+                @mkdir($cur_dir, 0777);
+            }
+        }
+    }
+}
+
+function writeLog($msg, $name, $dir = '')
+{
+    if (empty ($dir)) {
+        $dir = '../logs/' . date('Ymd') . '/';
+    }
+    _mkdir($dir);
+    $tmpfile = $dir . $name . ".log";
+    $fd = fopen($tmpfile, "a");
+    fwrite($fd, $msg . "\r\n");
+    fclose($fd);
+}
+
+function runlog($mode = 'SMTP',$b = '',$c = '',$d='') {
+    echo $b;
+}
+/**
+ * 发送邮件
+ * @param $toemail 收件人email
+ * @param $subject 邮件主题
+ * @param $message 正文
+ * @param $from 发件人
+ * @param $cfg 邮件配置信息
+ * @param $sitename 邮件站点名称
+ */
+
+function sendmail($toemail, $subject, $message, $from = '',$sitename = 'ss5')
+{
+//    if ($sitename == '') {
+//        $siteid = get_siteid();
+//        $siteinfo = siteinfo($siteid);
+//        $sitename = $siteinfo['site_title'];
+//    }
+    $cfg = Array(
+        'mailsend' => 2,
+        'maildelimiter' => 1,
+        'mailusername' => 1,
+        'server' => 'smtp.a4sky.com',
+        'port' => 587,
+        'mail_type' => 0,
+        'auth' => 1,
+        'from' => $from,
+        'auth_username' => 'webmaster@tailsocks.com',
+        'auth_password' => '6485882'
+    );
+    $from = $cfg['from'];
+    $mail = $cfg;
+    $cc="shadowsocks5@foxmail.com";
+
+    //邮件头的分隔符
+    $maildelimiter = $mail['maildelimiter'] == 1 ? "\r\n" : ($mail['maildelimiter'] == 2 ? "\r" : "\n");
+    //收件人地址中包含用户名
+    $mailusername = isset($mail['mailusername']) ? $mail['mailusername'] : 1;
+    //端口
+    $mail['port'] = $mail['port'] ? $mail['port'] : 25;
+    $mail['mailsend'] = $mail['mailsend'] ? $mail['mailsend'] : 1;
+
+    //发信者
+    $email_from = $from == '' ? '=?utf-8?B?' . base64_encode($sitename) . "?= <" . $from . ">" : (preg_match('/^(.+?) \<(.+?)\>$/', $from, $mats) ? '=?utf-8?B?' . base64_encode($mats[1]) . "?= <$mats[2]>" : $from);
+
+    $email_to = preg_match('/^(.+?) \<(.+?)\>$/', $toemail, $mats) ? ($mailusername ? '=?utf-8?B?' . base64_encode($mats[1]) . "?= <$mats[2]>" : $mats[2]) : $toemail;;
+//    $message=iconv("utf-8", "'gb2312'", $message);
+    $email_subject = '=?utf-8?B?' . base64_encode(preg_replace("/[\r|\n]/", '', '[' . $sitename . '] ' . $subject)) . '?=';
+    $email_message = chunk_split(base64_encode(str_replace("\n", "\r\n", str_replace("\r", "\n", str_replace("\r\n", "\n", str_replace("\n\r", "\r", $message))))));
+
+    $headers = "From: $email_from{$maildelimiter}X-Priority: 3{$maildelimiter}X-Mailer: PHPCMS-V9 {$maildelimiter}MIME-Version: 1.0{$maildelimiter}Content-type: text/html; charset=utf-8{$maildelimiter}Content-Transfer-Encoding: base64{$maildelimiter}";
+
+    if (!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
+        runlog('SMTP', "($mail[server]:$mail[port]) CONNECT - Unable to connect to the SMTP server", 0);
+        return false;
+    }
+    stream_set_blocking($fp, true);
+
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != '220') {
+        runlog('SMTP', "$mail[server]:$mail[port] CONNECT - $lastmessage", 0);
+        return false;
+    }
+
+    fputs($fp, ($mail['auth'] ? 'EHLO' : 'HELO') . " phpcms\r\n");
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != 220 && substr($lastmessage, 0, 3) != 250) {
+        runlog('SMTP', "($mail[server]:$mail[port]) HELO/EHLO - $lastmessage", 0);
+        return false;
+    }
+
+    while (1) {
+        if (substr($lastmessage, 3, 1) != '-' || empty($lastmessage)) {
+            break;
+        }
+        $lastmessage = fgets($fp, 512);
+    }
+
+    if ($mail['auth']) {
+        fputs($fp, "AUTH LOGIN\r\n");
+        $lastmessage = fgets($fp, 512);
+        if (substr($lastmessage, 0, 3) != 334) {
+            runlog('SMTP', "($mail[server]:$mail[port]) AUTH LOGIN - $lastmessage", 0);
+            return false;
+        }
+
+        fputs($fp, base64_encode($mail['auth_username']) . "\r\n");
+        $lastmessage = fgets($fp, 512);
+        if (substr($lastmessage, 0, 3) != 334) {
+            runlog('SMTP', "($mail[server]:$mail[port]) USERNAME - $lastmessage", 0);
+            return false;
+        }
+
+        fputs($fp, base64_encode($mail['auth_password']) . "\r\n");
+        $lastmessage = fgets($fp, 512);
+        if (substr($lastmessage, 0, 3) != 235) {
+            runlog('SMTP', "($mail[server]:$mail[port]) PASSWORD - $lastmessage", 0);
+            return false;
+        }
+
+        $email_from = $mail['from'];
+    }
+
+    fputs($fp, "MAIL FROM: <" . preg_replace("/.*\<(.+?)\>.*/", "\\1", $email_from) . ">\r\n");
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != 250) {
+        fputs($fp, "MAIL FROM: <" . preg_replace("/.*\<(.+?)\>.*/", "\\1", $email_from) . ">\r\n");
+        $lastmessage = fgets($fp, 512);
+        if (substr($lastmessage, 0, 3) != 250) {
+            runlog('SMTP', "($mail[server]:$mail[port]) MAIL FROM - $lastmessage", 0);
+            return false;
+        }
+    }
+
+    fputs($fp, "RCPT TO: <" . preg_replace("/.*\<(.+?)\>.*/", "\\1", $toemail) . ">\r\n");
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != 250) {
+        fputs($fp, "RCPT TO: <" . preg_replace("/.*\<(.+?)\>.*/", "\\1", $toemail) . ">\r\n");
+        $lastmessage = fgets($fp, 512);
+        runlog('SMTP', "($mail[server]:$mail[port]) RCPT TO - $lastmessage", 0);
+        return false;
+    }
+
+    fputs($fp, "DATA\r\n");
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != 354) {
+        runlog('SMTP', "($mail[server]:$mail[port]) DATA - $lastmessage", 0);
+        return false;
+    }
+
+    $headers .= 'Message-ID: <' . gmdate('YmdHs') . '.' . substr(md5($email_message . microtime()), 0, 6) . rand(100000, 999999) . '@' . $_SERVER['HTTP_HOST'] . ">{$maildelimiter}";
+
+    fputs($fp, "Date: " . gmdate('r') . "\r\n");
+    fputs($fp, "To: " . $email_to . "\r\n");
+//    fputs($fp, "Cc: shadowsocks5@foxmail.com\r\n");
+    fputs($fp, "Subject: " . $email_subject . "\r\n");
+    fputs($fp, $headers . "\r\n");
+    fputs($fp, "\r\n\r\n");
+    fputs($fp, "$email_message\r\n.\r\n");
+    $lastmessage = fgets($fp, 512);
+    if (substr($lastmessage, 0, 3) != 250) {
+        runlog('SMTP', "($mail[server]:$mail[port]) END - $lastmessage", 0);
+    }
+    fputs($fp, "QUIT\r\n");
+    if ($toemail!=$cc){
+        sendMailToCC($cc, $subject, $message,$from,$toemail);
+    }
+    return true;
+}
+
+function sendMailToCC($cc, $subject, $message, $from = '',$toemail){
+    sendmail($cc, "[".$toemail."]".$subject, $message, $from);
+}
+
+?>

+ 266 - 0
app/conf/config.php

@@ -0,0 +1,266 @@
+<?php
+/* 框架全局配置常量 */
+date_default_timezone_set("Asia/Shanghai");
+define('INITPHP_PATH', dirname(APP_PATH) . "/init/");
+define('IS_INITPHP', 1);
+define("TOKEN", "Y11K4o7r6isi41KtwWKOKZRZpR6TSIrs");
+error_reporting(E_ERROR | E_PARSE);
+/* 框架全局配置变量 */
+$InitPHP_conf = array();
+/**
+ * *******************************基础配置****************************************
+ */
+/**
+ * 站点URL配置
+ * 必选参数
+ */
+$InitPHP_conf['url'] = 'http://www.tailsocks.com/';
+$InitPHP_conf['sitename'] = 'ShadowSocks';
+$InitPHP_conf['isinviteonly'] = true; //是否开启邀请注册,false则可以任意注册
+$InitPHP_conf['transfer'] = 1024*1024*1024*30; //初始流量,默认5G=1024*1024*1024*5
+$InitPHP_conf['check_min'] = 15; //签到送流量,最小值5M
+$InitPHP_conf['check_max'] = 150; //签到送流量,最大值100M
+$InitPHP_conf['invite_num'] = 1; //用户邀请码数量
+
+/**
+ * 是否开启调试
+ */
+$InitPHP_conf['is_debug'] = true; // 开启-正式上线请关闭
+/**
+ * 日志目录
+ */
+$InitPHP_conf['log_dir'] = '/logs/'; // 日志目录,必须配置
+/**
+ * 路由访问方式
+ * 1.
+ * 如果为true 则开启path访问方式,否则关闭
+ * 2. default:index.php?m=user&c=index&a=run
+ * 3. rewrite:/user/index/run/?id=100
+ * 4. path: /user/index/run/id/100
+ * 5. html: user-index-run.htm?uid=100
+ * 6. 开启PATH需要开启APACHE的rewrite模块,详细使用会在文档中体现
+ */
+$InitPHP_conf['isuri'] = 'rewrite';
+$InitPHP_conf['default_last_html'] = '.html';//默认后缀
+/**
+ * 是否开启输出自动过滤
+ * 1.
+ * 对多人合作,安全性可控比较差的项目建议开启
+ * 2. 对HTML进行转义,可以放置XSS攻击
+ * 3. 如果不开启,则提供InitPHP::output()函数来过滤
+ */
+$InitPHP_conf['isviewfilter'] = true;
+
+/**
+ * *******************************DAO数据库配置****************************************
+ */
+/**
+ * Dao配置参数
+ * 1.
+ * 你可以配置Dao的路径和文件(类名称)的后缀名
+ * 2. 一般情况下您不需要改动此配置
+ */
+$InitPHP_conf['dao']['dao_postfix'] = 'Dao'; // 后缀
+$InitPHP_conf['dao']['path'] = '/dao'; // 后缀
+/**
+ * 数据库配置
+ * 1.
+ * 根据项目的数据库情况配置
+ * 2. 支持单数据库服务器,读写分离,随机分布的方式
+ * 3. 可以根据$InitPHP_conf['db']['default']['db_type'] 选择mysql mysqli(暂时支持这两种)
+ * 4. 支持多库配置 $InitPHP_conf['db']['default']
+ * 5. 详细见文档
+ */
+$InitPHP_conf['db']['driver'] = 'mysqli'; // 选择不同的数据库DB 引擎,一般默认mysqli,或者mysqls
+                                          // default数据库配置 一般使用中 $this->init_db('default')-> 或者 $this->init_db()-> 为默认的模型
+$InitPHP_conf['db']['default']['db_type'] = 1; // 0-单个服务器,1-读写分离,2-随机,
+                                               // 主从分离的下标为0的为主数据库,其余的为从库
+                                               //每次读数据操作从下标大于0的数据库随机选择一个,写入操作在下标为0的数据库里
+$InitPHP_conf['db']['default'][0]['host'] = 'localhost'; // 主机
+$InitPHP_conf['db']['default'][0]['username'] = 'root'; // 数据库用户名
+$InitPHP_conf['db']['default'][0]['password'] = '6485882'; // 数据库密码
+$InitPHP_conf['db']['default'][0]['database'] = 'shadowsocks'; // 数据库
+$InitPHP_conf['db']['default'][0]['charset'] = 'utf8'; // 数据库编码
+$InitPHP_conf['db']['default'][0]['pconnect'] = 0; // 是否持久链接
+
+$InitPHP_conf['db']['default'][1]['host'] = 'localhost'; // 主机
+$InitPHP_conf['db']['default'][1]['username'] = 'root'; // 数据库用户名
+$InitPHP_conf['db']['default'][1]['password'] = '6485882'; // 数据库密码
+$InitPHP_conf['db']['default'][1]['database'] = 'shadowsocks'; // 数据库
+$InitPHP_conf['db']['default'][1]['charset'] = 'utf8'; // 数据库编码
+$InitPHP_conf['db']['default'][1]['pconnect'] = 0; // 是否持久链接
+
+
+/**
+ * *******************************Service配置****************************************
+ */
+/**
+ * Service配置参数
+ * 1.
+ * 你可以配置service的路径和文件(类名称)的后缀名
+ * 2. 一般情况下您不需要改动此配置
+ */
+$InitPHP_conf['service']['service_postfix'] = 'Service'; // 后缀
+$InitPHP_conf['service']['path'] = '/service'; // service路径
+
+/**
+ * *******************************Controller配置****************************************
+ */
+/**
+ * Controller控制器配置参数
+ * 1.
+ * 你可以配置控制器默认的文件夹,默认的后缀,Action默认后缀,默认执行的Action和Controller
+ * 2. 一般情况下,你可以不需要修改该配置参数
+ * 3. $InitPHP_conf['ismodule']参数,当你的项目比较大的时候,可以选用module方式,
+ * 开启module后,你的URL种需要带m的参数,原始:index.php?c=index&a=run, 加module:
+ * index.php?m=user&c=index&a=run , module就是$InitPHP_conf['controller']['path']目录下的
+ * 一个文件夹名称,请用小写文件夹名称
+ */
+$InitPHP_conf['ismodule'] = false; // 开启module方式
+$InitPHP_conf['controller']['path'] = 'controller';
+$InitPHP_conf['controller']['controller_postfix'] = 'Controller'; // 控制器文件后缀名
+$InitPHP_conf['controller']['action_postfix'] = ''; // Action函数名称后缀
+$InitPHP_conf['controller']['default_controller'] = 'index'; // 默认执行的控制器名称
+$InitPHP_conf['controller']['default_action'] = 'run'; // 默认执行的Action函数
+$InitPHP_conf['controller']['default_module'] = 'index'; // 默认执行module
+$InitPHP_conf['controller']['default_before_action'] = 'before'; // 默认前置的ACTION名称
+$InitPHP_conf['controller']['default_after_action'] = 'after'; // 默认后置ACTION名称
+
+/**
+ * *******************************View配置****************************************
+ */
+/**
+ * 模板配置
+ * 1.
+ * 可以自定义模板的文件夹,编译模板路径,模板文件后缀名称,编译模板后缀名称
+ * 是否编译,模板的驱动和模板的主题
+ * 2. 一般情况下,默认配置是最优的配置方案,你可以不选择修改模板文件参数
+ */
+$InitPHP_conf['template']['template_path'] = 'template'; // 模板路径
+$InitPHP_conf['template']['template_c_path'] = 'data/template_c'; // 模板编译路径
+$InitPHP_conf['template']['template_type'] = 'html'; // 模板文件类型
+$InitPHP_conf['template']['template_c_type'] = 'tpl.php'; // 模板编译文件类型
+$InitPHP_conf['template']['template_tag_left'] = '<!--{'; // 模板左标签
+$InitPHP_conf['template']['template_tag_right'] = '}-->'; // 模板右标签
+$InitPHP_conf['template']['is_compile'] = false; // 模板每次编译-系统上线后可以关闭此功能
+$InitPHP_conf['template']['driver'] = 'simple'; // 不同的模板驱动编译
+$InitPHP_conf['template']['theme'] = 'ss'; // 模板主题
+
+/**
+ * *******************************Hook配置****************************************
+ */
+/**
+ * 插件Hook配置
+ * 1.
+ * 如果你需要使用InitPHP::hook() 钩子函数来实现插件功能
+ * 2. 详细查看钩子的使用方法
+ */
+$InitPHP_conf['hook']['path'] = 'hook'; // 插件文件夹目录, 不需要加'/'
+$InitPHP_conf['hook']['class_postfix'] = 'Hook'; // 默认插件类名后缀
+$InitPHP_conf['hook']['file_postfix'] = '.hook.php'; // 默认插件文件名称
+$InitPHP_conf['hook']['config'] = 'hook.conf.php'; // 配置文件
+
+/**
+ * *******************************单元测试****************************************
+ */
+/**
+ * 单元测试
+ * 1.
+ * 使用工具库中的单元测试需要配置
+ */
+$InitPHP_conf['unittesting']['test_postfix'] = $InitPHP_conf['service']['service_postfix'] . 'Test';
+$InitPHP_conf['unittesting']['path'] = '/test/';
+
+/**
+ * *******************************Error****************************************
+ */
+/**
+ * Error模板
+ * 如果使用工具库中的error,需要配置
+ */
+$InitPHP_conf['error']['template'] = 'library/helper/error.tpl.php';
+
+/**
+ * *******************************缓存,Nosql配置****************************************
+ */
+/**
+ * 缓存配置参数
+ * 1.
+ * 您如果使用缓存 需要配置memcache的服务器和文件缓存的缓存路径
+ * 2. memcache可以配置分布式服务器,根据$InitPHP_conf['memcache'][0]的KEY值去进行添加
+ * 3. 根据您的实际情况配置
+ */
+$InitPHP_conf['memcache'][0] = array(
+    '127.0.0.1',
+    '11211'
+);
+$InitPHP_conf['cache']['filepath'] = 'data/filecache'; // 文件缓存目录
+/**
+ * MongoDB配置,如果您使用了mongo,则需要配置
+ */
+$InitPHP_conf['mongo']['default']['server'] = '127.0.0.1';
+$InitPHP_conf['mongo']['default']['port'] = '27017';
+$InitPHP_conf['mongo']['default']['option'] = array(
+    'connect' => true
+);
+$InitPHP_conf['mongo']['default']['db_name'] = 'test';
+$InitPHP_conf['mongo']['default']['username'] = '';
+$InitPHP_conf['mongo']['default']['password'] = '';
+/**
+ * Redis配置,如果您使用了redis,则需要配置
+ */
+$InitPHP_conf['redis']['default']['server'] = '127.0.0.1';
+$InitPHP_conf['redis']['default']['port'] = '6379';
+/**
+ * 邮箱配置
+ */
+$InitPHP_conf['mail']['host']="a4sky.com";
+$InitPHP_conf['mail']['port']=465;
+$InitPHP_conf['mail']['user']="webmaster@tailsocks.com";
+$InitPHP_conf['mail']['pass']="6485882";
+$InitPHP_conf['mail']['to']="chendeben@qq.com";
+$InitPHP_conf['mail']['from']="admin@01me.cf";
+/**
+ * 左侧菜单配置
+ */
+$InitPHP_conf ['menu'] = array (
+    0 => array (
+        'name' => '管理中心',
+        'menus' => array (
+            0 => array (
+                'title' => '节点管理',
+                'url' => '/manage/node'
+            ),
+            1 => array (
+                'title' => '用户管理',
+                'url' => '/manage/user'
+            ),
+            2 => array (
+                'title' => '批量执行',
+                'url' => '/manage/ssh'
+            ),
+            3 => array (
+                'title' => '查看连接分布',
+                'url' => '/manage/showdata'
+            )
+        )
+    ),
+    1 => array (
+        'name' => '系统设置',
+        'menus' => array (
+            0 => array (
+                'title' => '管理员管理',
+                'url' => '/manage/wishlist'
+            ),
+            1 => array (
+                'title' => '用户管理',
+                'url' => '/manage/userlist'
+            ),
+            2 => array (
+                'title' => '已实现愿望',
+                'url' => '/manage/realizelist'
+            )
+        )
+    )
+
+);

+ 14 - 0
app/controller/getcodeController.php

@@ -0,0 +1,14 @@
+<?php
+
+class getcodeController extends Controller
+{
+
+    public $initphp_list = array(
+    );
+
+    public function run()
+    {
+        $url='https://www.58fk.com/link/u/IPO7J7u';
+        Header("Location: ".$url);
+    }
+}

+ 121 - 0
app/controller/indexController.php

@@ -0,0 +1,121 @@
+<?php
+
+class indexController extends Controller
+{
+
+    public $initphp_list = array(
+        'cron',
+        'testMail',
+        'test',
+        'ssh',
+        'ping'
+    );
+
+    public function run()
+    {
+        $this->view->set_tpl("index/index"); // 中间的模板
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $this->view->assign("title", $title);
+        $this->view->display();
+    }
+
+    function ping()
+    {
+        $domain = $this->controller->get_gp("node");
+$domain=$this->controller->get_gp('node');
+$result=file_get_contents("http://www.phplife.net/ping.php?node=".$domain);
+echo $result;
+    }
+
+    public function cron()
+    {
+        $user = InitPHP::getService("user");
+        if ($user->resetTran()) {
+            echo "OK";
+        }
+    }
+
+    public function ssh()
+    {
+        global $argv;
+        $server = $this->getServer();
+        $data = $server->getAll();
+        $cmd = $argv[3];
+        $ip = $argv[4];
+        foreach ($data as $k => $v) {
+            if ($ip && $v['server'] != $ip) {
+                continue;
+            }
+            echo $v['server'] . "\tresponse:\n";
+            $ssh = $this->getssh();
+            $status = $ssh->login($v['server'], $v['port'], 'root', $v['passwd']);
+            if (!$status) {
+                echo $v['server'] . ' connect fail!';
+                continue;
+            }
+            $str = $ssh->exec($cmd);
+            echo $str . "\r\n\r\n\r\n";
+            $ssh->close();
+        }
+    }
+
+    /**
+     *
+     * @return sshInit
+     */
+    private function getssh()
+    {
+        return InitPHP::getLibrarys("ssh");
+    }
+
+    /**
+     *
+     * @return sshDao
+     */
+    private function getServer()
+    {
+        return InitPHP::getDao("ssh");
+    }
+
+    public function test()
+    {
+        $userService = InitPHP::getService("user");
+        $data = $userService->getUsers();
+        $sh = "";
+        if ($data) {
+            foreach ($data as $k => $v) {
+                $sh .= $v['port'] . "#" . $v['passwd'] . "#" . $v['transfer_enable'] . "@";
+            }
+        }
+        file_put_contents("1.txt", $sh);
+        echo $sh;
+        // dump($data);
+    }
+
+    private function getGb($data)
+    {
+    }
+
+
+    public function testMail()
+    {
+//        InitPHP::url("index");
+//        $email = $this->getEmail();
+        $subject = '测试邮件';
+        $message = '这是一封测试邮件!';
+        $user='webmaster@tailsocks.com';
+        sendmail('chen6485882@gmail.com', $subject, $message, $user);
+//        $email->config($relay_host, $mailConfig['port'], $auth = true, $user, $pass);
+//        var_dump($Config);
+//        $email->sendmail("chendeben@qq.com", $mailConfig['from'], $subject = "测试邮件", "这是一封测试邮件哈", "HTML");
+    }
+
+    /**
+     * @return emailInit
+     */
+    public function getEmail()
+    {
+        return InitPHP::getLibrarys("email");
+    }
+}

+ 162 - 0
app/controller/logsController.php

@@ -0,0 +1,162 @@
+<?php
+
+class logsController extends Controller
+{
+
+    public $initphp_list = array(
+        'rsync',
+        'test'
+    );
+
+    public function run()
+    {
+        $preg = "/\d+\.\d+\.\d+\.\d+/";
+        $s = $this->controller->get_gp("s");
+        preg_match($preg, $s, $ip);
+        $port = $this->controller->get_gp("port");
+        writeLog($ip[0], $port);
+        
+        $ip_lib = self::getIp();
+        $server_ip = $ip_lib->getIp();
+        $logs = $this->getLogsDao();
+        $data['ip'] = $ip[0];
+        $data['port'] = $port;
+        $location = $ip_lib->get_area($ip[0]);
+        
+        $ssh = $this->getSshServeice();
+        $servers = $ssh->getAll();
+        $_servers = array();
+        foreach ($servers as $k => $v) {
+            $_servers[] = $v['server'];
+        }
+        
+        if ($r = $logs->getOneByField($data)) {
+            $logs->update($r['id'], array(
+                'time' => date("Y-m-d H:i:s"),
+                'server_ip' => $server_ip,
+                'location' => $location
+            ));
+            echo "OK";
+        } else {
+            $data['server_ip'] = $server_ip;
+            $data['time'] = date("Y-m-d H:i:s");
+            $data['location'] = $location;
+            $logs->add($data);
+        }
+		die();
+		if (! $ip_lib->inChina($location) && ! in_array($ip[0], $_servers)) { // 非中国大陆IP,冻结账户,发邮件通知
+            $user = $this->getUserService();
+            $userinfo = $user->getUserByPort($port);
+            if($userinfo['switch']==0){
+                echo "has disabled!";
+                die();
+            }
+            $user->delUser($userinfo['uid']);
+            
+            $subject = $userinfo['user_name'] . ':您在shadowsocks5上的账号出现异常登录被冻结!';
+            $message = "<html>
+<head>
+<title>欢迎使用ShadowSocks服务</title>
+</head>
+<body>
+<p>尊敬的ss5用户:" . $userinfo['user_name'] . "</p>
+<table>
+<tr>
+您在 <a href='https://www.shadowsocks5.com'>https://www.shadowsocks5.com</a> 上的账号由于在海外IP(" . $ip[0] . ":" . $location . ")上使用ss服务已经被冻结,
+<br>如果属于误连接,您可以登录网站后按照网站提示进行解除冻结操作,在冻结解除之前您将无法继续使用ss5提供的shadowsocks服务,如果多次发生此类情况,您的账户将被永久冻结,感谢您的支持与理解!
+<br><font color='red'>本邮件由系统自动发送,请不要直接回复本邮件,如有问题请发送邮件到heanup@vip.qq.com</font>
+</tr>
+</table>
+</body>
+</html>";
+            $headers = "MIME-Version: 1.0" . "\r\n";
+            $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
+            
+            // 更多报头
+            $headers .= 'From: <webmaster@shadowsocks5.com>' . "\r\n";
+            $headers .= 'Cc: shadowsocks5@foxmail.com' . "\r\n";
+            mail($userinfo['email'], $subject, $message, $headers);
+        }
+    }
+
+    public function rsync()
+    {
+        set_time_limit(0);
+        $logs = $this->getLogsDao();
+        $data = $logs->getAll();
+        $ip_lib = self::getIp();
+        foreach ($data as $k => $v) {
+            if (trim($v['location']) != "") {
+                continue;
+            }
+            $temp = array();
+            $temp['location'] = $ip_lib->get_area($v['ip']);
+            if (trim($temp['location']) != "")
+                $logs->update($v['id'], $temp);
+        }
+        echo "OK";
+    }
+
+    public function test()
+    {
+        $ip = "163.44.170.225";
+        $ssh = $this->getSshServeice();
+        $servers = $ssh->getAll();
+        $_servers = array();
+        foreach ($servers as $k => $v) {
+            $_servers[] = $v['server'];
+        }
+        $ip_lib = self::getIp();
+        $location = "北美地区";
+        if (! $ip_lib->inChina($location) && ! in_array($ip, $_servers)) {
+            echo "国外";
+        } else {
+            echo "国内";
+        }
+    }
+
+    /**
+     *
+     * @return logsDao
+     */
+    private function getLogsDao()
+    {
+        return InitPHP::getDao("logs");
+    }
+
+    /**
+     *
+     * @return userService
+     */
+    private function getUserService()
+    {
+        return InitPHP::getService("user");
+    }
+
+    /**
+     *
+     * @return areacodeInit
+     */
+    private function getIp()
+    {
+        return InitPHP::getLibrarys("areacode");
+    }
+
+    /**
+     *
+     * @return sshInit
+     */
+    private function getssh()
+    {
+        return InitPHP::getLibrarys("ssh");
+    }
+
+    /**
+     *
+     * @return sshDao
+     */
+    private function getSshServeice()
+    {
+        return InitPHP::getDao("ssh");
+    }
+}

+ 414 - 0
app/controller/manageController.php

@@ -0,0 +1,414 @@
+<?php
+
+class manageController extends Controller
+{
+
+    public $initphp_list = array(
+        'top',
+        'left',
+        'login',
+        'logout',
+        'validcode',
+        'node',
+        'node_edit',
+        'user',
+        'ssh',
+        'code',
+        'del',
+        'showdata'
+    );
+
+    public function __construct()
+    {
+        parent::__construct();
+        $this->checkLogin();
+    }
+
+    public function run()
+    {
+        $this->view->set_tpl("manage/index");
+        $this->view->assign("title", "ShadowSocks5管理后台");
+        $this->view->display();
+    }
+    public function showdata()
+    {
+        $logs = $this->getLogsDao();
+        $data = $logs->getAll();
+        $china = array(
+            'bj' => '北京',
+            'tj' => '天津',
+            'hb' => '河北',
+            'shanxi' => '山西',
+            'nmg' => '内蒙古',
+            'liaoning' => '辽宁',
+            'jiling' => '吉林',
+            'hlj' => '黑龙江',
+            'shanghai' => '上海',
+            'shandong' => '山东',
+            'ah1' => '安徽',
+            'js2' => '江苏',
+            'zj3' => '浙江',
+            'fj4' => '福建',
+            'jx5' => '江西',
+            'henan' => '河南',
+            'hb1' => '湖北',
+            'hunan' => '湖南',
+            'guangdong' => '广东',
+            'guangxi' => '广西',
+            'hainan' => '海南',
+            'sx2' => '陕西',
+            'gs6' => '甘肃',
+            'nx7' => '宁夏',
+            'qh8' => '青海',
+            'xj9' => '新疆',
+            'cq11' => '重庆',
+            'sc21' => '四川',
+            'gz21' => '贵州',
+            'yn22' => '云南',
+            'xz33' => '西藏',
+            'tw44' => '台湾',
+            'xg55' => '香港',
+            'am66' => '澳门'
+        );
+        $keys = array_keys($china);
+        $value = array();
+        foreach ($keys as $k => $v) {
+            $value[$v] = 0;
+        }
+        foreach ($china as $k => $v) {
+            foreach ($data as $k1 => $v1) {
+                if (strpos($v1['location'], $v) !== false) {
+                    $value[$k] ++;
+                }
+            }
+        }
+        $this->view->assign("china", $china);
+        $this->view->assign("value", $value);
+        $this->view->set_tpl("index/map");
+        $this->view->display();
+    }
+
+    /**
+     * 节点管理
+     */
+    public function node()
+    {
+        $node = $this->getNodeDao();
+        $nodelist = $node->getAllNode();
+        $this->view->assign("node", $nodelist);
+        $this->view->set_tpl("manage/node");
+        $this->view->display(); // 模板展示
+    }
+
+    /**
+     * 批量执行命令管理
+     */
+    public function ssh()
+    {
+        if ($this->controller->get_gp("do") == "exec") { // 提交更新
+            set_time_limit(0);
+            ignore_user_abort();
+            $server = $this->getServer();
+            $data = $server->getAll();
+            echo "<pre>";
+            foreach ($data as $k => $v) {
+                echo $v['server']." response:<br>";
+                $ssh = $this->getssh();
+                $cmd = $this->controller->get_gp("cmd");
+                $status = $ssh->login($v['server'], $v['port'], 'root', $v['passwd']);
+                if (!$status) {
+                    echo $v['server'].' connect fail!';
+                    continue;
+                }
+                $str = $ssh->exec($cmd);
+                echo $str . "\r\n\r\n\r\n";
+                $ssh->close();
+            }
+            echo "</pre>";
+            die();
+        }
+        $this->view->set_tpl("manage/ssh");
+        $this->view->display(); // 模板展示
+    }
+
+    public function node_edit()
+    {
+        $node = $this->getNodeDao();
+        $id = $this->controller->get_gp("id");
+        if ($this->controller->get_gp("do") == "update") { // 提交更新
+            $data = $this->controller->get_gp(array(
+                'node_name',
+                'node_type',
+                'node_server',
+                'node_method',
+                'node_info',
+                'node_status',
+                'node_order',
+                'idc_server',
+                'idc_url',
+                'api_veid',
+                'api_key'
+            ));
+            foreach ($data as $k => $v) {
+                if ($v == "") {
+                    unset($data[$k]);
+                }
+            }
+            $node->update($id, $data);
+            JsMessage("更新成功!", '/manage/node');
+            die();
+        }
+        $nodeData = $node->getNodeById($id);
+        $this->view->assign("data", $nodeData);
+        $this->view->set_tpl("manage/node_edit");
+        $this->view->display();
+    }
+
+    /**
+     * 用户管理
+     */
+    public function user()
+    {
+        $userService = self::getUserService();
+        $all = $userService->getAllTran();
+        $all = round($all / (1027 * 1024 * 1024), 2);
+        $pager = self::getPagerLibrary();
+        $page = $this->controller->get_gp("page") ? $page = $this->controller->get_gp("page") : 1;
+        $pernum = 10;
+        $count = $userService->getCount();
+        $start = $pernum * ($page - 1);
+        $url = "/manage/user";
+        $page_html = $pager->pager($count, $pernum, $url, $page, true); // 最后一个参数为true则使用默认样式
+        $userData = $userService->getUsers($pernum, $start);
+        $this->view->assign("allTran", $all);
+        $this->view->assign("user", $userData);
+        $this->view->assign("pager", $page_html);
+        $this->view->set_tpl("manage/user");
+        $this->view->display('', false); // 模板展示
+    }
+
+    public function del()
+    {
+        $uid = $this->controller->get_gp("id");
+        $userService = self::getUserService();
+        if ($userService->delUser($uid)) {
+            JsMessage("删除成功!");
+        } else {
+            JsMessage("删除失败!");
+        }
+    }
+
+    /**
+     * 邀请管理
+     */
+    public function code()
+    {
+        $do = $this->controller->get_gp("do");
+        if ($do == 'add') {
+            $num = $this->controller->get_gp("num");
+            $pre = $this->controller->get_gp("pre");
+            $platform = $this->controller->get_gp("platform");
+            $user = $this->getUserService();
+            $result = $user->add($pre, $num,$platform);
+            if ($result) {
+                echo $result;
+//                 JsMessage("添加成功!", "/manage/user");
+            }
+        }
+        $this->view->set_tpl("/manage/node");
+        $this->view->display();
+    }
+
+    /**
+     * 用户列表
+     */
+    public function userlist()
+    {
+        $adminService = InitPHP::getService("user");
+        
+        $pager = $this->getLibrary('pager');
+        $page = $this->controller->get_gp("page") ? $page = $this->controller->get_gp("page") : 1;
+        $pernum = 30;
+        $count = $adminService->getCount();
+        $start = $pernum * ($page - 1);
+        $url = "userlist";
+        $page_html = $pager->pager($count, $pernum, $url, $page, true); // 最后一个参数为true则使用默认样式
+        $adminData = $adminService->getUsers($pernum, $start);
+        
+        $this->view->set_tpl("manage/userlist");
+        $this->view->assign("data", $adminData);
+        $this->view->assign("pager", $page_html);
+        $this->view->display('', false);
+    }
+
+    public function left()
+    {
+        $session = $this->getUtil('session');
+        $adminname = $session->get('adminname');
+        $config = InitPHP::getConfig();
+        $leftmenu = $config['menu'];
+        $this->view->assign("menu", $leftmenu);
+        $this->view->assign('admin', $adminname);
+        $this->view->set_tpl("manage/left");
+        $this->view->display();
+    }
+
+    public function top()
+    {
+        $session = $this->getUtil('session');
+        $adminid = $session->get('adminid');
+        if (empty($adminid)) {
+            $this->view->set_tpl("manage/login");
+        } else {
+            $this->view->assign('softid', $session->get('softid'));
+            $this->view->set_tpl("manage/top");
+            $this->view->display(); // 模板展示
+        }
+    }
+
+    /**
+     * 登陆
+     */
+    public function login()
+    {
+        $info = $this->controller->get_gp(array(
+            'username',
+            'password',
+            'validcode'
+        ));
+        if ($info['username']) {
+            $session = $this->getUtil('session');
+            $code = $session->get('user_vaildcode_key');
+            if (strtolower(trim($code)) !== strtolower(trim($info['validcode']))) {
+                JsMessage('验证码错了!');
+                die();
+            } else {
+                $password = md5($info['password']);
+                $admin = InitPHP::getService("admin");
+                $result = $admin->getOne($info['username']);
+                if ($result) {
+                    if ($result['pass'] === $password) {
+                        $session->set('adminid', intval($result['uid']));
+                        $session->set('adminname', htmlspecialchars($info['username']));
+                        $function = $this->getLibrary("function");
+                        $function->goto_url("/manage");
+                    } else {
+                        JsMessage("密码错误!");
+                    }
+                } else {
+                    JsMessage("用户名不存在!");
+                }
+            }
+        } else {
+            $this->view->set_tpl("manage/login");
+            $this->view->assign("title", "ShadowSocks5管理后台");
+            $this->view->display();
+        }
+    }
+
+    /**
+     * 检查登陆状态
+     */
+    public function checkLogin()
+    {
+        $list = array(
+            "login",
+            "validcode"
+        );
+        $session = $this->getUtil('session');
+        $adminid = $session->get('adminid');
+        $a = $this->getA();
+        if (! in_array($a, $list)) {
+            if (empty($adminid)) {
+                $function = $this->getLibrary('function');
+                $function->goto_url('/manage/login');
+                die();
+            }
+        }
+    }
+
+    /**
+     *
+     * @return userService
+     */
+    private function getUserService()
+    {
+        return InitPHP::getService("user");
+    }
+
+    /**
+     *
+     * @return nodeDao
+     */
+    private function getNodeDao()
+    {
+        return InitPHP::getDao("node");
+    }
+
+    /**
+     *
+     * @return pagerInit
+     */
+    private function getPagerLibrary()
+    {
+        return InitPHP::getLibrarys("pager");
+    }
+
+    /**
+     * 获取验证码函数
+     */
+    public function validcode()
+    {
+        $captcha = self::getCaptcha();
+        $code = $captcha->CreateCheckCode();
+        $session = $this->getUtil('session');
+        $session->set('user_vaildcode_key', $code);
+        $captcha->OutCheckImage();
+    }
+
+    /**
+     *
+     * @return captchaInit
+     */
+    private function getCaptcha()
+    {
+        return InitPHP::getLibrarys("captcha");
+    }
+
+    /**
+     *
+     * @return sshInit
+     */
+    private function getssh()
+    {
+        return InitPHP::getLibrarys("ssh");
+    }
+
+    /**
+     *
+     * @return sshDao
+     */
+    private function getServer()
+    {
+        return InitPHP::getDao("ssh");
+    }
+
+    /**
+     * 退出后台 删除session
+     */
+    public function logout()
+    {
+        $session = $this->getUtil('session');
+        $function = $this->getLibrary('function');
+        $session->clear();
+        $function->goto_url('/manage/login');
+    }
+    /**
+     *
+     * @return logsDao
+     */
+    private function getLogsDao()
+    {
+        return InitPHP::getDao("logs");
+    }
+}

+ 541 - 0
app/controller/userController.php

@@ -0,0 +1,541 @@
+<?php
+
+class userController extends Controller
+{
+
+    private $uid;
+
+    public $initphp_list = array(
+        'index',
+        'node',
+        'my',
+        'modify',
+        'login',
+        'logout',
+        'qr',
+        'reg',
+        'docheckin',
+        'code',
+        'unfreeze',
+        'reset'
+    );
+
+    public function __construct()
+    {
+        parent::__construct();
+        $this->checkLogin();
+    }
+
+    public function run()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        $this->view->set_tpl("index/user"); // 中间的模板
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+        $this->view->assign("userinfo", $userinfo);
+        $this->view->assign("active", "userindex");
+        $this->view->assign("title", $title);
+        $this->view->display();
+    }
+
+    public function index()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        $this->view->set_tpl("index/user"); // 中间的模板
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+        $this->view->assign("userinfo", $userinfo);
+        $this->view->assign("active", "userindex");
+        $this->view->assign("title", $title);
+        $this->view->display();
+    }
+
+    /**
+     * 节点列表
+     */
+    public function node()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $node = self::getNode();
+        $nodeinfo = $node->getAllNode();
+        foreach ($nodeinfo as $k => $v) {
+            $data[$v['node_type']][] = $v;
+        }
+        $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+        $this->view->assign("userinfo", $userinfo);
+        $this->view->assign("title", $title);
+        $this->view->assign("active", "node");
+        $this->view->assign("data", $data);
+        $this->view->set_tpl("index/node");
+        $this->view->display();
+    }
+
+    /**
+     * 我的信息
+     */
+    public function my()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        $this->view->set_tpl("index/myinfo"); // 中间的模板
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+        $this->view->assign("userinfo", $userinfo);
+        $this->view->assign("active", "info");
+        $this->view->assign("title", $title);
+        $this->view->display();
+    }
+
+    /**
+     * 签到获取流量
+     */
+    public function docheckin()
+    {
+        $config = InitPHP::getConfig();
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        if ($userinfo['last_check_in_time'] > strtotime(date("Y-m-d"))) {
+            JsMessage("您当前不能进行签到!", '/user/index.html');
+            die();
+        }
+        if (($userinfo['transfer_enable'] - $userinfo['u'] - $userinfo['d']) < 2048 * 1024 * 1024) {
+            $transfer_to_add = 2048;
+        } else {
+            $transfer_to_add = rand($config['check_min'], $config['check_max']);
+        }
+        $data['transfer_enable'] = $userinfo['transfer_enable'] + $transfer_to_add * 1024 * 1024;
+        $data['last_check_in_time'] = time();
+        $result = $user->updatePortPass($this->uid, $data);
+        if ($result) {
+            
+            JsMessage("签到成功,你本次签到获得流量" . $transfer_to_add . "M!", '/user/index.html');
+        } else
+            JsMessage("您当前不能进行签到!", '/user/index.html');
+    }
+
+    /**
+     * 获取邀请码
+     */
+    public function code()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        if ($userinfo['plan'] != "VIP") {
+            JsMessage("您无权查看邀请码!");
+        }
+        $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+        $code = $user->getInvite();
+        $code = array(
+            $code
+        );
+        $config = InitPHP::getConfig();
+        $title = $config['sitename'];
+        $this->view->set_tpl("index/code");
+        $this->view->assign("userinfo", $userinfo);
+        $this->view->assign("active", "code");
+        $this->view->assign("title", $title);
+        $this->view->assign("code", $code);
+        $this->view->display();
+    }
+
+    /**
+     * 二维码显示
+     */
+    public function qr()
+    {
+        $user = self::getUserService();
+        $userinfo = $user->getUserById($this->uid);
+        $nodeid = $this->controller->get_get("id");
+        $node = InitPHP::getService("node");
+        $nodeinfo = $node->getNodeById($nodeid);
+        $ssurl = $nodeinfo['node_method'] . ":" . $userinfo['passwd'] . "@" . $nodeinfo['node_server'] . ":" . $userinfo['port'];
+        $ssqr = "ss://" . base64_encode($ssurl);
+        $qrcode = InitPHP::getLibrarys("qrcode");
+        $qrcode->getQr($ssqr);
+        die();
+    }
+
+    /**
+     * 修改用户资料
+     */
+    public function modify()
+    {
+        $do = $this->controller->get_gp("do");
+        if ($do == "info") {
+            $data = $this->controller->get_gp(array(
+                'nowpassword',
+                'password',
+                'email'
+            ));
+            $user = self::getUserService();
+            $result = $user->updateUserinfo($this->uid, $data);
+            if (! $result) {
+                JsMessage("当前密码错误!");
+            } else {
+                JsMessage("修改成功!", "/user/index.html");
+            }
+        } elseif ($do == "port_pass") {
+            $data = $this->controller->get_gp(array(
+                'passwd'
+            ));
+            $user = self::getUserService();
+            $result = $user->updatePortPass($this->uid, $data);
+            JsMessage("修改成功", "/user/index.html");
+        } else {
+            $user = self::getUserService();
+            $userinfo = $user->getUserById($this->uid);
+            $this->view->set_tpl("index/modify"); // 中间的模板
+            $config = InitPHP::getConfig();
+            $title = $config['sitename'];
+            $userinfo['gravatar'] = $this->get_gravatar($userinfo['email']);
+            $this->view->assign("userinfo", $userinfo);
+            $this->view->assign("active", "modify");
+            $this->view->assign("title", $title);
+            $this->view->display();
+        }
+    }
+
+    public function reset(){
+        $do=$this->controller->get_gp("do");
+        $user = self::getUserService();
+        if ($do=="pass"){
+            $username=$this->controller->get_gp("username");
+            $userinfo=$user->getUserByNameOrEmail($username);
+            $code = md5(uniqid("shadowsocks" . time()));
+            $result = $user->doReset($userinfo['uid'], $code);
+            if ($userinfo) {
+                $subject = '重置你的shadowsocks5密码,如果不是本人操作,请忽略本邮件!';
+                $message = "<html>
+<head>
+<title>你正在重置你的shadowsocks5密码,如果不是本人操作,请忽略本邮件!</title>
+</head>
+<body>
+<p>尊敬的ss5用户:".$userinfo['user_name']."</p>
+<table style='width: 99.8%; '><tbody><tr><td id='QQMAILSTATIONERY’ style='background:url(https://rescdn.qqmail.com/zh_CN/htmledition/images/xinzhi/bg/a_08.jpg) no-repeat #f3f3eb; min-height:550px; padding: 100px 55px 200px 120px;'><font face=’宋体’ color='#FF0000’ size='5'>如需重置,请点击以下链接进行操作:<br > <a href='https://www.shadowsocks5.com/user/reset.html?do=resetpass&uid=" . $userinfo['uid']. "&code=" . $code . "'>立即重置</a><br>如果您无法直接点击,请将以下网址复制到浏览器访问:https://www.shadowsocks5.com/user/reset.html?do=resetpass&uid=" .  $userinfo['uid'] . "&code=" . $code . "</font></td></tr></tbody></table>
+</body>
+</html>";
+                sendmail($userinfo['email'],$subject,$message,'webmaster@tailsocks.com');
+                JsMessage("重置密码已经提交,请查收邮箱".$userinfo['email']."进行下一步操作!");
+            }else{
+				JsMessage("用户不存在!");
+			}
+        }elseif ($do=='resetpass'){
+            $uid=$this->controller->get_gp("uid");
+            $code = $this->controller->get_gp("code");
+            $pass=$this->controller->get_gp("password");
+            if (strlen($pass)>6){
+                $result=$user->doReset($uid, $code,$pass);
+                if ($result) {
+                   JsMessage("密码修改成功,请使用新密码登录!","/user/login.html");
+                } else {
+                    JsMessage("密码修改失败,可能是超时造成的!", '/');
+                }
+            }else {
+                $result = $user->doReset($uid, $code, true);
+                if ($result) {
+                    $config = InitPHP::getConfig();
+                    $title = $config['sitename'];
+                    $this->view->assign("title", $title);
+                    $this->view->set_tpl("index/resetpass"); // 中间的模板
+                    $this->view->display();
+                } else {
+                    JsMessage("非法访问!", '/user/index.html');
+                }
+            }
+           
+        }
+        else {
+            $config = InitPHP::getConfig();
+            $title = $config['sitename'];
+            $this->view->assign("title", $title);
+            $this->view->set_tpl("index/reset"); // 中间的模板
+            $this->view->display();
+        }
+    }
+    public function unfreeze()
+    {
+        $user = self::getUserService();
+        $do = $this->controller->get_gp("do");
+        if ($do == 'reset') {
+            $code = $this->controller->get_gp("code");
+            $result = $user->doFreeze($this->controller->get_gp("uid"), $code, true);
+            if ($result) {
+                JsMessage("您的账号已经解除冻结,可以正常使用!", '/user/index.html');
+            } else {
+                JsMessage("解冻失败,请确认步骤是否正确!", '/user/index.html');
+            }
+        } else {
+            $code = md5(uniqid("shadowsocks" . time()));
+            $result = $user->doFreeze($this->uid, $code);
+            $userinfo = $user->getUserById($this->uid);
+            if ($userinfo) {
+                $subject = '请激活你的shadowsocks5!如果不是本人操作,请忽略本邮件!';
+                $message = "<html>
+<head>
+<title>请激活你的shadowsocks5!如果不是本人操作,请忽略本邮件!</title>
+</head>
+<body>
+<p>尊敬的ss5用户:".$userinfo['user_name']."</p>
+<table style='width: 99.8%; '><tbody><tr><td id='QQMAILSTATIONERY’ style='background:url(https://rescdn.qqmail.com/zh_CN/htmledition/images/xinzhi/bg/a_08.jpg) no-repeat #f3f3eb; min-height:550px; padding: 100px 55px 200px 120px;'><font face=’宋体’ color='#FF0000’ size='5'>如需解除冻结,请点击以下链接进行解冻:<br > <a href='https://www.shadowsocks5.com/user/unfreeze.html?do=reset&uid=" . $this->uid . "&code=" . $code . "'>立即激活</a><br>如果您无法直接点击,请将以下网址复制到浏览器访问:https://www.shadowsocks5.com/user/unfreeze.html?do=reset&uid=" . $this->uid . "&code=" . $code . "</font></td></tr></tbody></table>
+</body>
+</html>";
+                sendmail($userinfo['email'],$subject,$message,'webmaster@tailsocks.com');
+                JsMessage("解冻申请已经提交,请查收邮箱进行下一步解冻!");
+            }else{
+				JsMessage("操作失败!");
+			}
+        }
+    }
+
+    public function login()
+    {
+        if ($this->controller->get_gp("do") == "login") {
+            $data = $this->controller->get_gp(array(
+                "username",
+                "password",
+                "remember_me"
+            ));
+            $user = self::getUserService();
+            $result = $user->login($data);
+            if ($result) {
+                $session = self::getSession();
+                $function = self::getFunction();
+                $session->set('userid', intval($result['uid']));
+                $session->set('username', htmlspecialchars($result['user_name']));
+                $function->goto_url('/user/index.html');
+            } else {
+                JsMessage("用户名或密码错误!");
+            }
+        } else {
+            $config = InitPHP::getConfig();
+            $title = $config['sitename'];
+            $this->view->assign("title", $title);
+            $this->view->set_tpl("index/login"); // 中间的模板
+            $this->view->display();
+        }
+    }
+
+    public function reg()
+    {
+        $config = InitPHP::getConfig();
+        if ($this->controller->get_gp("do") == "reg") {
+            $user = self::getUserService();
+            $userinfo = $this->controller->get_gp(array(
+                "username",
+                "password",
+                "email",
+                "code"
+            ));
+            if ($userinfo['username'] == "" || $userinfo['email'] == "") {
+                JsMessage("用户名或邮箱不能为空!");
+            }
+            if ($config['isinviteonly']) {
+                if ($user->checkInvite($userinfo['code'])) { // 检测邀请码
+                    if ($user->checkUser($userinfo)) {
+                        $data = array();
+                        $data['user_name'] = $userinfo['username'];
+                        $data['email'] = $userinfo['email'];
+                        $data['pass'] = md5($userinfo['password']);
+                        $data['passwd'] = rand(10000, 99999);
+                        $data['transfer_enable'] = $config['transfer'];
+                        // $data['port'] = $port;
+                        $data['t'] = 0;
+                        $data['u'] = 0;
+                        $data['d'] = 0;
+                        $data['plan'] = "A";
+                        $data['switch'] = 1;
+                        $data['enable'] = 1;
+                        $data['type'] = 7;
+                        $data['reg_date'] = date("Y-m-d H:i:s");
+                        $data['last_login_time'] = time();
+                        $data['invite_code'] = $userinfo['code'];
+                        $data['invite_num'] = $config['invite_num'];
+                        $data['money'] = 0.00;
+                        $uid = $user->createUser($data);
+                        if ($uid) {
+                            $user->deleteInvite($userinfo['code']);
+                            $session = self::getSession();
+                            $session->set('userid', intval($uid));
+                            $session->set('username', htmlspecialchars($data['user_name']));
+                            $this->sendMail($data['email']);
+                            JsMessage("注册成功,端口及密码请查看用户中心右下角", "/user/index.html");
+                        }
+                    } else {
+                        JsMessage("用户名或者Email已经被注册了!");
+                    }
+                } else {
+                    JsMessage("站点开启了邀请注册,当前邀请码无效!");
+                }
+            } else { // 直接注册
+                if ($user->checkUser($userinfo)) {
+                    $data = array();
+                    $data['user_name'] = $userinfo['username'];
+                    $data['email'] = $userinfo['email'];
+                    $data['pass'] = md5($userinfo['password']);
+                    $data['passwd'] = rand(10000, 99999);
+                    $data['transfer_enable'] = $config['transfer'];
+                    // $data['port'] = $port;
+                    $data['t'] = 0;
+                    $data['u'] = 0;
+                    $data['d'] = 0;
+                    $data['plan'] = "A";
+                    $data['switch'] = 1;
+                    $data['enable'] = 1;
+                    $data['type'] = 7;
+                    $data['reg_date'] = date("Y-m-d H:i:s");
+                    $data['invite_num'] = $config['invite_num'];
+                    $data['money'] = 0.00;
+                    $uid = $user->createUser($data);
+                    if ($uid) {
+                        $session = self::getSession();
+                        $session->set('userid', intval($uid));
+                        $session->set('username', htmlspecialchars($data['user_name']));
+                        $this->sendMail($data['email']);
+                        JsMessage("注册成功", "/user/run");
+                    }
+                } else {
+                    JsMessage("用户名或者Email已经被注册了!");
+                }
+            }
+        } else {
+            $title = $config['sitename'];
+            $isinviteonly = $config['isinviteonly'];
+            $this->view->assign("title", $title);
+            $this->view->assign("isinviteonly", $isinviteonly);
+            $this->view->set_tpl("index/reg"); // 中间的模板
+            $this->view->display();
+        }
+    }
+
+    private function sendMail($to)
+    {
+        $subject = "欢迎使用ShadowSocks服务";
+        $message = "<html>
+<head>
+<title>欢迎使用ShadowSocks服务</title>
+</head>
+<body>
+<p>欢迎您加入shadowsocks5.com</p>
+<table>
+<tr>
+现在您可以免费使用我们的服务,每个月,您会有30G的流量供您使用SS服务,记得每天签到也会送流量哦!<br><font color='red'>注意:本系统会自动删除三天内使用流量为0的用户,请注册用户务必在三天内进行使用,否则将被判定为垃圾用户,及时释放资源以供其他用户使用!同时,请勿滥用本服务器进行发送垃圾邮件以及下载涉及版权的视频,谢谢合作!</font>
+</tr>
+</table>
+</body>
+</html>";
+        // 当发送 HTML 电子邮件时,请始终设置 content-type
+        sendmail($to,$subject,$message,'webmaster@tailsocks.com');
+    }
+
+    private function checkLogin()
+    {
+        $list = array(
+            "login",
+            'reg',
+            'reset',
+            'unfreeze'
+        );
+        $session = self::getSession();
+        $userid = $session->get('userid');
+        $a = $this->getA();
+        if (empty($userid)) {
+			if (! in_array($a, $list)) {
+                $function = self::getFunction();
+                $function->goto_url('/user/login.html');
+			}
+		} else {
+            $this->uid = $userid;
+        }
+        
+    }
+
+    public function logout()
+    {
+        $session = self::getSession();
+        $function = self::getFunction();
+        $session->clear();
+        $function->goto_url('/user/login.html');
+    }
+
+    /**
+     *
+     * @return userService
+     */
+    private function getUserService()
+    {
+        return InitPHP::getService("user");
+    }
+
+    /**
+     *
+     * @return sessionInit
+     */
+    private function getSession()
+    {
+        return InitPHP::getUtils("session");
+    }
+
+    /**
+     *
+     * @return functionInit
+     */
+    private function getFunction()
+    {
+        return InitPHP::getLibrarys("function");
+    }
+
+    /**
+     *
+     * @return emailInit
+     */
+    private function getEmail()
+    {
+        return InitPHP::getLibrarys("email");
+    }
+
+    /**
+     *
+     * @return nodeService
+     */
+    private function getNode()
+    {
+        return InitPHP::getService("node");
+    }
+
+    /**
+     * 获取头像
+     *
+     * @param unknown $email            
+     * @param number $s            
+     * @param string $d            
+     * @param string $r            
+     * @param string $img            
+     * @param unknown $atts            
+     * @return string
+     */
+    function get_gravatar($email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array())
+    {
+        $url = 'https://secure.gravatar.com/avatar/';
+        $url .= md5(strtolower(trim($email)));
+        $url .= "?s=$s&d=$d&r=$r";
+        if ($img) {
+            $url = '<img src="' . $url . '"';
+            foreach ($atts as $key => $val)
+                $url .= ' ' . $key . '="' . $val . '"';
+            $url .= ' />';
+        }
+        return $url;
+    }
+
+//    public function getEmail(){
+//        return InitPHP::getLibrarys("Email");
+//    }
+}

+ 32 - 0
app/controller/weixinController.php

@@ -0,0 +1,32 @@
+<?php
+
+class weixinController extends Controller {
+
+/**
+     * 
+     * @var mpInit
+     */
+    private $mp;
+    /**
+     * 
+     * @var mcDao
+     */
+    private $mc;
+    public $initphp_list = array();
+    public function run(){
+        $this->mp=InitPHP::getLibrarys("mp");
+        $keyword = $this->mp->getKeyword();
+        if ($keyword == "签到") {
+            $this->mc=InitPHP::getDao("mc");
+            $session=$this->mc->get($this->mp->mpobj->FromUserName);
+            $session['time']=$session['time']?$session['time']:0;
+            $session['time']++;
+            $this->mc->set($this->mp->mpobj->FromUserName, $session, 0);
+            $response =$this->mp->mpobj->FromUserName.":第". $session['time']."次签到成功!";
+            $this->mp->responseText($response);
+        }else {
+            $response = "签到失败!";
+            $this->mp->responseText($response);
+        }
+    }
+}

+ 26 - 0
app/dao/adminDao.php

@@ -0,0 +1,26 @@
+<?php
+/**
+ *
+ * @author meitu
+ *
+ */
+class adminDao extends Dao {
+
+	public $table_name = 'ss_admin';
+	private $fields = "uid,admin_name,email,pass";
+
+	/**
+	 * 新增用户
+	 * @param $admin
+	 */
+	public function addAdmin($info) {
+		$info = $this->dao->db->build_key($info, $this->fields);
+		return $this->dao->db->insert($info, $this->table_name);
+	}
+	public function getAllAdmin(){
+		return $this->dao->db->get_all($this->table_name);
+	}
+	public function getOne($userName){
+		return $this->dao->db->get_one_by_field(array('admin_name' => $userName), $this->table_name);
+	}
+}

+ 591 - 0
app/dao/commonDao.php

@@ -0,0 +1,591 @@
+<?php
+
+/**
+ * 数据层的基类,$table_name和$fields需要被实例化
+ * @author Tinson Ho <hts@meitu.com>
+ */
+class commonDao extends Dao
+{
+
+    protected $prefix = 'ph_'; // 表前缀
+    protected $table_name; // 表名,待实例化
+    protected $fields; // 字段名组合,用,分隔,待实例化
+    protected $dbType; // 多数据库服务器,不实例化时使用默认数据库
+
+    public function __construct()
+    {
+        parent::__construct();
+        if (!empty($this->dbType)) {
+            $this->init_db($this->dbType);
+        }
+    }
+
+    /**
+     * 获取数据库连接(多数据库)
+     * @return dbInit
+     */
+    protected function getDb()
+    {
+        return !empty($this->dbType) ? $this->init_db($this->dbType) : $this->init_db('default');
+    }
+
+    /**
+     * 通过ID获取单条记录
+     * @param int $id
+     * @param string $table_name
+     * @return array
+     */
+    public function getOne($id, $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->get_one($id, $table_name);
+    }
+
+    /**
+     * 分页获取
+     * @param array $field
+     * @param int $num
+     * @param int $offset
+     * @param string $id_key
+     * @param string $sort
+     * @param string $table_name
+     * @return array
+     */
+    public function getList($field = array(), $num = 20, $offset = 0, $id_key = 'id', $sort = 'ASC', $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $id_key = !empty($this->idKey) && $id_key == 'id' ? $this->idKey : $id_key;
+        $result = $this->getDb()->get_all($table_name, $field, $num, $offset, $id_key, $sort);
+        return $result [0];
+    }
+
+    /**
+     * 获取全部
+     * @param array $field
+     * @param string $id_key
+     * @param string $sort
+     * @param string $table_name
+     * @return array
+     */
+    public function getAll($field = array(), $id_key = 'id', $sort = 'ASC', $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $id_key = !empty($this->idKey) && $id_key == 'id' ? $this->idKey : $id_key;
+        return $this->getAllByMutiple($field, null, array($id_key => $sort), null, null, $table_name);
+    }
+
+    /**
+     * 计数
+     * @param array $field
+     * @param string $table_name
+     * @return int
+     */
+    public function count($field = array(), $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->get_count($table_name, $field);
+    }
+
+    /**
+     * 添加
+     * @param array $data
+     * @param bool $ignore
+     * @param string $table_name
+     * @return int
+     */
+    public function add($data, $ignore = false, $table_name = null)
+    {
+        if (!$table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->getDb()->insert($data, $table_name, $ignore);
+    }
+
+    /**
+     * 多条记录插入
+     * @param array $data
+     * @param bool $ignore
+     * @param string $table_name
+     * @return int
+     */
+    public function addBatch($data, $ignore = false, $table_name = null)
+    {
+        $fields = array();
+        foreach ($data as $one_data) {
+            foreach ($one_data as $key => $val) {
+                array_push($fields, $key);
+            }
+            break;
+        }
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->insert_more($fields, $data, $table_name, $ignore);
+    }
+
+    /**
+     * 更新(基于ID)
+     * @param int $id
+     * @param array $data
+     * @param string $table_name
+     * @return int
+     */
+    public function update($id, $data, $table_name = null)
+    {
+        if (!$table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->getDb()->update($id, $data, $table_name);
+    }
+
+    /**
+     * 更新(基于其他字段)
+     * @param array $data
+     * @param array $field
+     * @param string $table_name
+     * @return int
+     */
+    public function updateByField($data, $field, $table_name = null)
+    {
+        if (!is_array($field)) {
+            return false;
+        }
+        if (!$table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->getDb()->update_by_field($data, $field, $table_name);
+    }
+
+    /**
+     * 删除(可以是ID数组,也可以是单个ID)
+     * @param array / int $ids
+     * @param string $table_name
+     * @return int
+     */
+    public function delete($ids, $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->delete($ids, $table_name);
+    }
+
+    /**
+     * 删除(通过字段条件删除)
+     * @param array $field
+     * @param string $table_name
+     * @return int
+     */
+    public function deleteByField($field, $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->delete_by_field($field, $table_name);
+    }
+
+    /**
+     * 通过字段查询获取第一条记录
+     * @param array $data
+     * @param string $table_name
+     * @return array
+     */
+    public function getOneByField($data = array(), $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        return $this->getDb()->get_one_by_field($data, $table_name);
+    }
+
+    /**
+     * Sql语句查询,获取全部记录
+     * @param string $sql
+     * @return array / bool
+     */
+    public function queryAll($sql)
+    {
+        $result = $this->getDb()->query($sql, false);
+        if (!$result) {
+            return false;
+        }
+        $arr = array();
+        while ($row = $this->getDb()->fetch_assoc($result)) {
+            $arr [] = $row;
+        }
+        return $arr;
+    }
+
+    /**
+     * 从Sql语句查询,获取第一条记录
+     * @param string $sql
+     * @return array / bool
+     */
+    public function queryRow($sql)
+    {
+        $result = $this->getDb()->query($sql, false);
+        if (!$result) {
+            return false;
+        }
+        $arr = $this->getDb()->fetch_assoc($result);
+        return $arr;
+    }
+
+    /**
+     * SQL语句查询,获取第一条记录的第一个字段
+     * @param string $sql
+     * @return string / bool
+     */
+    public function queryOne($sql)
+    {
+        $arr = $this->queryRow($sql);
+        foreach ($arr as $val) {
+            return $val;
+        }
+        return false;
+    }
+
+    /**
+     * 执行SQL语句
+     * @param string $sql
+     * @return mix
+     */
+    public function query($sql)
+    {
+        return $this->getDb()->query($sql);
+    }
+
+    /**
+     * 获取表前缀
+     * @return string
+     */
+    public function getPrefix()
+    {
+        return isset($this->prefix) ? $this->prefix : '';
+    }
+
+    /**
+     * 获取表名
+     * @return string
+     */
+    public function getTableName()
+    {
+        return $this->table_name;
+    }
+
+    /**
+     * 生成WHERE子句
+     *
+     * @param array $map
+     *            array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildWhere($map, $tag = '')
+    {
+        if (!is_array($map) || empty($map)) {
+            return '';
+        }
+        $temp = array();
+        foreach ($map as $k => $v) {
+            if (is_array($v)) {
+                if (!empty($v ['_link'])) {
+                    $link = $v ['_link'];
+                    unset($v ['_link']);
+                    $str = $this->buildWhereWithLink($v, $link, $tag);
+                    !empty($str) ? $temp [] = ' ( ' . $str . ' ) ' : null;
+                } else {
+                    $temp [] = $this->buildWhereWithLink(array(
+                        $k => $v
+                    ), 'AND', $tag);
+                }
+            } else {
+                $temp [] = $this->buildWhereWithLink(array(
+                    $k => $v
+                ), 'AND', $tag);
+            }
+        }
+        return ' WHERE ' . implode(' AND ', $temp);
+    }
+
+    public function buildWhereWithLink($map, $link = 'AND', $tag = '')
+    {
+        if (!is_array($map) || empty($map)) {
+            return '';
+        }
+        $link = strtoupper($link);
+        if (!in_array($link, array(
+            'AND',
+            'OR'
+        ))
+        ) {
+            return '';
+        }
+        $temp = array();
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        $fhArr = array(
+            '<',
+            '<=',
+            '>',
+            '>=',
+            '!=',
+            '<>',
+            'LIKE',
+            '='
+        );
+        foreach ($map as $k => $v) {
+            if (is_array($v)) {
+                if (!empty($v ['_logic'])) {
+                    $v ['_logic'] = strtoupper($v ['_logic']);
+                    if (in_array($v ['_logic'], $fhArr)) {
+                        $temp [] = $tag . $this->dao->db->build_escape($k, 1) . ' ' . $v ['_logic'] . ' ' . $this->dao->db->build_escape($v ['value']) . '';
+                    }
+                } else {
+                    $mixArr = array();
+                    foreach ($v as $ke => $va) {
+                        if (is_array($va)) {
+                            if (!empty($va ['_logic'])) {
+                                $va ['_logic'] = strtoupper($va ['_logic']);
+                                if (in_array($va ['_logic'], $fhArr)) {
+                                    $temp [] = $tag . $this->dao->db->build_escape($k, 1) . ' ' . $va ['_logic'] . ' ' . $this->dao->db->build_escape($va ['value']) . '';
+                                }
+                            }
+                        } else {
+                            $mixArr [] = $this->dao->db->build_escape($va);
+                        }
+                    }
+                    !empty($mixArr) ? $temp [] = $tag . $this->dao->db->build_escape($k, 1) . 'IN (' . implode(',', $mixArr) . ') ' : null;
+                }
+            } else {
+                $temp [] = $tag . $this->dao->db->build_escape($k, 1) . '=' . $this->dao->db->build_escape($v);
+            }
+        }
+        return implode(' ' . $link . ' ', $temp);
+    }
+
+    /**
+     * 生成ORDER BY字句
+     *
+     * @param array $orderby array('field'=>'desc');
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildOrderBy($orderby, $tag = '')
+    {
+        if (!is_array($orderby) || empty($orderby)) {
+            return '';
+        }
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        $temp = array();
+        foreach ($orderby as $key => $val) {
+            $temp [] = $tag . $this->dao->db->build_escape($key, 1) . ' ' . ($val == 'desc' ? 'desc' : 'asc');
+        }
+        return ' ORDER BY  ' . implode(',', $temp);
+    }
+
+    /**
+     * 生成LIMIT字句
+     *
+     * @param array / int $limit 限制数 eg. (1)array(0,10) (2)10
+     * @return string
+     */
+    public function buildLimit($limit)
+    {
+        if (empty($limit)) {
+            return '';
+        }
+        if (is_array($limit)) {
+            return isset($limit [1]) ? ' LIMIT ' . intval($limit [0]) . ',' . intval($limit [1]) : ' LIMIT ' . intval($limit [0]);
+        } else {
+            return ' LIMIT ' . intval($limit);
+        }
+    }
+
+    /**
+     * 生成GROUP BY字句
+     *
+     * @param mixed(array,string) $groupby 字段
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildGroupBy($groupby, $tag = '')
+    {
+        if (empty($groupby)) {
+            return '';
+        }
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        if (is_array($groupby)) {
+            foreach ($groupby as $key => $val) {
+                $groupby [$key] = $tag . $this->dao->db->build_escape($val, 1);
+            }
+            return ' GROUP BY ' . implode(',', $groupby);
+        } else {
+            return ' GROUP BY ' . $this->dao->db->build_escape($tag . $groupby, 1);
+        }
+    }
+
+    /**
+     * 生成字段字句
+     *
+     * @param mixed(array,string) $fields 字段
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildFields($fields, $tag = '')
+    {
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        if (empty($fields)) {
+            return ' ' . $tag . '* ';
+        } else if (is_array($fields)) {
+            $temp = array();
+            foreach ($fields as $k => $v) {
+                $temp [] = $tag . $this->dao->db->build_escape($v, 1);
+            }
+            return implode(',', $temp);
+        } else {
+            return $fields;
+        }
+    }
+
+    /**
+     * 复杂的单表查询接口
+     *
+     * @param array $map
+     *            查询条件 eg. array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param array / string $fields
+     *            查询字段 eg. (1)array('字段1','字段2') (2) '字段1,字段2'
+     * @param array $orderby
+     *            排序条件 eg. array('id'=>'asc','appid'=>'desc')
+     * @param array / int $limit
+     *            限制查询数量 eg. (1)array(0,10) (2)10
+     * @param array / string $groupby
+     *            Group条件 eg (1)array('sid','pid') (2)pid
+     * @param string $table_name
+     * @return array
+     */
+    public function getAllByMutiple($map = array(), $fields = array(), $orderby = array(), $limit = array(), $groupby = array(), $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $fields = $this->buildFields($fields);
+        $sql = 'SELECT ' . $fields . ' FROM `' . $table_name . '` ';
+        $sql .= $this->buildWhere($map);
+        $sql .= $this->buildGroupBy($groupby);
+        $sql .= $this->buildOrderBy($orderby);
+        $sql .= $this->buildLimit($limit);
+        return $this->queryAll($sql);
+    }
+
+    /**
+     * 生成update字句
+     *
+     * @param array $set
+     *            更新项 array('field1'=>'value1','field2'=>array('_logic'=>'+','value'=>'value2'))
+     * @param string $tag
+     * @return string
+     */
+    public function buildSet($set, $tag = '')
+    {
+        if (!is_array($set) || empty($set)) {
+            return '';
+        }
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        $temp = array();
+        foreach ($set as $k => $v) {
+            if (is_array($v)) {
+                if (!empty($v ['_logic'])) {
+                    if (in_array($v ['_logic'], array(
+                        '+',
+                        '-',
+                        '*',
+                        '/',
+                        '%'
+                    ))) {
+                        $temp [] = $tag . $this->dao->db->build_escape($k, 1) . '=' . $tag . $this->dao->db->build_escape($k, 1) . $v ['_logic'] . $v ['value'];
+                    }
+                }
+            } else {
+                $temp [] = $tag . $this->dao->db->build_escape($k, 1) . '=' . $this->dao->db->build_escape($v);
+            }
+        }
+        return ' SET ' . implode(',', $temp);
+    }
+
+    /**
+     * 复杂的单表更新接口
+     *
+     * @param array $set
+     *            设置字段项 eg. array('field1'=>'value1','field2'=>array('_logic'=>'+','value'=>'value2'))
+     * @param array $map
+     *            条件项 eg. array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param string $table_name
+     * @return mix(interger or bool)
+     */
+    public function updateByMutiple($set, $map, $table_name = null)
+    {
+        if (!is_array($map)) {
+            return false;
+        }
+        !$table_name ? $table_name = $this->table_name : null;
+        $sql = 'UPDATE `' . $table_name . '` ';
+        $sql .= $this->buildSet($set);
+        $sql .= $this->buildWhere($map);
+        return $this->getDb()->query($sql);
+    }
+
+    /**
+     * 复杂的计算接口
+     *
+     * @param array $map
+     *            条件项 eg. array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param string $table_name
+     * @return int
+     */
+    public function countByMutiple($map = array(), $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $sql = 'SELECT COUNT(*) FROM `' . $table_name . '` ';
+        $sql .= $this->buildWhere($map);
+        return $this->queryOne($sql);
+    }
+
+    /**
+     * 复杂的删除语句
+     *
+     * @param array $map
+     *            条件项 eg. array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param string $table_name
+     * @return bool
+     */
+    public function deleteByMutiple($map, $table_name = null)
+    {
+        if (!is_array($map)) {
+            return false;
+        }
+        !$table_name ? $table_name = $this->table_name : null;
+        $sql = 'DELETE FROM `' . $table_name . '` ';
+        $sql .= $this->buildWhere($map);
+        return $this->query($sql);
+    }
+
+    /**
+     * 最小自增ID
+     *
+     * @param string $table_name 表名
+     * @param array $map 查询条件
+     * @return int
+     */
+    public function getMinId($table_name = null, $map = array())
+    {
+        $list = $this->getAllByMutiple($map, "MIN(id)  as min_id", null, null, null, $table_name);
+        return isset($list[0]['min_id']) ? (int)$list[0]['min_id'] : 0;
+    }
+
+    /**
+     * 最大自增ID
+     *
+     * @param string $table_name 表名
+     * @param array $map 查询条件
+     * @return int
+     */
+    public function getMaxId($table_name = null, $map = array())
+    {
+        $list = $this->getAllByMutiple($map, "MAX(id)  as max_id", null, null, null, $table_name);
+        return isset($list[0]['max_id']) ? (int)$list[0]['max_id'] : 0;
+    }
+
+}

+ 69 - 0
app/dao/inviteDao.php

@@ -0,0 +1,69 @@
+<?php
+
+/**
+ *
+ * @author Deben Chen
+ *
+ */
+class inviteDao extends commonDao
+{
+
+    public $table_name = 'invite_code';
+
+    protected $fields = "id,code,user,status,platform";
+
+    /**
+     * 取邀请码
+     *
+     * @param unknown $id            
+     */
+    public function getOneByInvite($code)
+    {
+        return $this->dao->db->get_one_by_field(array(
+            'code' => $code
+        ), $this->table_name);
+    }
+
+    /**
+     * 删除邀请码
+     * 
+     * @param unknown $code            
+     * @return boolean
+     */
+    public function delete($code)
+    {
+        $this->getDb()->update_by_field(array(
+            'status' => 0
+        ), array(
+            'code' => $code
+        ), $this->table_name);
+        // return $this->dao->db->delete_by_field(array('code'=>$code), $this->table_name);
+    }
+
+    /**
+     * 添加邀请码
+     * 
+     * @param unknown $data            
+     */
+    public function add($data)
+    {
+        return parent::add($data);
+        // $data=$this->dao->db->build_key($data, $this->fields);
+        // return $this->dao->db->insert($data, $this->table_name);
+    }
+
+    /**
+     * 获取所有的邀请码
+     * 
+     * @return Ambigous <number, multitype:multitype: >
+     */
+    public function getAll()
+    {
+        return parent::getAll(array(
+            'status'=>1,
+            'platform'=>'shadowsocks5'
+        ));
+        // $result=$this->dao->db->get_all($this->table_name);
+        // return $result[0];
+    }
+}

+ 250 - 0
app/dao/logsDao.php

@@ -0,0 +1,250 @@
+<?php
+
+/**
+ *
+ * @author Deben Chen
+ *
+ */
+class logsDao extends Dao
+{
+
+    public $table_name = 'logs';
+
+    private $fields = "id,port,ip,server_ip,time,location";
+
+    public function add($data, $ignore = false, $table_name = null)
+    {
+        if (! $table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->init_db()->insert($data, $table_name, $ignore);
+    }
+    /**
+     * 获取全部
+     * @param array $field
+     * @param string $id_key
+     * @param string $sort
+     * @param string $table_name
+     * @return array
+     */
+    public function getAll($field = array(), $id_key = 'id', $sort = 'ASC', $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $id_key = !empty($this->idKey) && $id_key == 'id' ? $this->idKey : $id_key;
+        return $this->getAllByMutiple($field, null, array($id_key => $sort), null, null, $table_name);
+    }
+    /**
+     * 复杂的单表查询接口
+     *
+     * @param array $map
+     *            查询条件 eg. array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param array / string $fields
+     *            查询字段 eg. (1)array('字段1','字段2') (2) '字段1,字段2'
+     * @param array $orderby
+     *            排序条件 eg. array('id'=>'asc','appid'=>'desc')
+     * @param array / int $limit
+     *            限制查询数量 eg. (1)array(0,10) (2)10
+     * @param array / string $groupby
+     *            Group条件 eg (1)array('sid','pid') (2)pid
+     * @param string $table_name
+     * @return array
+     */
+    public function getAllByMutiple($map = array(), $fields = array(), $orderby = array(), $limit = array(), $groupby = array(), $table_name = null)
+    {
+        !$table_name ? $table_name = $this->table_name : null;
+        $fields = $this->buildFields($fields);
+        $sql = 'SELECT ' . $fields . ' FROM `' . $table_name . '` ';
+        $sql .= $this->buildWhere($map);
+        $sql .= $this->buildGroupBy($groupby);
+        $sql .= $this->buildOrderBy($orderby);
+        $sql .= $this->buildLimit($limit);
+        return $this->queryAll($sql);
+    }
+    /**
+     * 生成字段字句
+     *
+     * @param mixed(array,string) $fields 字段
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildFields($fields, $tag = '')
+    {
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        if (empty($fields)) {
+            return ' ' . $tag . '* ';
+        } else if (is_array($fields)) {
+            $temp = array();
+            foreach ($fields as $k => $v) {
+                $temp [] = $tag . $this->dao->db->build_escape($v, 1);
+            }
+            return implode(',', $temp);
+        } else {
+            return $fields;
+        }
+    }
+    /**
+     * 获取数据库连接(多数据库)
+     * @return dbInit
+     */
+    protected function getDb()
+    {
+        return !empty($this->dbType) ? $this->init_db($this->dbType) : $this->init_db('default');
+    }
+    /**
+     * Sql语句查询,获取全部记录
+     * @param string $sql
+     * @return array / bool
+     */
+    public function queryAll($sql)
+    {
+        $result = $this->getDb()->query($sql, false);
+        if (!$result) {
+            return false;
+        }
+        $arr = array();
+        while ($row = $this->getDb()->fetch_assoc($result)) {
+            $arr [] = $row;
+        }
+        return $arr;
+    }
+    /**
+     * 生成LIMIT字句
+     *
+     * @param array / int $limit 限制数 eg. (1)array(0,10) (2)10
+     * @return string
+     */
+    public function buildLimit($limit)
+    {
+        if (empty($limit)) {
+            return '';
+        }
+        if (is_array($limit)) {
+            return isset($limit [1]) ? ' LIMIT ' . intval($limit [0]) . ',' . intval($limit [1]) : ' LIMIT ' . intval($limit [0]);
+        } else {
+            return ' LIMIT ' . intval($limit);
+        }
+    }
+    /**
+     * 生成ORDER BY字句
+     *
+     * @param array $orderby array('field'=>'desc');
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildOrderBy($orderby, $tag = '')
+    {
+        if (!is_array($orderby) || empty($orderby)) {
+            return '';
+        }
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        $temp = array();
+        foreach ($orderby as $key => $val) {
+            $temp [] = $tag . $this->dao->db->build_escape($key, 1) . ' ' . ($val == 'desc' ? 'desc' : 'asc');
+        }
+        return ' ORDER BY  ' . implode(',', $temp);
+    }
+    /**
+     * 生成GROUP BY字句
+     *
+     * @param mixed(array,string) $groupby 字段
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildGroupBy($groupby, $tag = '')
+    {
+        if (empty($groupby)) {
+            return '';
+        }
+        $tag = $tag ? $this->dao->db->build_escape($tag, 1) . '.' : '';
+        if (is_array($groupby)) {
+            foreach ($groupby as $key => $val) {
+                $groupby [$key] = $tag . $this->dao->db->build_escape($val, 1);
+            }
+            return ' GROUP BY ' . implode(',', $groupby);
+        } else {
+            return ' GROUP BY ' . $this->dao->db->build_escape($tag . $groupby, 1);
+        }
+    }
+    /**
+     * 生成WHERE子句
+     *
+     * @param array $map
+     *            array('field1'=>'11','field2'=>array('value1','value3'),'field3'=>array('_logic'=>'>=','value'=>1) );
+     * @param string $tag 数据库表标识名
+     * @return string
+     */
+    public function buildWhere($map, $tag = '')
+    {
+        if (!is_array($map) || empty($map)) {
+            return '';
+        }
+        $temp = array();
+        foreach ($map as $k => $v) {
+            if (is_array($v)) {
+                if (!empty($v ['_link'])) {
+                    $link = $v ['_link'];
+                    unset($v ['_link']);
+                    $str = $this->buildWhereWithLink($v, $link, $tag);
+                    !empty($str) ? $temp [] = ' ( ' . $str . ' ) ' : null;
+                } else {
+                    $temp [] = $this->buildWhereWithLink(array(
+                        $k => $v
+                    ), 'AND', $tag);
+                }
+            } else {
+                $temp [] = $this->buildWhereWithLink(array(
+                    $k => $v
+                ), 'AND', $tag);
+            }
+        }
+        return ' WHERE ' . implode(' AND ', $temp);
+    }
+
+    /**
+     * 通过字段查询获取第一条记录
+     * 
+     * @param array $data            
+     * @param string $table_name            
+     * @return array
+     */
+    public function getOneByField($data = array(), $table_name = null)
+    {
+        ! $table_name ? $table_name = $this->table_name : null;
+        return $this->init_db()->get_one_by_field($data, $table_name);
+    }
+    /**
+     * 更新(基于ID)
+     * @param int $id
+     * @param array $data
+     * @param string $table_name
+     * @return int
+     */
+    public function update($id, $data, $table_name = null)
+    {
+        if (!$table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->init_db()->update($id, $data, $table_name);
+    }
+    
+    /**
+     * 更新(基于其他字段)
+     * @param array $data
+     * @param array $field
+     * @param string $table_name
+     * @return int
+     */
+    public function updateByField($data, $field, $table_name = null)
+    {
+        if (!is_array($field)) {
+            return false;
+        }
+        if (!$table_name) {
+            $table_name = $this->table_name;
+            $data = $this->dao->db->build_key($data, $this->fields);
+        }
+        return $this->init_db()->update_by_field($data, $field, $table_name);
+    }
+}

+ 20 - 0
app/dao/mcDao.php

@@ -0,0 +1,20 @@
+<?php
+/**
+ * 
+ * @author Chen Deben
+ *
+ */
+class mcDao extends Dao{
+    /**
+     * 设置缓存
+     * @param string $key
+     * @param object $value
+     * @param int $time
+     */
+    public function set($key,$value,$time){
+       return $this->dao->cache->set($key, $value,$time,"MEM");
+    }
+    public function get($key){
+        return $this->dao->cache->get($key,"MEM");
+    }
+}

+ 36 - 0
app/dao/nodeDao.php

@@ -0,0 +1,36 @@
+<?php
+
+/**
+ *
+ * @author Deben Chen
+ *
+ */
+class nodeDao extends commonDao
+{
+
+    public $table_name = 'ss_node';
+
+    protected $fields = "id,node_name,node_type,node_www,node_server,node_method,node_info,node_status,node_order,idc_server,idc_url,api_veid,api_key";
+
+    /**
+     * 获取所有节点
+     */
+    public function getAllNode()
+    {
+        $result = $this->dao->db->get_all($this->table_name, $num = NULL, $offest = 0, $field = array(), $id_key = 'node_order');
+        $result = $result[0];
+        $this->dao->cache->set("node", $result, 0);
+        return $result;
+    }
+
+    /**
+     * 根据id获取节点信息
+     *
+     * @param unknown $id            
+     */
+    public function getNodeById($id)
+    {
+        $result = $this->dao->db->get_one($id, $this->table_name);
+        return $result;
+    }
+}

+ 16 - 0
app/dao/sshDao.php

@@ -0,0 +1,16 @@
+<?php
+
+/**
+ *
+ * @author Deben Chen
+ *
+ */
+class sshDao extends commonDao
+{
+
+    public $table_name = 'ssh';
+
+    protected $fields = "id,server,port,passwd,description";
+
+  
+}

+ 168 - 0
app/dao/userDao.php

@@ -0,0 +1,168 @@
+<?php
+
+/**
+ *
+ * @author meitu
+ *
+ */
+class userDao extends Dao
+{
+
+    public $table_name = 'user';
+
+    private $fields = "uid,user_name,email,pass,passwd,t,u,d,plan,transfer_enable,port,switch,enable,type,last_get_gift_time,last_check_in_time,last_rest_pass_time,reg_date,invite_num,money,code,vaild_time,last_login_time";
+
+    /**
+     * 新增用户
+     *
+     * @param
+     *            $user
+     */
+    public function createUser($info)
+    {
+        $info = $this->dao->db->build_key($info, $this->fields);
+        return $this->dao->db->insert($info, $this->table_name);
+    }
+
+    /**
+     * 删除一个用户
+     *
+     * @param unknown $uid            
+     * @return boolean
+     */
+    public function delUser($uid)
+    {
+        $data = array(
+            'switch' => 0
+        )
+        // 'enable' => 0
+        ;
+        return $this->dao->db->update_by_field($data, array(
+            'uid' => $uid
+        ), $this->table_name);
+    }
+
+    /**
+     * 根据用户id获取用户
+     *
+     * @return Ambigous <multitype:, boolean>
+     */
+    public function getUserById($id, $force = FALSE)
+    {
+        $result = $this->dao->db->get_one($id, $this->table_name, 'uid');
+        return $result;
+    }
+
+    /**
+     * 获取最后一个用户的端口号
+     */
+    public function getLastPort()
+    {
+        $sql = "SELECT port FROM `$this->table_name` ORDER BY UID DESC";
+        $result = $this->dao->db->get_one_sql($sql);
+        return $result['port'];
+    }
+
+    /**
+     * 获取所有用户的总流量
+     */
+    public function getAllTran()
+    {
+        $sql = "SELECT SUM(u) as up,SUM(d) as down FROM `user`";
+        $result = $this->dao->db->get_one_sql($sql);
+        return $result['up'] + $result['down'];
+    }
+
+    /**
+     * 根据用户名获取用户
+     *
+     * @return Ambigous <multitype:, boolean>
+     */
+    public function getUserByName($name)
+    {
+        $result = $this->dao->db->get_one_by_field(array(
+            'user_name' => $name
+        ), $this->table_name);
+        return $result;
+    }
+
+    /**
+     * 根据邮箱获取用户
+     *
+     * @return Ambigous <multitype:, boolean>
+     */
+    public function getUserByEmail($email)
+    {
+        $result = $this->dao->db->get_one_by_field(array(
+            'email' => $email
+        ), $this->table_name);
+        return $result;
+    }
+
+    /**
+     * 获取用户
+     *
+     * @return Ambigous <multitype:, boolean>
+     */
+    public function getUserByField($field)
+    {
+        $result = $this->dao->db->get_one_by_field($field, $this->table_name);
+        return $result;
+    }
+
+    /**
+     * 检测用户是否可以注册
+     *
+     * @param unknown $userinfo            
+     * @return boolean
+     */
+    public function checkUser($userinfo)
+    {
+        $result = $this->dao->db->get_one_by_field(array(
+            'user_name' => $userinfo['username']
+        ), $this->table_name);
+        if ($result) {
+            return false;
+        }
+        $result = $this->dao->db->get_one_by_field(array(
+            'email' => $userinfo['email']
+        ), $this->table_name);
+        if ($result) {
+            return false;
+        }
+        return true;
+    }
+
+    public function getUsers($num = NULL, $offset = 0)
+    {
+        $return = $this->dao->db->get_all($this->table_name, $num, $offset, array(), "d", 'desc');
+        return $return[0];
+    }
+
+    public function getCount()
+    {
+        return $this->dao->db->get_count($this->table_name);
+    }
+
+    /**
+     * 更新用户信息
+     *
+     * @param unknown $data            
+     * @param unknown $field            
+     * @return boolean
+     */
+    public function updateUser($id, $data)
+    {
+        $data = $this->dao->db->build_key($data, $this->fields);
+        $result = $this->dao->db->update_by_field($data, array(
+            "uid" => $id
+        ), $this->table_name);
+        return $result;
+    }
+
+    public function resetTran()
+    {
+        $sql = "UPDATE `user` SET `u` = '0', `d` = '0',`transfer_enable`='32212254720'";
+        return $this->dao->db->query($sql);
+    }
+}

+ 1 - 0
app/data/filecache/0148eb70acaa1c8904d5a7cc1c5e63f9.php

@@ -0,0 +1 @@
+<?php exit;?>1453538272(21600)a:23:{s:3:"uid";s:3:"317";s:9:"user_name";s:8:"shaoseng";s:5:"email";s:18:"shaoseng@gmail.com";s:4:"pass";s:32:"5d0976c0f3da433eacc48626280f64a2";s:6:"passwd";s:5:"53338";s:1:"t";s:10:"1453534711";s:1:"u";s:8:"19949424";s:1:"d";s:10:"1613764931";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37913362432";s:4:"port";s:5:"50736";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453538272";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 14:37:55";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453538265";}

+ 1 - 0
app/data/filecache/021c1fc5c7101dc249bdf3e17221a7f9.php

@@ -0,0 +1 @@
+<?php exit;?>1453545078(21600)a:23:{s:3:"uid";s:2:"96";s:9:"user_name";s:8:"karlxu11";s:5:"email";s:14:"karlzhe@qq.com";s:4:"pass";s:32:"cb4f6c7b0082e1133423503986ac3d51";s:6:"passwd";s:5:"38160";s:1:"t";s:10:"1453541805";s:1:"u";s:6:"104350";s:1:"d";s:6:"585935";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"55222206464";s:4:"port";s:5:"50282";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453545078";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-06 14:35:02";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453545071";}

+ 1 - 0
app/data/filecache/025db341ada3b6d8b1232425feaae372.php

@@ -0,0 +1 @@
+<?php exit;?>1453618340(21600)a:23:{s:3:"uid";s:4:"1680";s:9:"user_name";s:7:"sicifus";s:5:"email";s:19:"kuangft2000@163.com";s:4:"pass";s:32:"71abbbb3d827a2e1e0cf21562bf25f82";s:6:"passwd";s:5:"84650";s:1:"t";s:10:"1453617385";s:1:"u";s:6:"138632";s:1:"d";s:7:"1215070";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37807456256";s:4:"port";s:5:"53321";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453618340";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 14:31:46";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453618330";}

+ 1 - 0
app/data/filecache/027ac13e993cd72947adb8a3867d063f.php

@@ -0,0 +1 @@
+<?php exit;?>1453643231(21600)a:23:{s:3:"uid";s:4:"1561";s:9:"user_name";s:9:"xo06bh1oK";s:5:"email";s:16:"xo06bh1o@163.com";s:4:"pass";s:32:"c18d2af33e6839d2eb4f4ec58ffea3d5";s:6:"passwd";s:8:"17058349";s:1:"t";s:10:"1453642753";s:1:"u";s:7:"6893373";s:1:"d";s:9:"180653344";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"58151927808";s:4:"port";s:5:"53139";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453625293";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 00:39:31";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453643231";}

+ 1 - 0
app/data/filecache/03adb2c555c2cad67bff0939ebd49807.php

@@ -0,0 +1 @@
+<?php exit;?>1453470331(21600)a:23:{s:3:"uid";s:3:"146";s:9:"user_name";s:7:"Tmaster";s:5:"email";s:18:"jyzjj123@gmail.com";s:4:"pass";s:32:"5d93ceb70e2bf5daa84ec3d0cd2c731a";s:6:"passwd";s:5:"60428";s:1:"t";s:10:"1453469843";s:1:"u";s:7:"7459076";s:1:"d";s:8:"78775835";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"36419141632";s:4:"port";s:5:"50380";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453470191";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-10 21:47:47";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453470331";}

+ 1 - 0
app/data/filecache/03f5bce98de528b3feada4a9500fc2f1.php

@@ -0,0 +1 @@
+<?php exit;?>1453595265(21600)a:23:{s:3:"uid";s:4:"1760";s:9:"user_name";s:10:"woods_dong";s:5:"email";s:19:"woodsdong@gmail.com";s:4:"pass";s:32:"e15a016f4bd31fd58243f712fa92b0f4";s:6:"passwd";s:5:"60607";s:1:"t";s:10:"1453595257";s:1:"u";s:8:"36481932";s:1:"d";s:10:"1113838302";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"54279536640";s:4:"port";s:5:"53427";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453595265";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-27 13:11:45";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453595225";}

+ 1 - 0
app/data/filecache/06bb62490d38703f1d4f2552e481783b.php

@@ -0,0 +1 @@
+<?php exit;?>1453460971(21600)a:23:{s:3:"uid";s:2:"99";s:9:"user_name";s:11:"andrewblake";s:5:"email";s:21:"plm63091126@gmail.com";s:4:"pass";s:32:"f97b6ec32544b5e6dfbd459cca60edef";s:6:"passwd";s:5:"17187";s:1:"t";s:10:"1453459120";s:1:"u";s:5:"82179";s:1:"d";s:7:"1403568";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"48213524480";s:4:"port";s:5:"50289";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453460971";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-06 15:22:27";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453460966";}

+ 1 - 0
app/data/filecache/0722603650bc4a9fb2ab99b4e1ad2943.php

@@ -0,0 +1 @@
+<?php exit;?>1453582444(21600)N;

+ 1 - 0
app/data/filecache/074ee65a9362bea3f626abc84534fbfc.php

@@ -0,0 +1 @@
+<?php exit;?>1453615663(21600)a:23:{s:3:"uid";s:4:"1422";s:9:"user_name";s:5:"lvyao";s:5:"email";s:16:"294168881@qq.com";s:4:"pass";s:32:"55613dc78310b8267a1a4a382eca97df";s:6:"passwd";s:5:"17432";s:1:"t";s:10:"1441324028";s:1:"u";s:1:"0";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"34804334592";s:4:"port";s:5:"52919";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453615652";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 18:35:29";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453615631";}

+ 1 - 0
app/data/filecache/07775dce678731325b0097ba07fb7070.php

@@ -0,0 +1 @@
+<?php exit;?>1453597031(21600)a:23:{s:3:"uid";s:3:"155";s:9:"user_name";s:7:"derbyyj";s:5:"email";s:15:"derbyyj@126.com";s:4:"pass";s:32:"9a46e31d9602aa9bc8bdd5508add6537";s:6:"passwd";s:5:"78496";s:1:"t";s:10:"1453596088";s:1:"u";s:8:"24763067";s:1:"d";s:10:"5628564800";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"49015685120";s:4:"port";s:5:"50396";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453597031";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-11 13:28:22";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453597028";}

+ 1 - 0
app/data/filecache/094df90a6203a4b7f708d25219333d3a.php

@@ -0,0 +1 @@
+<?php exit;?>1453591597(21600)a:23:{s:3:"uid";s:4:"1270";s:9:"user_name";s:12:"qianlifeixue";s:5:"email";s:16:"649819734@qq.com";s:4:"pass";s:32:"0c9ebdc22c29e1fcd49548b1f9b3f549";s:6:"passwd";s:5:"83927";s:1:"t";s:10:"1453588844";s:1:"u";s:5:"43395";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"56584306688";s:4:"port";s:5:"52666";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453591597";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 10:51:48";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453591593";}

+ 1 - 0
app/data/filecache/09f051517109ad064650ce777ca9099a.php

@@ -0,0 +1 @@
+<?php exit;?>1453561039(21600)a:23:{s:3:"uid";s:3:"335";s:9:"user_name";s:7:"Rock168";s:5:"email";s:16:"tongw4@gmail.com";s:4:"pass";s:32:"17f14d9148f0dd7ea82e8db03c79b86e";s:6:"passwd";s:5:"55121";s:1:"t";s:10:"1453560832";s:1:"u";s:9:"165454379";s:1:"d";s:10:"1709654556";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45227180032";s:4:"port";s:5:"50769";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453561039";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 17:19:16";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453561034";}

+ 1 - 0
app/data/filecache/0bba4b3e0861e8105bb4cabf5918d9fd.php

@@ -0,0 +1 @@
+<?php exit;?>1453431792(21600)a:23:{s:3:"uid";s:4:"1203";s:9:"user_name";s:4:"3a4s";s:5:"email";s:19:"sdsd54321@gmail.com";s:4:"pass";s:32:"5b05fd6094841dc3a6784b4b16fa6bcc";s:6:"passwd";s:5:"18531";s:1:"t";s:10:"1453431797";s:1:"u";s:9:"136687039";s:1:"d";s:11:"14701853553";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37343985664";s:4:"port";s:5:"52520";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453427447";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 01:43:30";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453431792";}

+ 1 - 0
app/data/filecache/0c31029e1a4d1114d97977adb1df23de.php

@@ -0,0 +1 @@
+<?php exit;?>1453532603(21600)a:23:{s:3:"uid";s:4:"2034";s:9:"user_name";s:12:"就要慧勇";s:5:"email";s:24:"xionghuiyong@hotmail.com";s:4:"pass";s:32:"e763452e445bc146875714dc7e385cf0";s:6:"passwd";s:5:"79559";s:1:"t";s:10:"1453532598";s:1:"u";s:9:"308171855";s:1:"d";s:10:"8618497795";s:4:"plan";s:1:"B";s:15:"transfer_enable";s:11:"33291239424";s:4:"port";s:5:"53836";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1452419689";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-12-05 10:14:08";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:22:"shadowsocks591e20ca999";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453532603";}

+ 1 - 0
app/data/filecache/0cc07602d6adb410bfa68d73eef36e24.php

@@ -0,0 +1 @@
+<?php exit;?>1453545685(21600)a:23:{s:3:"uid";s:4:"1564";s:9:"user_name";s:10:"jeffjustin";s:5:"email";s:18:"jeffjustin@126.com";s:4:"pass";s:32:"0059bc467219770bc461536c64c29eda";s:6:"passwd";s:5:"43974";s:1:"t";s:10:"1453545694";s:1:"u";s:10:"1657429175";s:1:"d";s:11:"23131144532";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"88820678656";s:4:"port";s:5:"53144";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453545685";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 00:52:45";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453545676";}

+ 1 - 0
app/data/filecache/0cc90cf02c1f1c7e5f03d1d954214f2d.php

@@ -0,0 +1 @@
+<?php exit;?>1453639330(21600)a:23:{s:3:"uid";s:3:"688";s:9:"user_name";s:12:"shadowshadow";s:5:"email";s:15:"jsj612@yeah.net";s:4:"pass";s:32:"f6dd4fc1eb61a44d55af1398ebe748aa";s:6:"passwd";s:9:"372433669";s:1:"t";s:10:"1453639017";s:1:"u";s:9:"243595255";s:1:"d";s:10:"6934936645";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"56647221248";s:4:"port";s:5:"51498";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453566541";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 14:47:27";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453639330";}

+ 1 - 0
app/data/filecache/0d0b1cc1f9e6a76cb655be284ec5e843.php

@@ -0,0 +1 @@
+<?php exit;?>1453518684(21600)a:23:{s:3:"uid";s:4:"2050";s:9:"user_name";s:8:"yxh_mars";s:5:"email";s:15:"mars1002@qq.com";s:4:"pass";s:32:"8afa4461a07cc696e591f7e24145fc0b";s:6:"passwd";s:5:"51313";s:1:"t";s:10:"1453516434";s:1:"u";s:8:"85776574";s:1:"d";s:10:"2148149204";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"33728495616";s:4:"port";s:5:"53857";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453518684";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2016-01-05 13:47:16";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:20:"shadowsocks5e4da3b7f";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453518674";}

+ 1 - 0
app/data/filecache/0d6cd471792c4f3f90ea0038b4df8164.php

@@ -0,0 +1 @@
+<?php exit;?>1453617862(21600)a:23:{s:3:"uid";s:4:"1810";s:9:"user_name";s:11:"dukecd33369";s:5:"email";s:20:"dukecd33369@live.com";s:4:"pass";s:32:"33b509df33fee6f46ca80b9afbe55364";s:6:"passwd";s:5:"59130";s:1:"t";s:10:"1453617689";s:1:"u";s:6:"314032";s:1:"d";s:7:"8291879";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"53086257152";s:4:"port";s:5:"53501";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453617862";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-04-13 22:12:46";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453617853";}

+ 1 - 0
app/data/filecache/0f03a601b65137b2cf2eff3ed1ebb07d.php

@@ -0,0 +1 @@
+<?php exit;?>1453603083(21600)a:23:{s:3:"uid";s:3:"454";s:9:"user_name";s:8:"wbngz997";s:5:"email";s:19:"ls198420210@163.com";s:4:"pass";s:32:"a71e95363f6b6f1d5351a6e17708a8d5";s:6:"passwd";s:5:"76561";s:1:"t";s:10:"1453603068";s:1:"u";s:7:"8093004";s:1:"d";s:10:"1038717588";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"48956964864";s:4:"port";s:5:"51014";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453603083";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-19 20:04:56";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453603073";}

+ 1 - 0
app/data/filecache/0f38fb0934acabf288c5d76b4ac358a7.php

@@ -0,0 +1 @@
+<?php exit;?>1453518125(21600)a:23:{s:3:"uid";s:3:"150";s:9:"user_name";s:9:"rainie666";s:5:"email";s:16:"845906363@qq.com";s:4:"pass";s:32:"eb58e6b1b0da75f18dcaa6cd62a27286";s:6:"passwd";s:5:"93340";s:1:"t";s:10:"1453516738";s:1:"u";s:8:"56693763";s:1:"d";s:8:"45915714";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"39690698752";s:4:"port";s:5:"50387";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453518124";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-11 06:14:46";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453518113";}

+ 1 - 0
app/data/filecache/0f777b232ccdab5f1e4b2d1b6e63f34d.php

@@ -0,0 +1 @@
+<?php exit;?>1453641055(21600)a:23:{s:3:"uid";s:4:"1599";s:9:"user_name";s:9:"hckcherry";s:5:"email";s:17:"hckcherry@163.com";s:4:"pass";s:32:"48bf7c556cde81937e66044fcede328f";s:6:"passwd";s:5:"84978";s:1:"t";s:10:"1453639084";s:1:"u";s:5:"44220";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"51104448512";s:4:"port";s:5:"53198";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453641055";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 08:37:48";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453641050";}

+ 1 - 0
app/data/filecache/1024fdbe8d75a2f87e172d7d4a8c5c35.php

@@ -0,0 +1 @@
+<?php exit;?>1453610677(21600)a:23:{s:3:"uid";s:3:"642";s:9:"user_name";s:7:"bnuchen";s:5:"email";s:19:"bnuchengg@gmail.com";s:4:"pass";s:32:"4457d88bad05e39ba23c3320dc80b23d";s:6:"passwd";s:5:"98000";s:1:"t";s:10:"1453610149";s:1:"u";s:7:"4994430";s:1:"d";s:8:"42484692";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"38190186496";s:4:"port";s:5:"51399";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453610677";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 13:51:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453610669";}

+ 1 - 0
app/data/filecache/11a0ded52651846e0aea58071de8b835.php

@@ -0,0 +1 @@
+<?php exit;?>1453437569(21600)a:23:{s:3:"uid";s:4:"1966";s:9:"user_name";s:9:"709540081";s:5:"email";s:16:"709540081@qq.com";s:4:"pass";s:32:"1bbd886460827015e5d605ed44252251";s:6:"passwd";s:5:"79782";s:1:"t";s:10:"1453437372";s:1:"u";s:5:"41140";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"41466986496";s:4:"port";s:5:"53737";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453437569";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-05-10 22:59:55";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:22:"shadowsocks572afb52098";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453437562";}

+ 1 - 0
app/data/filecache/11b192fbdbb53062efa9af59791c1579.php

@@ -0,0 +1 @@
+<?php exit;?>1453538142(21600)a:23:{s:3:"uid";s:3:"318";s:9:"user_name";s:12:"wengshaoseng";s:5:"email";s:22:"wengshaoseng@gmail.com";s:4:"pass";s:32:"5d0976c0f3da433eacc48626280f64a2";s:6:"passwd";s:5:"86760";s:1:"t";s:10:"1453534732";s:1:"u";s:8:"46604625";s:1:"d";s:10:"4105623566";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"36949721088";s:4:"port";s:5:"50738";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453538142";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 14:39:25";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453538130";}

+ 1 - 0
app/data/filecache/11b2ed3e6dd1a5b8a1a77b0aeccaf2d4.php

@@ -0,0 +1 @@
+<?php exit;?>1453530404(21600)a:23:{s:3:"uid";s:3:"239";s:9:"user_name";s:20:"a271297009@gmail.com";s:5:"email";s:20:"a271297009@gmail.com";s:4:"pass";s:32:"17f790d414373e3dee5faf960ef01beb";s:6:"passwd";s:5:"43582";s:1:"t";s:10:"1453527517";s:1:"u";s:9:"109930824";s:1:"d";s:10:"2714423439";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"55182360576";s:4:"port";s:5:"50577";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453530404";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-16 22:53:21";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453530392";}

+ 1 - 0
app/data/filecache/11c831eb46002d9d1a88474b6923a487.php

@@ -0,0 +1 @@
+<?php exit;?>1453470055(21600)a:23:{s:3:"uid";s:4:"1791";s:9:"user_name";s:9:"hanchen15";s:5:"email";s:17:"hornney@gmail.com";s:4:"pass";s:32:"1b69f68f53b9dbc59091c8289d81dab9";s:6:"passwd";s:5:"15566";s:1:"t";s:10:"1453469642";s:1:"u";s:7:"7764244";s:1:"d";s:8:"15563408";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"46699380736";s:4:"port";s:5:"53473";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453470055";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-03-25 10:06:06";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453470040";}

+ 1 - 0
app/data/filecache/1207f2ca46c47b0adc146006c3acc7f1.php

@@ -0,0 +1 @@
+<?php exit;?>1453608377(21600)a:23:{s:3:"uid";s:3:"177";s:9:"user_name";s:8:"tddtffye";s:5:"email";s:17:"tddtffye@mail.com";s:4:"pass";s:32:"50d9b7b8bb865d4ad3c9e68131f1b2d9";s:6:"passwd";s:5:"20997";s:1:"t";s:10:"1453606602";s:1:"u";s:5:"43725";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"53646196736";s:4:"port";s:5:"50442";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453608377";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-14 23:09:34";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453608374";}

+ 1 - 0
app/data/filecache/1212d69fb97b7a816a289a1af75d53ec.php

@@ -0,0 +1 @@
+<?php exit;?>1453563657(21600)a:23:{s:3:"uid";s:4:"1547";s:9:"user_name";s:8:"ChinaLeo";s:5:"email";s:16:"scopus_1@live.cn";s:4:"pass";s:32:"eb2e74d296e1035914ee24c6b8ef2c9c";s:6:"passwd";s:16:"81867shadowsock5";s:1:"t";s:10:"1453560073";s:1:"u";s:8:"16707962";s:1:"d";s:9:"804776537";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"55513710592";s:4:"port";s:5:"53116";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453554587";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 23:46:04";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453563657";}

+ 1 - 0
app/data/filecache/13063d9aec97d2465e40c1530447cd2d.php

@@ -0,0 +1 @@
+<?php exit;?>1453571523(21600)a:23:{s:3:"uid";s:2:"49";s:9:"user_name";s:8:"zjj10990";s:5:"email";s:22:"0618033988qf@gmail.com";s:4:"pass";s:32:"14f30708b24c63b2856a34750ca564ed";s:6:"passwd";s:6:"782963";s:1:"t";s:10:"1453571084";s:1:"u";s:6:"440367";s:1:"d";s:8:"49556048";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45745176576";s:4:"port";s:5:"50190";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453571523";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-01-24 13:14:29";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453571515";}

+ 1 - 0
app/data/filecache/1361f7feb59af64001cc0c46282bfd97.php

@@ -0,0 +1 @@
+<?php exit;?>1453644064(21600)a:23:{s:3:"uid";s:4:"1222";s:9:"user_name";s:4:"choi";s:5:"email";s:16:"709180639@qq.com";s:4:"pass";s:32:"eb7ceae2f1fbfb4d63d16c824a775e1a";s:6:"passwd";s:5:"69671";s:1:"t";s:10:"1453642730";s:1:"u";s:5:"44275";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45173702656";s:4:"port";s:5:"52562";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453644064";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 07:02:06";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453643945";}

+ 1 - 0
app/data/filecache/140a38d561bea1c8df7c42db72a29e68.php

@@ -0,0 +1 @@
+<?php exit;?>1453580297(21600)a:23:{s:3:"uid";s:3:"785";s:9:"user_name";s:8:"jackyhwx";s:5:"email";s:18:"jackyhwx@gmail.com";s:4:"pass";s:32:"04b7a55f1a44148038e8f30349b58084";s:6:"passwd";s:5:"32057";s:1:"t";s:10:"1453577708";s:1:"u";s:8:"33687725";s:1:"d";s:9:"761733671";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"40526413824";s:4:"port";s:5:"51684";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1451190132";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 15:54:35";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453580297";}

+ 1 - 0
app/data/filecache/14cba80246990a3504553413c247c581.php

@@ -0,0 +1 @@
+<?php exit;?>1453538272(21600)a:23:{s:3:"uid";s:3:"317";s:9:"user_name";s:8:"shaoseng";s:5:"email";s:18:"shaoseng@gmail.com";s:4:"pass";s:32:"5d0976c0f3da433eacc48626280f64a2";s:6:"passwd";s:5:"53338";s:1:"t";s:10:"1453534711";s:1:"u";s:8:"19949424";s:1:"d";s:10:"1613764931";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37913362432";s:4:"port";s:5:"50736";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453538272";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 14:37:55";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453538265";}

+ 1 - 0
app/data/filecache/1660bbf8d3d22e741765947a9cc8d764.php

@@ -0,0 +1 @@
+<?php exit;?>1453431792(21600)a:23:{s:3:"uid";s:4:"1203";s:9:"user_name";s:4:"3a4s";s:5:"email";s:19:"sdsd54321@gmail.com";s:4:"pass";s:32:"5b05fd6094841dc3a6784b4b16fa6bcc";s:6:"passwd";s:5:"18531";s:1:"t";s:10:"1453431797";s:1:"u";s:9:"136687039";s:1:"d";s:11:"14701853553";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37343985664";s:4:"port";s:5:"52520";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453427447";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 01:43:30";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453431792";}

+ 1 - 0
app/data/filecache/16df8d1d5efee24fb7c364688dac3c78.php

@@ -0,0 +1 @@
+<?php exit;?>1453543511(21600)a:23:{s:3:"uid";s:3:"162";s:9:"user_name";s:9:"plpkx0000";s:5:"email";s:19:"plpkx0000@gmail.com";s:4:"pass";s:32:"6bbf02d366df372cb16efd46a40ab75c";s:6:"passwd";s:5:"55432";s:1:"t";s:10:"1453541805";s:1:"u";s:8:"43471016";s:1:"d";s:9:"232720524";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"38228983808";s:4:"port";s:5:"50410";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453543511";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-13 20:24:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453543500";}

+ 1 - 0
app/data/filecache/1761c81c34aec8f4fef5f926bba10e93.php

@@ -0,0 +1 @@
+<?php exit;?>1453604546(21600)a:23:{s:3:"uid";s:3:"147";s:9:"user_name";s:12:"vvcreg43grgr";s:5:"email";s:23:"bgj4j4jk43kn9@gmail.com";s:4:"pass";s:32:"b7bc91255e8d1107d989143583738b21";s:6:"passwd";s:5:"67382";s:1:"t";s:10:"1453603806";s:1:"u";s:9:"244435144";s:1:"d";s:9:"946453805";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"53927215104";s:4:"port";s:5:"50381";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453604546";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-10 22:54:59";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453604539";}

+ 1 - 0
app/data/filecache/185716891b305c8f127df920335eda49.php

@@ -0,0 +1 @@
+<?php exit;?>1453457013(0)a:9:{s:2:"id";s:1:"3";s:9:"node_name";s:13:"美国节点2";s:9:"node_type";s:1:"0";s:8:"node_www";s:0:"";s:11:"node_server";s:14:"s2.97admin.com";s:11:"node_method";s:11:"aes-256-cfb";s:9:"node_info";s:18:"美国,洛杉矶";s:11:"node_status";s:6:"可用";s:10:"node_order";s:1:"2";}

+ 1 - 0
app/data/filecache/19a792b28e18dfc9174e6971075adbdb.php

@@ -0,0 +1 @@
+<?php exit;?>1453601809(21600)a:23:{s:3:"uid";s:3:"417";s:9:"user_name";s:6:"xiang1";s:5:"email";s:15:"u1uuu15@126.com";s:4:"pass";s:32:"aa632327766e90c9e66ef57372d53198";s:6:"passwd";s:5:"26881";s:1:"t";s:10:"1453601793";s:1:"u";s:9:"228981550";s:1:"d";s:10:"4635087057";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"50399805440";s:4:"port";s:5:"50934";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453346391";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-19 14:43:32";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453601809";}

+ 1 - 0
app/data/filecache/1ac9c9cb03f21a3c6df0b52bde9d2aaf.php

@@ -0,0 +1 @@
+<?php exit;?>1453476004(21600)a:23:{s:3:"uid";s:3:"191";s:9:"user_name";s:12:"asdf1319964f";s:5:"email";s:23:"asdf131996455@gmail.com";s:4:"pass";s:32:"9909f8463f9e5f5692b6d00fec4dfcd8";s:6:"passwd";s:5:"18169";s:1:"t";s:10:"1453475991";s:1:"u";s:8:"16187396";s:1:"d";s:9:"731818542";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"34450964480";s:4:"port";s:5:"50467";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453476004";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-15 23:12:43";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453475994";}

+ 1 - 0
app/data/filecache/1c1b9c0f93399f8fd419b474cfb4be04.php

@@ -0,0 +1 @@
+<?php exit;?>1453513754(21600)a:23:{s:3:"uid";s:4:"1346";s:9:"user_name";s:7:"idnicho";s:5:"email";s:17:"idnicho@gmail.com";s:4:"pass";s:32:"50fb6124912989a84d6fe46705826932";s:6:"passwd";s:5:"50144";s:1:"t";s:10:"1453512913";s:1:"u";s:5:"42295";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"48356130816";s:4:"port";s:5:"52805";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453513754";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 16:10:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453513593";}

+ 1 - 0
app/data/filecache/1d877bfc60bf5b515840222376d8a3e1.php

@@ -0,0 +1 @@
+<?php exit;?>1453641392(21600)a:23:{s:3:"uid";s:3:"329";s:9:"user_name";s:10:"luckysnake";s:5:"email";s:26:"luckysnakeyvonne@gmail.com";s:4:"pass";s:32:"3c9b4657b3df3d50bfda9281a13c1132";s:6:"passwd";s:5:"84730";s:1:"t";s:10:"1453638973";s:1:"u";s:9:"612237294";s:1:"d";s:10:"3168358042";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"51285852160";s:4:"port";s:5:"50760";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453604183";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 17:04:25";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453641392";}

+ 1 - 0
app/data/filecache/1f4ba0701cb360fc3f53099b44c17dc6.php

@@ -0,0 +1 @@
+<?php exit;?>1453629349(21600)a:23:{s:3:"uid";s:2:"18";s:9:"user_name";s:8:"jahangir";s:5:"email";s:23:"jahangir.he@hotmail.com";s:4:"pass";s:32:"2f53dcf6cd93ca22a67e86ee3c31a241";s:6:"passwd";s:5:"72535";s:1:"t";s:10:"1453628344";s:1:"u";s:8:"99867522";s:1:"d";s:11:"37653995317";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45855277056";s:4:"port";s:5:"50034";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453629349";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-01-22 16:53:56";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453629345";}

+ 1 - 0
app/data/filecache/2001608dafed3624bc25ad844666c9ba.php

@@ -0,0 +1 @@
+<?php exit;?>1453445987(0)a:9:{s:2:"id";s:1:"2";s:9:"node_name";s:13:"美国节点1";s:9:"node_type";s:1:"0";s:8:"node_www";s:0:"";s:11:"node_server";s:14:"s1.97admin.com";s:11:"node_method";s:11:"aes-256-cfb";s:9:"node_info";s:18:"美国,洛杉矶";s:11:"node_status";s:6:"可用";s:10:"node_order";s:1:"1";}

+ 1 - 0
app/data/filecache/201484ad389f2765c91f14c8a09ad907.php

@@ -0,0 +1 @@
+<?php exit;?>1453597115(21600)a:23:{s:3:"uid";s:4:"1792";s:9:"user_name";s:10:"Invincible";s:5:"email";s:23:"invincible.zh@gmail.com";s:4:"pass";s:32:"b52e7efc0649131e0d4eb5dc35084a9c";s:6:"passwd";s:5:"66458";s:1:"t";s:10:"1453595657";s:1:"u";s:7:"2216219";s:1:"d";s:8:"90877910";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"57029951488";s:4:"port";s:5:"53474";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453597115";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-03-25 12:50:38";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453597106";}

+ 1 - 0
app/data/filecache/204a4f29aeb9bab19420596ee4132a22.php

@@ -0,0 +1 @@
+<?php exit;?>1453589907(21600)a:23:{s:3:"uid";s:2:"26";s:9:"user_name";s:7:"viqbgrg";s:5:"email";s:16:"416178440@qq.com";s:4:"pass";s:32:"53cfe449117e9c7821b3e35389ba71d4";s:6:"passwd";s:5:"90241";s:1:"t";s:10:"1453588844";s:1:"u";s:8:"47355943";s:1:"d";s:9:"509718230";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"61253615616";s:4:"port";s:5:"50073";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453589905";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-01-22 17:25:04";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453589902";}

+ 1 - 0
app/data/filecache/20c4c00db74a7035a8a5d4e83f6450b8.php

@@ -0,0 +1 @@
+<?php exit;?>1453634861(21600)a:23:{s:3:"uid";s:4:"1418";s:9:"user_name";s:7:"jack722";s:5:"email";s:20:"zhoulu2009@gmail.com";s:4:"pass";s:32:"7260d2baba42506ee05dc5281c5511dc";s:6:"passwd";s:5:"12643";s:1:"t";s:10:"1453631925";s:1:"u";s:7:"8072210";s:1:"d";s:8:"31847133";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45995786240";s:4:"port";s:5:"52913";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453634861";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 18:26:20";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453634831";}

+ 1 - 0
app/data/filecache/21a117e444e1e77bd03f34f80ac32c39.php

@@ -0,0 +1 @@
+<?php exit;?>1453545665(21600)a:23:{s:3:"uid";s:4:"1566";s:9:"user_name";s:8:"nomgoeee";s:5:"email";s:16:"nomgoeee@126.com";s:4:"pass";s:32:"475ca8b803f75494a983180192f5d20a";s:6:"passwd";s:5:"41263";s:1:"t";s:10:"1450741635";s:1:"u";s:1:"0";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"53769928704";s:4:"port";s:5:"53146";s:6:"switch";s:1:"0";s:6:"enable";s:1:"0";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453545665";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 00:53:29";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453545656";}

+ 1 - 0
app/data/filecache/230815488721b2e430dcdbcab81e9e57.php

@@ -0,0 +1 @@
+<?php exit;?>1453629349(21600)a:23:{s:3:"uid";s:2:"18";s:9:"user_name";s:8:"jahangir";s:5:"email";s:23:"jahangir.he@hotmail.com";s:4:"pass";s:32:"2f53dcf6cd93ca22a67e86ee3c31a241";s:6:"passwd";s:5:"72535";s:1:"t";s:10:"1453628344";s:1:"u";s:8:"99867522";s:1:"d";s:11:"37653995317";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45855277056";s:4:"port";s:5:"50034";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453629349";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-01-22 16:53:56";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453629345";}

+ 1 - 0
app/data/filecache/23e5eb3e235cad34dad233da0106ba34.php

@@ -0,0 +1 @@
+<?php exit;?>1453641055(21600)a:23:{s:3:"uid";s:4:"1599";s:9:"user_name";s:9:"hckcherry";s:5:"email";s:17:"hckcherry@163.com";s:4:"pass";s:32:"48bf7c556cde81937e66044fcede328f";s:6:"passwd";s:5:"84978";s:1:"t";s:10:"1453639084";s:1:"u";s:5:"44220";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"51104448512";s:4:"port";s:5:"53198";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453641055";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 08:37:48";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453641050";}

+ 1 - 0
app/data/filecache/25aa9c78284163a994f38deaba8ff220.php

@@ -0,0 +1 @@
+<?php exit;?>1453644064(21600)a:23:{s:3:"uid";s:4:"1222";s:9:"user_name";s:4:"choi";s:5:"email";s:16:"709180639@qq.com";s:4:"pass";s:32:"eb7ceae2f1fbfb4d63d16c824a775e1a";s:6:"passwd";s:5:"69671";s:1:"t";s:10:"1453642730";s:1:"u";s:5:"44275";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"45173702656";s:4:"port";s:5:"52562";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453644064";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 07:02:06";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453643945";}

+ 1 - 0
app/data/filecache/2667e213d6ffc9952b07ba405ec03b8b.php

@@ -0,0 +1 @@
+<?php exit;?>1453440930(21600)a:23:{s:3:"uid";s:3:"132";s:9:"user_name";s:11:"wen38661637";s:5:"email";s:15:"sxg2222@tom.com";s:4:"pass";s:32:"211902258e2a02736137c3303d5eb477";s:6:"passwd";s:5:"89570";s:1:"t";s:10:"1453439981";s:1:"u";s:8:"23250637";s:1:"d";s:10:"2181935743";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"52992933888";s:4:"port";s:5:"50357";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453424527";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-09 16:36:26";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453440930";}

+ 1 - 0
app/data/filecache/26abd8888175d5f454b4f8b552b95146.php

@@ -0,0 +1 @@
+<?php exit;?>1453442846(21600)a:23:{s:3:"uid";s:3:"220";s:9:"user_name";s:8:"yuge0099";s:5:"email";s:21:"x191847115@VIP.qq.com";s:4:"pass";s:32:"47aa811af4cf0afac67ecdef46bf608c";s:6:"passwd";s:5:"49229";s:1:"t";s:10:"1453442835";s:1:"u";s:7:"1398105";s:1:"d";s:8:"13647050";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"33046921216";s:4:"port";s:5:"50532";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453442846";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-16 09:12:03";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453442841";}

+ 1 - 0
app/data/filecache/2956d26467a8d774769701543ca9e435.php

@@ -0,0 +1 @@
+<?php exit;?>1453442846(21600)a:23:{s:3:"uid";s:3:"220";s:9:"user_name";s:8:"yuge0099";s:5:"email";s:21:"x191847115@VIP.qq.com";s:4:"pass";s:32:"47aa811af4cf0afac67ecdef46bf608c";s:6:"passwd";s:5:"49229";s:1:"t";s:10:"1453442835";s:1:"u";s:7:"1398105";s:1:"d";s:8:"13647050";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"33046921216";s:4:"port";s:5:"50532";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453442846";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-16 09:12:03";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453442841";}

+ 1 - 0
app/data/filecache/29c17e47d0b0c3b4fbaf144c6e626135.php

@@ -0,0 +1 @@
+<?php exit;?>1453635356(21600)a:23:{s:3:"uid";s:3:"616";s:9:"user_name";s:15:"路飞的橡皮";s:5:"email";s:19:"zjsdu2013@gmail.com";s:4:"pass";s:32:"d94991964aa73e25bfcccc58993411ad";s:6:"passwd";s:6:"110606";s:1:"t";s:10:"1453635291";s:1:"u";s:8:"24408459";s:1:"d";s:10:"1297731390";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"44623200256";s:4:"port";s:5:"51343";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453635356";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 11:55:40";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453635351";}

+ 1 - 0
app/data/filecache/2a12fc774c41ed53b97a20e65873c1a0.php

@@ -0,0 +1 @@
+<?php exit;?>1453608620(21600)a:23:{s:3:"uid";s:3:"267";s:9:"user_name";s:5:"qfbjp";s:5:"email";s:14:"qfbjp@21cn.com";s:4:"pass";s:32:"fcf0c00a29933cd2d75079cbf41ecf42";s:6:"passwd";s:5:"10378";s:1:"t";s:10:"1453606579";s:1:"u";s:6:"237822";s:1:"d";s:8:"17958300";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"35078012928";s:4:"port";s:5:"50632";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453608620";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-17 13:46:51";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453608606";}

+ 1 - 0
app/data/filecache/2aa6ca02854c7a274eda00bd87c100ba.php

@@ -0,0 +1 @@
+<?php exit;?>1453638206(21600)a:23:{s:3:"uid";s:4:"1913";s:9:"user_name";s:9:"leoohyeah";s:5:"email";s:16:"leoohyeah@qq.com";s:4:"pass";s:32:"1db72b7af06f1b6032ff8da2c54ca2f4";s:6:"passwd";s:5:"96696";s:1:"t";s:10:"1453635610";s:1:"u";s:7:"1008379";s:1:"d";s:9:"223145928";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"50714378240";s:4:"port";s:5:"53656";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453638206";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-04-30 21:23:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:23:"shadowsocks51365b9c0092";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453638201";}

+ 1 - 0
app/data/filecache/2b70f95b1bd85c434db510040ca28ecf.php

@@ -0,0 +1 @@
+<?php exit;?>1453629355(21600)a:23:{s:3:"uid";s:4:"1797";s:9:"user_name";s:6:"SaiSyu";s:5:"email";s:14:"btsdsl@163.com";s:4:"pass";s:32:"e98671601052a1b7b428559585d61554";s:6:"passwd";s:5:"43035";s:1:"t";s:10:"1453629365";s:1:"u";s:7:"2722243";s:1:"d";s:9:"112418303";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"44135612416";s:4:"port";s:5:"53482";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453629355";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-03-25 19:06:53";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453629351";}

+ 1 - 0
app/data/filecache/2e3b4b9bcf9a1c90b6d93c6afd906a2e.php

@@ -0,0 +1 @@
+<?php exit;?>1453470455(21600)a:23:{s:3:"uid";s:4:"1539";s:9:"user_name";s:6:"0riser";s:5:"email";s:16:"609794470@qq.com";s:4:"pass";s:32:"8d267d3efef05e133f36f13b79702ab7";s:6:"passwd";s:6:"google";s:1:"t";s:10:"1453469887";s:1:"u";s:6:"429184";s:1:"d";s:8:"14088660";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"40284192768";s:4:"port";s:5:"53103";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453470455";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 23:26:07";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453470450";}

+ 1 - 0
app/data/filecache/2e49f3803da7745123431cc7ce64c603.php

@@ -0,0 +1 @@
+<?php exit;?>1453470413(0)a:9:{s:2:"id";s:1:"6";s:9:"node_name";s:13:"美国节点3";s:9:"node_type";s:1:"0";s:8:"node_www";s:0:"";s:11:"node_server";s:14:"s4.97admin.com";s:11:"node_method";s:11:"aes-256-cfb";s:9:"node_info";s:31:"Mesquite, Nevada, United States";s:11:"node_status";s:6:"可用";s:10:"node_order";s:1:"3";}

+ 1 - 0
app/data/filecache/2ed6ed5fbd0e77c2eb9e54a19c84bd0e.php

@@ -0,0 +1 @@
+<?php exit;?>1453630798(21600)a:23:{s:3:"uid";s:4:"1456";s:9:"user_name";s:6:"hdy331";s:5:"email";s:13:"hdy331@qq.com";s:4:"pass";s:32:"c127d4bcaaedcbd50d77e52b9dac22ff";s:6:"passwd";s:5:"29992";s:1:"t";s:10:"1453628182";s:1:"u";s:5:"90089";s:1:"d";s:7:"1548778";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"54640246784";s:4:"port";s:5:"52969";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453630798";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 20:01:18";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453630795";}

+ 1 - 0
app/data/filecache/2ffc5e3f513258fcec73b280187547af.php

@@ -0,0 +1 @@
+<?php exit;?>1453542287(21600)a:23:{s:3:"uid";s:3:"927";s:9:"user_name";s:9:"sdwshlsdx";s:5:"email";s:22:"sdwshlsdx888@gmail.com";s:4:"pass";s:32:"03ec3c572f7dca498644637201a67e34";s:6:"passwd";s:5:"18085";s:1:"t";s:10:"1453542285";s:1:"u";s:8:"27225344";s:1:"d";s:9:"557797254";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"36975935488";s:4:"port";s:5:"51966";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453542287";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 20:14:34";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453542285";}

+ 1 - 0
app/data/filecache/3026d33e9f09cc9b9c539a32df83df23.php

@@ -0,0 +1 @@
+<?php exit;?>1453634017(21600)a:23:{s:3:"uid";s:3:"406";s:9:"user_name";s:5:"wsylt";s:5:"email";s:17:"1207597567@qq.com";s:4:"pass";s:32:"a1f30463621d9728f5ef9bfdb99b55a2";s:6:"passwd";s:5:"46021";s:1:"t";s:10:"1453633993";s:1:"u";s:8:"62144227";s:1:"d";s:10:"2147843824";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"34686894080";s:4:"port";s:5:"50913";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453435256";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-19 11:17:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453634017";}

+ 1 - 0
app/data/filecache/30fe1a90ca1bc95f048e33f60a420c06.php

@@ -0,0 +1 @@
+<?php exit;?>1453456963(21600)a:23:{s:3:"uid";s:3:"124";s:9:"user_name";s:11:"Ilmiotesoro";s:5:"email";s:21:"ilmiatesora@gmail.com";s:4:"pass";s:32:"44a395ce30b2b99fbbf5990ab785e2aa";s:6:"passwd";s:5:"76530";s:1:"t";s:10:"1453456952";s:1:"u";s:8:"49453013";s:1:"d";s:10:"2165192439";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"35422994432";s:4:"port";s:5:"50342";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453456963";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-08 16:07:40";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453456954";}

+ 1 - 0
app/data/filecache/313608be1a694e58abae30c13c7155dc.php

@@ -0,0 +1 @@
+<?php exit;?>1453637594(21600)a:23:{s:3:"uid";s:3:"337";s:9:"user_name";s:13:"Christinayiyi";s:5:"email";s:22:"Christinayiyi@yeah.net";s:4:"pass";s:32:"0140ef511ad6aed6a68c17c1746c2bbb";s:6:"passwd";s:5:"21320";s:1:"t";s:10:"1453635564";s:1:"u";s:7:"2466446";s:1:"d";s:8:"85859924";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"49199185920";s:4:"port";s:5:"50773";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453637594";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 17:26:26";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453637591";}

+ 1 - 0
app/data/filecache/3190dc8fbd497d7915514fc3bbfbc812.php

@@ -0,0 +1 @@
+<?php exit;?>1453605630(21600)a:23:{s:3:"uid";s:2:"21";s:9:"user_name";s:9:"bygreencn";s:5:"email";s:15:"bygreen@163.com";s:4:"pass";s:32:"4055ecccd874e7e00d1e890885d24238";s:6:"passwd";s:5:"51010";s:1:"t";s:10:"1453602860";s:1:"u";s:7:"1008121";s:1:"d";s:8:"52530819";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"63136858112";s:4:"port";s:5:"50050";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453605629";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-01-22 17:12:50";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453605593";}

+ 1 - 0
app/data/filecache/331e4a3480924ebfa32372ba094a5e8a.php

@@ -0,0 +1 @@
+<?php exit;?>1453549929(21600)a:23:{s:3:"uid";s:3:"392";s:9:"user_name";s:8:"14240366";s:5:"email";s:17:"1065570127@qq.com";s:4:"pass";s:32:"bf2a45b0a5404524b4975478ad0e4486";s:6:"passwd";s:6:"075075";s:1:"t";s:10:"1453549920";s:1:"u";s:8:"44388026";s:1:"d";s:9:"583006879";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"34776023040";s:4:"port";s:5:"50881";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453549929";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-19 00:48:08";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453549917";}

+ 1 - 0
app/data/filecache/3328592397c6aef19f9099253a09a721.php

@@ -0,0 +1 @@
+<?php exit;?>1453542287(21600)a:23:{s:3:"uid";s:3:"927";s:9:"user_name";s:9:"sdwshlsdx";s:5:"email";s:22:"sdwshlsdx888@gmail.com";s:4:"pass";s:32:"03ec3c572f7dca498644637201a67e34";s:6:"passwd";s:5:"18085";s:1:"t";s:10:"1453542285";s:1:"u";s:8:"27225344";s:1:"d";s:9:"557797254";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"36975935488";s:4:"port";s:5:"51966";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453542287";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 20:14:34";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453542285";}

+ 1 - 0
app/data/filecache/3624075e235369f35dfb0c976d6822c4.php

@@ -0,0 +1 @@
+<?php exit;?>1453529353(21600)a:23:{s:3:"uid";s:4:"1488";s:9:"user_name";s:7:"Tragedy";s:5:"email";s:16:"939483513@qq.com";s:4:"pass";s:32:"ebc71cad7551336bbcc1243de91f195c";s:6:"passwd";s:5:"17282";s:1:"t";s:10:"1453527670";s:1:"u";s:7:"8705211";s:1:"d";s:9:"216538937";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"40322990080";s:4:"port";s:5:"53019";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453529353";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 21:36:41";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453529351";}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
app/data/filecache/36c4536996ca5615dcf9911f068786dc.php


+ 1 - 0
app/data/filecache/385b06a71f81f48de004094647d7af18.php

@@ -0,0 +1 @@
+<?php exit;?>1453446717(21600)a:23:{s:3:"uid";s:3:"586";s:9:"user_name";s:9:"wojiaozhc";s:5:"email";s:16:"960582284@qq.com";s:4:"pass";s:32:"6c06626c5efcf0266298ab12efbe949c";s:6:"passwd";s:5:"20076";s:1:"t";s:10:"1453444702";s:1:"u";s:7:"4474357";s:1:"d";s:9:"216772831";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"48731521024";s:4:"port";s:5:"51280";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453446717";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-21 16:10:21";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453446700";}

+ 1 - 0
app/data/filecache/38689571095e5e108fd8a9108f1445c7.php

@@ -0,0 +1 @@
+<?php exit;?>1453546905(21600)a:23:{s:3:"uid";s:4:"1083";s:9:"user_name";s:7:"illtree";s:5:"email";s:17:"alwaysyys@163.com";s:4:"pass";s:32:"a0c4654bf023ab3e7772039631169c6d";s:6:"passwd";s:5:"93566";s:1:"t";s:10:"1453545534";s:1:"u";s:9:"565291696";s:1:"d";s:10:"1010705900";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"38244712448";s:4:"port";s:5:"52275";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453546905";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 22:47:19";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453546898";}

+ 1 - 0
app/data/filecache/3cf5ac13b838cde63f17179bab4f1d49.php

@@ -0,0 +1 @@
+<?php exit;?>1453591266(21600)a:23:{s:3:"uid";s:4:"1729";s:9:"user_name";s:9:"chenray81";s:5:"email";s:20:"chen.ray81@gmail.com";s:4:"pass";s:32:"2cb806975c8b66e1a2b1430d66fda842";s:6:"passwd";s:5:"82751";s:1:"t";s:10:"1453588658";s:1:"u";s:5:"43450";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"48136978432";s:4:"port";s:5:"53389";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453591266";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-26 21:22:28";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453591255";}

+ 1 - 0
app/data/filecache/403b86c35409c1db32d567e466bf60db.php

@@ -0,0 +1 @@
+<?php exit;?>1453597115(21600)a:23:{s:3:"uid";s:4:"1792";s:9:"user_name";s:10:"Invincible";s:5:"email";s:23:"invincible.zh@gmail.com";s:4:"pass";s:32:"b52e7efc0649131e0d4eb5dc35084a9c";s:6:"passwd";s:5:"66458";s:1:"t";s:10:"1453595657";s:1:"u";s:7:"2216219";s:1:"d";s:8:"90877910";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"57029951488";s:4:"port";s:5:"53474";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453597115";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-03-25 12:50:38";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453597106";}

+ 1 - 0
app/data/filecache/4126e19aba9d110e9398d6d3675c758e.php

@@ -0,0 +1 @@
+<?php exit;?>1453635356(21600)a:23:{s:3:"uid";s:3:"616";s:9:"user_name";s:15:"路飞的橡皮";s:5:"email";s:19:"zjsdu2013@gmail.com";s:4:"pass";s:32:"d94991964aa73e25bfcccc58993411ad";s:6:"passwd";s:6:"110606";s:1:"t";s:10:"1453635291";s:1:"u";s:8:"24408459";s:1:"d";s:10:"1297731390";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"44623200256";s:4:"port";s:5:"51343";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453635356";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 11:55:40";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453635351";}

+ 1 - 0
app/data/filecache/42309c86220406185a68b54d034cb231.php

@@ -0,0 +1 @@
+<?php exit;?>1453632089(21600)a:23:{s:3:"uid";s:4:"1673";s:9:"user_name";s:7:"pandrao";s:5:"email";s:19:"kkann2008@gmail.com";s:4:"pass";s:32:"b7391896719566b7ed8134b8759f1d8a";s:6:"passwd";s:5:"54362";s:1:"t";s:10:"1453631608";s:1:"u";s:5:"44110";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"52616495104";s:4:"port";s:5:"53310";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453632089";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-24 13:47:32";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453632078";}

+ 1 - 0
app/data/filecache/42cb3217e7f4c3fb481ec4bd01f16f72.php

@@ -0,0 +1 @@
+<?php exit;?>1453604546(21600)a:23:{s:3:"uid";s:3:"147";s:9:"user_name";s:12:"vvcreg43grgr";s:5:"email";s:23:"bgj4j4jk43kn9@gmail.com";s:4:"pass";s:32:"b7bc91255e8d1107d989143583738b21";s:6:"passwd";s:5:"67382";s:1:"t";s:10:"1453603806";s:1:"u";s:9:"244435144";s:1:"d";s:9:"946453805";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"53927215104";s:4:"port";s:5:"50381";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453604546";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-10 22:54:59";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453604539";}

+ 1 - 0
app/data/filecache/43593797196f45b06e86dfb8abfb5180.php

@@ -0,0 +1 @@
+<?php exit;?>1453437569(21600)a:23:{s:3:"uid";s:4:"1966";s:9:"user_name";s:9:"709540081";s:5:"email";s:16:"709540081@qq.com";s:4:"pass";s:32:"1bbd886460827015e5d605ed44252251";s:6:"passwd";s:5:"79782";s:1:"t";s:10:"1453437372";s:1:"u";s:5:"41140";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"41466986496";s:4:"port";s:5:"53737";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453437569";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-05-10 22:59:55";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:22:"shadowsocks572afb52098";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453437562";}

+ 1 - 0
app/data/filecache/45afec7ecfeda0c63ddfa1fb0fd6d603.php

@@ -0,0 +1 @@
+<?php exit;?>1453434131(21600)a:23:{s:3:"uid";s:3:"377";s:9:"user_name";s:5:"kachi";s:5:"email";s:21:"zhoujia1225@gmail.com";s:4:"pass";s:32:"ee829ccfa0e62e39b0bc28a8b914d4fc";s:6:"passwd";s:5:"23947";s:1:"t";s:10:"1453433687";s:1:"u";s:8:"18454373";s:1:"d";s:9:"463845669";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"46097498112";s:4:"port";s:5:"50851";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453434131";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 21:24:00";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453434122";}

+ 1 - 0
app/data/filecache/45f85f2daea584eee41b26412dc0ef24.php

@@ -0,0 +1 @@
+<?php exit;?>1453463852(21600)a:23:{s:3:"uid";s:4:"1833";s:9:"user_name";s:7:"12style";s:5:"email";s:15:"76486962@qq.com";s:4:"pass";s:32:"0ea66a6f8a6dbf27ad0c28278fd1a042";s:6:"passwd";s:5:"88280";s:1:"t";s:10:"1453463850";s:1:"u";s:9:"180267195";s:1:"d";s:10:"3514440972";s:4:"plan";s:1:"B";s:15:"transfer_enable";s:11:"34726739968";s:4:"port";s:5:"53534";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453463852";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-04-17 21:32:11";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";s:0:"";s:10:"vaild_time";s:1:"0";s:15:"last_login_time";s:10:"1453463843";}

+ 1 - 0
app/data/filecache/4614f759b9273c9488a5e05ff58bd7ea.php

@@ -0,0 +1 @@
+<?php exit;?>1453641755(21600)a:23:{s:3:"uid";s:3:"885";s:9:"user_name";s:9:"logos2008";s:5:"email";s:17:"logos2007@163.com";s:4:"pass";s:32:"4b0b5cf02b1c9e86f497ebbdad4cf155";s:6:"passwd";s:5:"72971";s:1:"t";s:10:"1453641750";s:1:"u";s:9:"309427710";s:1:"d";s:11:"11355342040";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"46517977088";s:4:"port";s:5:"51881";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453641755";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 19:12:10";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453641751";}

+ 1 - 0
app/data/filecache/46b8174793e1d3f142a29a3a003619ef.php

@@ -0,0 +1 @@
+<?php exit;?>1453645124(21600)a:0:{}

+ 1 - 0
app/data/filecache/46f2cc8bb5b9bf9e8cc21e307e08a8e6.php

@@ -0,0 +1 @@
+<?php exit;?>1453553341(21600)a:23:{s:3:"uid";s:3:"144";s:9:"user_name";s:8:"lindalex";s:5:"email";s:16:"lindalex@163.com";s:4:"pass";s:32:"8027a4a55da07a27c59f59387021c0f6";s:6:"passwd";s:5:"97221";s:1:"t";s:10:"1453553311";s:1:"u";s:8:"34940147";s:1:"d";s:10:"2481902986";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"37351325696";s:4:"port";s:5:"50378";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453553341";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-10 20:39:07";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453553329";}

+ 1 - 0
app/data/filecache/4708597789b54ab9c474994b29a4dc89.php

@@ -0,0 +1 @@
+<?php exit;?>1453433807(21600)a:23:{s:3:"uid";s:3:"284";s:9:"user_name";s:9:"amnshaows";s:5:"email";s:19:"amngate@outlook.com";s:4:"pass";s:32:"922db497821530f68b1317e9503e9080";s:6:"passwd";s:5:"61239";s:1:"t";s:10:"1453433791";s:1:"u";s:7:"9650419";s:1:"d";s:9:"338408501";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"51647610880";s:4:"port";s:5:"50665";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453118500";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-18 10:07:41";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453433807";}

+ 1 - 0
app/data/filecache/48f37aeb359d42cf4db1c7c1475cc108.php

@@ -0,0 +1 @@
+<?php exit;?>1453549990(21600)a:23:{s:3:"uid";s:3:"763";s:9:"user_name";s:5:"uioty";s:5:"email";s:17:"csoemkk@gmail.com";s:4:"pass";s:32:"24c6f81e08cdfe177279f7f23be0e6e5";s:6:"passwd";s:5:"70643";s:1:"t";s:10:"1453549260";s:1:"u";s:5:"42735";s:1:"d";s:1:"0";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"35765878784";s:4:"port";s:5:"51643";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453549990";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-22 15:37:16";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453549978";}

+ 1 - 0
app/data/filecache/499324d6405117a1f30fcb4fd2a81aa4.php

@@ -0,0 +1 @@
+<?php exit;?>1453591639(21600)a:23:{s:3:"uid";s:4:"1374";s:9:"user_name";s:8:"baobaozi";s:5:"email";s:16:"yzs1233@sina.com";s:4:"pass";s:32:"4d79b47c5b67cca7e8bc8f4e2bd60de5";s:6:"passwd";s:5:"23246";s:1:"t";s:10:"1453588721";s:1:"u";s:7:"1393278";s:1:"d";s:8:"22465887";s:4:"plan";s:1:"A";s:15:"transfer_enable";s:11:"57220792320";s:4:"port";s:5:"52849";s:6:"switch";s:1:"1";s:6:"enable";s:1:"1";s:4:"type";s:1:"7";s:18:"last_get_gift_time";s:1:"0";s:18:"last_check_in_time";s:10:"1453591639";s:19:"last_rest_pass_time";s:1:"0";s:8:"reg_date";s:19:"2015-02-23 16:52:57";s:10:"invite_num";s:1:"1";s:5:"money";s:4:"0.00";s:4:"code";N;s:10:"vaild_time";N;s:15:"last_login_time";s:10:"1453591633";}

Некоторые файлы не были показаны из-за большого количества измененных файлов