Browse Source

日常开发

bingo 7 years ago
parent
commit
b669bcca15

+ 11 - 0
app/Http/Controllers/AdminController.php

@@ -56,6 +56,7 @@ class AdminController extends Controller
         $view['unActiveUserCount'] = User::query()->where('t', '<=', $past)->where('enable', 1)->count(); // 不活跃用户数
         $view['onlineUserCount'] = User::query()->where('t', '>=', time() - 600)->count(); // 10分钟内在线用户数
         $view['expireWarningUserCount'] = User::query()->where('expire_time', '<=', date('Y-m-d', strtotime("+" . self::$config['expire_days'] . " days")))->whereIn('status', [0, 1])->where('enable', 1)->count(); // 临近过期用户数
+        $view['largeTrafficUserCount'] = User::query()->whereRaw('(u + d) >= 107374182400')->whereIn('status', [0, 1])->count(); // 流量超过100G的用户
 
         // 24小时内流量异常用户
         $tempUsers = [];
@@ -99,6 +100,7 @@ class AdminController extends Controller
         $unActive = $request->get('unActive');
         $flowAbnormal = $request->get('flowAbnormal');
         $expireWarning = $request->get('expireWarning');
+        $largeTraffic = $request->get('largeTraffic');
 
         $query = User::query();
         if (!empty($username)) {
@@ -129,6 +131,11 @@ class AdminController extends Controller
             $query->where('enable', intval($enable));
         }
 
+        // 流量超过100G的
+        if ($largeTraffic) {
+            $query->whereIn('status', [0, 1])->whereRaw('(u + d) >= 107374182400');
+        }
+
         // 临近过期提醒
         if ($expireWarning) {
             $query->whereIn('status', [0, 1])->where('expire_time', '<=', date('Y-m-d', strtotime("+" . self::$config['expire_days'] . " days")));
@@ -266,6 +273,9 @@ class AdminController extends Controller
                 $user->username = '批量生成-' . makeRandStr();
                 $user->password = md5(makeRandStr());
                 $user->enable = 1;
+                $user->method = $this->getDefaultMethod();
+                $user->protocol = $this->getDefaultProtocol();
+                $user->obfs = $this->getDefaultObfs();
                 $user->port = $port;
                 $user->passwd = makeRandStr();
                 $user->transfer_enable = toGB(1000);
@@ -1251,6 +1261,7 @@ class AdminController extends Controller
         }
 
         $view['nodeList'] = $nodeList;
+        $view['user'] = $user;
 
         return Response::view('admin/export', $view);
     }

+ 24 - 0
app/Http/Controllers/Controller.php

@@ -34,18 +34,42 @@ class Controller extends BaseController
         return SsConfig::query()->where('type', 1)->get();
     }
 
+    // 默认加密方式
+    public function getDefaultMethod()
+    {
+        $config = SsConfig::query()->where('type', 1)->where('is_default', 1)->first();
+
+        return $config ? $config->name : 'aes-192-ctr';
+    }
+
     // 协议
     public function protocolList()
     {
         return SsConfig::query()->where('type', 2)->get();
     }
 
+    // 默认协议
+    public function getDefaultProtocol()
+    {
+        $config = SsConfig::query()->where('type', 2)->where('is_default', 1)->first();
+
+        return $config ? $config->name : 'origin';
+    }
+
     // 混淆
     public function obfsList()
     {
         return SsConfig::query()->where('type', 3)->get();
     }
 
+    // 默认混淆
+    public function getDefaultObfs()
+    {
+        $config = SsConfig::query()->where('type', 3)->where('is_default', 1)->first();
+
+        return $config ? $config->name : 'plain';
+    }
+
     // 等级
     public function levelList()
     {

+ 1 - 1
app/Http/Controllers/EmailLogController.php

@@ -17,7 +17,7 @@ class EmailLogController extends Controller
     // 邮件发送日志列表
     public function logList(Request $request)
     {
-        $view['list'] = EmailLog::query()->with('user')->orderBy('id', 'desc')->paginate(10);
+        $view['list'] = EmailLog::query()->with('user')->orderBy('id', 'desc')->paginate(15);
 
         return Response::view('emailLog/logList', $view);
     }

BIN
public/assets/images/donate.jpg


+ 1 - 1
readme.md

@@ -35,7 +35,7 @@ telegram千人讨论群已解散,有问题提issues
 ## 捐赠
 **ETH** : 0x968f797f194fcec05ea571723199748b58de38ba
 
-![支持作者](https://github.com/ssrpanel/ssrpanel/blob/master/public/assets/images/donate.jpeg?raw=true)
+![支持作者](https://github.com/ssrpanel/ssrpanel/blob/master/public/assets/images/donate.jpg?raw=true)
 
 [VPS推荐&购买经验](https://github.com/ssrpanel/SSRPanel/wiki/VPS%E6%8E%A8%E8%8D%90&%E8%B4%AD%E4%B9%B0%E7%BB%8F%E9%AA%8C)
 ````

+ 25 - 12
resources/views/admin/export.blade.php

@@ -13,6 +13,16 @@
             <div class="col-md-12">
                 <!-- BEGIN PORTLET-->
                 <div class="portlet light bordered">
+                    <div class="portlet-title">
+                        <div class="caption font-dark">
+                            <span class="caption-subject bold uppercase"> 【{{$user->username}}】连接配置信息 </span>
+                        </div>
+                        <div class="actions">
+                            <div class="btn-group">
+                                <button class="btn sbold blue" onclick="addLabel()"> 添加标签 </button>
+                            </div>
+                        </div>
+                    </div>
                     <div class="portlet-body">
                         <div class="table-scrollable table-scrollable-borderless">
                             <table class="table table-hover table-light">
@@ -20,9 +30,10 @@
                                     <tr class="uppercase">
                                         <th style="width: 10%;">#</th>
                                         <th style="width: 15%;">节点</th>
+                                        <th style="width: 10%;">扩展</th>
                                         <th style="width: 15%;">域名</th>
                                         <th style="width: 15%;">IPv4</th>
-                                        <th style="width: 45%;">配置信息</th>
+                                        <th style="width: 35%;">配置信息</th>
                                     </tr>
                                 </thead>
                                 <tbody>
@@ -31,6 +42,8 @@
                                             <td>{{$k + 1}}</td>
                                             <td>
                                                 {{$node->name}}
+                                            </td>
+                                            <td>
                                                 @if($node->compatible) <span class="label label-info">兼</span> @endif
                                                 @if($node->single) <span class="label label-danger">单</span> @endif
                                                 @if($node->ipv6) <span class="label label-danger">IPv6</span> @endif
@@ -39,7 +52,7 @@
                                             <td>{{$node->ip}}</td>
                                             <td>
                                                 <a class="btn btn-sm green btn-outline" data-toggle="modal" href="#txt_{{$node->id}}"> 文本 </a>
-                                                <a class="btn btn-sm green btn-outline" data-toggle="modal" href="#scheme_{{$node->id}}"> SCHEME </a>
+                                                <a class="btn btn-sm green btn-outline" data-toggle="modal" href="#link_{{$node->id}}"> SCHEME </a>
                                                 <a class="btn btn-sm green btn-outline" data-toggle="modal" href="#qrcode_{{$node->id}}"> 二维码 </a>
                                             </td>
                                         </tr>
@@ -72,20 +85,21 @@
                                     </div>
                                 </div>
                             </div>
-                            <div class="modal fade draggable-modal" id="scheme_{{$node->id}}" tabindex="-1" role="basic" aria-hidden="true">
+                            <div class="modal fade draggable-modal" id="link_{{$node->id}}" tabindex="-1" role="basic" aria-hidden="true">
                                 <div class="modal-dialog">
                                     <div class="modal-content">
                                         <div class="modal-header">
                                             <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
-                                            <h4 class="modal-title">Url Scheme</h4>
+                                            <h4 class="modal-title">Scheme Links - {{$node->name}}</h4>
                                         </div>
                                         <div class="modal-body">
-                                            <textarea class="form-control" rows="7" readonly="readonly">
-                                                {{$node->ssr_scheme}}
-                                                @if ($node->compatible)
-                                                    {{$node->ss_scheme}}
-                                                @endif
-                                            </textarea>
+                                            <textarea class="form-control" rows="5" readonly="readonly">{{$node->ssr_scheme}}</textarea>
+                                            <a href="{{$node->ssr_scheme}}" class="btn purple uppercase" style="display: block; width: 100%;margin-top: 10px;">打开SSR</a>
+                                            @if($node->ss_scheme)
+                                                <p></p>
+                                                <textarea class="form-control" rows="3" readonly="readonly">{{$node->ss_scheme}}</textarea>
+                                                <a href="{{$node->ss_scheme}}" class="btn blue uppercase" style="display: block; width: 100%;margin-top: 10px;">打开SS</a>
+                                            @endif
                                         </div>
                                     </div>
                                 </div>
@@ -135,8 +149,7 @@
             var n = function () {
                 @foreach($nodeList as $node)
                     $("#txt_{{$node->id}}").draggable({handle: ".modal-header"});
-                    $("#txt_v6_{{$node->id}}").draggable({handle: ".modal-header"});
-                    $("#scheme_{{$node->id}}").draggable({handle: ".modal-header"});
+                    $("#link_{{$node->id}}").draggable({handle: ".modal-header"});
                     $("#qrcode_{{$node->id}}").draggable({handle: ".modal-header"});
                 @endforeach
             };

+ 16 - 1
resources/views/admin/index.blade.php

@@ -96,6 +96,21 @@
                     </div>
                 </div>
             </div>
+            <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
+                <div class="dashboard-stat2 bordered" onclick="skip('admin/userList?largeTraffic=1');">
+                    <div class="display">
+                        <div class="number">
+                            <h3 class="font-red">
+                                <span data-counter="counterup" data-value="{{$largeTrafficUserCount}}">0</span>
+                            </h3>
+                            <small>流量大户(超过100G的用户)</small>
+                        </div>
+                        <div class="icon">
+                            <i class="icon-user-unfollow"></i>
+                        </div>
+                    </div>
+                </div>
+            </div>
             <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
                 <div class="dashboard-stat2 bordered" onclick="skip('admin/userList?flowAbnormal=1');">
                     <div class="display">
@@ -175,7 +190,7 @@
                 <div class="dashboard-stat2 bordered">
                     <div class="display">
                         <div class="number">
-                            <h3 class="font-red">
+                            <h3 class="font-green">
                                 $<span data-counter="counterup" data-value="{{$totalBalance}}"></span>
                             </h3>
                             <small>总余额</small>