Browse Source

shadowrocket: remark space issue fixes, add shadowrocket STATUS feature

Signed-off-by: Beta Soft <betaxab@gmail.com>
Beta Soft 4 years ago
parent
commit
d8ee3c6c51
2 changed files with 7 additions and 3 deletions
  1. 6 2
      app/Http/Controllers/Client/ClientController.php
  2. 1 1
      app/Utils/Shadowrocket.php

+ 6 - 2
app/Http/Controllers/Client/ClientController.php

@@ -73,8 +73,12 @@ class ClientController extends Controller
     private function shadowrocket($user, $vmess = [], $trojan = [])
     {
         $uri = '';
-        //TODO: display remaining traffic and expire date
-        //$uri .= 'STATUS=' . 'Traffic:' . 'Expiry:' . '\r\n';
+        //display remaining traffic and expire date
+        $upload = round($user->u / (1024*1024*1024), 2);
+        $download = round($user->d / (1024*1024*1024), 2);
+        $totalTraffic = round($user->transfer_enable / (1024*1024*1024), 2);
+        $expiredDate = date('Y-m-d', $user->expired_at);
+        $uri .= "STATUS=🚀↑:{$upload}GB,↓:{$download}GB,TOT:{$totalTraffic}GB💡Expires:{$expiredDate}\r\n";
         foreach ($vmess as $item) {
             $uri .= Shadowrocket::buildVmess($user->uuid, $item);
         }

+ 1 - 1
app/Utils/Shadowrocket.php

@@ -23,7 +23,7 @@ class Shadowrocket
             if (isset($wsSettings->path)) $config['path'] = $wsSettings->path;
             if (isset($wsSettings->headers->Host)) $config['obfsParam'] = $wsSettings->headers->Host;
         }
-        $query = http_build_query($config);
+        $query = http_build_query($config, null, '&', PHP_QUERY_RFC3986);
         $uri = "vmess://{$userinfo}?{$query}&tfo=1";
         $uri .= "\r\n";
         return $uri;