Преглед на файлове

Fix #110 高级订阅开关添加至新版特化订阅

兔姬桑 преди 4 години
родител
ревизия
e8383021f6
променени са 3 файла, в които са добавени 15 реда и са изтрити 40 реда
  1. 0 32
      app/Components/Helpers.php
  2. 14 7
      app/Http/Controllers/User/SubscribeController.php
  3. 1 1
      resources/views/admin/config/system.blade.php

+ 0 - 32
app/Components/Helpers.php

@@ -50,38 +50,6 @@ class Helpers
         return $code;
     }
 
-    /**
-     * 添加用户.
-     *
-     * @param  string  $email  用户邮箱
-     * @param  string  $password  用户密码
-     * @param  string  $transfer_enable  可用流量
-     * @param  int  $data  可使用天数
-     * @param  int|null  $inviter_id  邀请人
-     *
-     * @return int
-     */
-    public static function addUser(string $email, string $password, string $transfer_enable, int $data, $inviter_id = null): int
-    {
-        $user = new User();
-        $user->username = $email;
-        $user->email = $email;
-        $user->password = $password;
-        $user->port = self::getPort(); // 生成一个可用端口
-        $user->passwd = Str::random();
-        $user->vmess_id = Str::uuid();
-        $user->method = self::getDefaultMethod();
-        $user->protocol = self::getDefaultProtocol();
-        $user->obfs = self::getDefaultObfs();
-        $user->transfer_enable = $transfer_enable;
-        $user->expired_at = date('Y-m-d', strtotime('+'.$data.' days'));
-        $user->reg_ip = IP::getClientIp();
-        $user->inviter_id = $inviter_id;
-        $user->save();
-
-        return $user->id;
-    }
-
     // 获取一个有效端口
     public static function getPort(): int
     {

+ 14 - 7
app/Http/Controllers/User/SubscribeController.php

@@ -135,7 +135,7 @@ class SubscribeController extends Controller
     // 抛出错误的节点信息,用于兼容防止客户端订阅失败
     private function failed($text)
     {
-        return Response::make(base64url_encode($this->infoGenerator($text)), 200);
+        return Response::make(base64url_encode($this->infoGenerator($text)));
     }
 
     private function infoGenerator($text): string
@@ -175,7 +175,9 @@ class SubscribeController extends Controller
     private function quantumultX(User $user, array $servers = []): string
     {
         $uri = '';
-        header("subscription-userinfo: upload={$user->u}; download={$user->d}; total={$user->transfer_enable}; expire={$user->expired_at}");
+        if (sysConfig('is_custom_subscribe')) {
+            header("subscription-userinfo: upload={$user->u}; download={$user->d}; total={$user->transfer_enable}; expire={$user->expired_at}");
+        }
         foreach ($servers as $server) {
             if ($server['type'] === 'shadowsocks') {
                 $uri .= QuantumultX::buildShadowsocks($server);
@@ -196,7 +198,9 @@ class SubscribeController extends Controller
 
     private function quantumult(User $user, array $servers = []): string
     {
-        header('subscription-userinfo: upload='.$user->u.'; download='.$user->d.';total='.$user->transfer_enable.'; expire='.strtotime($user->expired_at));
+        if (sysConfig('is_custom_subscribe')) {
+            header('subscription-userinfo: upload='.$user->u.'; download='.$user->d.';total='.$user->transfer_enable.'; expire='.strtotime($user->expired_at));
+        }
 
         return $this->origin($servers);
     }
@@ -351,10 +355,13 @@ class SubscribeController extends Controller
     private function shadowrocket(User $user, array $servers = []): string
     {
         //display remaining traffic and expire date
-        $upload = flowAutoShow($user->u);
-        $download = flowAutoShow($user->d);
-        $totalTraffic = flowAutoShow($user->transfer_enable);
-        $uri = "STATUS=🚀↑:{$upload},↓:{$download},TOT:{$totalTraffic}💡Expires:{$user->expired_at}\r\n";
+        $uri = '';
+        if (sysConfig('is_custom_subscribe')) {
+            $upload = flowAutoShow($user->u);
+            $download = flowAutoShow($user->d);
+            $totalTraffic = flowAutoShow($user->transfer_enable);
+            $uri = "STATUS=📤:{$upload}📥:{$download}⏳:{$totalTraffic}📅:{$user->expired_at}\r\n";
+        }
         $uri .= $this->origin($servers, false);
 
         return base64_encode($uri);

+ 1 - 1
resources/views/admin/config/system.blade.php

@@ -508,7 +508,7 @@
                                             <div class="col-md-9">
                                                 <input type="checkbox" id="is_custom_subscribe" data-plugin="switchery" @if($is_custom_subscribe) checked
                                                        @endif onchange="updateFromOther('switch','is_custom_subscribe')">
-                                                <span class="text-help">启用后,订阅信息顶部将显示过期时间、剩余流量(Quantumult有特殊效果) </span>
+                                                <span class="text-help">启用后,订阅信息顶部将显示过期时间、剩余流量(只支持个别客户端) </span>
                                             </div>
                                         </div>
                                     </div>