Shadowrocket.php 757 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace App\Utils\Clients;
  3. use App\Models\User;
  4. use App\Utils\Clients\Protocols\URLSchemes;
  5. use App\Utils\Library\Templates\Client;
  6. class Shadowrocket implements Client
  7. {
  8. public const AGENT = ['shadowrocket'];
  9. public function getConfig(array $servers, User $user): string
  10. {
  11. $uri = '';
  12. //display remaining traffic and expire date
  13. if (sysConfig('is_custom_subscribe')) {
  14. $usedTraffic = formatBytes($user->used_traffic);
  15. $remainTraffic = formatBytes($user->transfer_enable - $user->used_traffic);
  16. $uri = "STATUS=📊:{$usedTraffic}💾:{$remainTraffic}📅:$user->expiration_date\r\n";
  17. }
  18. return base64_encode($uri.URLSchemes::build($servers, false));
  19. }
  20. }