mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 01:11:46 +08:00 
			
		
		
		
	update: language more
This commit is contained in:
		| @@ -8,6 +8,7 @@ use App\Services\UserService; | ||||
| use App\Utils\Clash; | ||||
| use Illuminate\Http\Request; | ||||
| use App\Models\Server; | ||||
| use Illuminate\Support\Facades\File; | ||||
| use Symfony\Component\Yaml\Yaml; | ||||
|  | ||||
| class AppController extends Controller | ||||
| @@ -25,7 +26,13 @@ class AppController extends Controller | ||||
|             $serverService = new ServerService(); | ||||
|             $servers = $serverService->getAvailableServers($user); | ||||
|         } | ||||
|         $config = Yaml::parseFile(base_path() . '/resources/rules/app.clash.yaml'); | ||||
|         $defaultConfig = base_path() . '/resources/rules/app.clash.yaml'; | ||||
|         $customConfig = base_path() . '/resources/rules/custom.app.clash.yaml'; | ||||
|         if (File::exists($customConfig)) { | ||||
|             $config = Yaml::parseFile($customConfig); | ||||
|         } else { | ||||
|             $config = Yaml::parseFile($defaultConfig); | ||||
|         } | ||||
|         $proxy = []; | ||||
|         $proxies = []; | ||||
|  | ||||
| @@ -84,62 +91,4 @@ class AppController extends Controller | ||||
|             ] | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     public function config(Request $request) | ||||
|     { | ||||
|         if (empty($request->input('server_id'))) { | ||||
|             abort(500, '参数错误'); | ||||
|         } | ||||
|         $user = $request->user; | ||||
|         if ($user->expired_at < time() && $user->expired_at !== NULL) { | ||||
|             abort(500, '订阅计划已过期'); | ||||
|         } | ||||
|         $server = Server::where('show', 1) | ||||
|             ->where('id', $request->input('server_id')) | ||||
|             ->first(); | ||||
|         if (!$server) { | ||||
|             abort(500, '服务器不存在'); | ||||
|         } | ||||
|         $json = json_decode(self::CLIENT_CONFIG); | ||||
|         //socks | ||||
|         $json->inbound->port = (int)self::SOCKS_PORT; | ||||
|         //http | ||||
|         $json->inboundDetour[0]->port = (int)self::HTTP_PORT; | ||||
|         //other | ||||
|         $json->outbound->settings->vnext[0]->address = (string)$server->host; | ||||
|         $json->outbound->settings->vnext[0]->port = (int)$server->port; | ||||
|         $json->outbound->settings->vnext[0]->users[0]->id = (string)$user->uuid; | ||||
|         $json->outbound->settings->vnext[0]->users[0]->alterId = (int)$server->alter_id; | ||||
|         $json->outbound->settings->vnext[0]->remark = (string)$server->name; | ||||
|         $json->outbound->streamSettings->network = $server->network; | ||||
|         if ($server->networkSettings) { | ||||
|             switch ($server->network) { | ||||
|                 case 'tcp': | ||||
|                     $json->outbound->streamSettings->tcpSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|                 case 'kcp': | ||||
|                     $json->outbound->streamSettings->kcpSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|                 case 'ws': | ||||
|                     $json->outbound->streamSettings->wsSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|                 case 'http': | ||||
|                     $json->outbound->streamSettings->httpSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|                 case 'domainsocket': | ||||
|                     $json->outbound->streamSettings->dsSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|                 case 'quic': | ||||
|                     $json->outbound->streamSettings->quicSettings = json_decode($server->networkSettings); | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
|         if ($request->input('is_global')) { | ||||
|             $json->routing->settings->rules[0]->outboundTag = 'proxy'; | ||||
|         } | ||||
|         if ($server->tls) { | ||||
|             $json->outbound->streamSettings->security = "tls"; | ||||
|         } | ||||
|         die(json_encode($json, JSON_UNESCAPED_UNICODE)); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user