mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21:46 +08:00 
			
		
		
		
	update: v2ray char to vmess
This commit is contained in:
		| @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Admin\Server; | |||||||
| use App\Models\Plan; | use App\Models\Plan; | ||||||
| use App\Models\ServerShadowsocks; | use App\Models\ServerShadowsocks; | ||||||
| use App\Models\ServerTrojan; | use App\Models\ServerTrojan; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerGroup; | use App\Models\ServerGroup; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
| use App\Services\ServerService; | use App\Services\ServerService; | ||||||
| @@ -65,7 +65,7 @@ class GroupController extends Controller | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         $servers = ServerV2ray::all(); |         $servers = ServerVmess::all(); | ||||||
|         foreach ($servers as $server) { |         foreach ($servers as $server) { | ||||||
|             if (in_array($request->input('id'), $server->group_id)) { |             if (in_array($request->input('id'), $server->group_id)) { | ||||||
|                 abort(500, '该组已被节点所使用,无法删除'); |                 abort(500, '该组已被节点所使用,无法删除'); | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| namespace App\Http\Controllers\Admin\Server; | namespace App\Http\Controllers\Admin\Server; | ||||||
|  |  | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerShadowsocks; | use App\Models\ServerShadowsocks; | ||||||
| use App\Models\ServerTrojan; | use App\Models\ServerTrojan; | ||||||
| use App\Services\ServerService; | use App\Services\ServerService; | ||||||
| @@ -32,8 +32,8 @@ class ManageController extends Controller | |||||||
|                         abort(500, '保存失败'); |                         abort(500, '保存失败'); | ||||||
|                     } |                     } | ||||||
|                     break; |                     break; | ||||||
|                 case 'v2ray': |                 case 'vmess': | ||||||
|                     if (!ServerV2ray::find($v['value'])->update(['sort' => $v['sort']])) { |                     if (!ServerVmess::find($v['value'])->update(['sort' => $v['sort']])) { | ||||||
|                         DB::rollBack(); |                         DB::rollBack(); | ||||||
|                         abort(500, '保存失败'); |                         abort(500, '保存失败'); | ||||||
|                     } |                     } | ||||||
|   | |||||||
| @@ -2,21 +2,21 @@ | |||||||
| 
 | 
 | ||||||
| namespace App\Http\Controllers\Admin\Server; | namespace App\Http\Controllers\Admin\Server; | ||||||
| 
 | 
 | ||||||
| use App\Http\Requests\Admin\ServerV2raySave; | use App\Http\Requests\Admin\ServerVmessSave; | ||||||
| use App\Http\Requests\Admin\ServerV2rayUpdate; | use App\Http\Requests\Admin\ServerVmessUpdate; | ||||||
| use App\Services\ServerService; | use App\Services\ServerService; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| 
 | 
 | ||||||
| class V2rayController extends Controller | class VmessController extends Controller | ||||||
| { | { | ||||||
|     public function save(ServerV2raySave $request) |     public function save(ServerVmessSave $request) | ||||||
|     { |     { | ||||||
|         $params = $request->validated(); |         $params = $request->validated(); | ||||||
| 
 | 
 | ||||||
|         if ($request->input('id')) { |         if ($request->input('id')) { | ||||||
|             $server = ServerV2ray::find($request->input('id')); |             $server = ServerVmess::find($request->input('id')); | ||||||
|             if (!$server) { |             if (!$server) { | ||||||
|                 abort(500, '服务器不存在'); |                 abort(500, '服务器不存在'); | ||||||
|             } |             } | ||||||
| @@ -30,7 +30,7 @@ class V2rayController extends Controller | |||||||
|             ]); |             ]); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         if (!ServerV2ray::create($params)) { |         if (!ServerVmess::create($params)) { | ||||||
|             abort(500, '创建失败'); |             abort(500, '创建失败'); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @@ -42,7 +42,7 @@ class V2rayController extends Controller | |||||||
|     public function drop(Request $request) |     public function drop(Request $request) | ||||||
|     { |     { | ||||||
|         if ($request->input('id')) { |         if ($request->input('id')) { | ||||||
|             $server = ServerV2ray::find($request->input('id')); |             $server = ServerVmess::find($request->input('id')); | ||||||
|             if (!$server) { |             if (!$server) { | ||||||
|                 abort(500, '节点ID不存在'); |                 abort(500, '节点ID不存在'); | ||||||
|             } |             } | ||||||
| @@ -52,13 +52,13 @@ class V2rayController extends Controller | |||||||
|         ]); |         ]); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public function update(ServerV2rayUpdate $request) |     public function update(ServerVmessUpdate $request) | ||||||
|     { |     { | ||||||
|         $params = $request->only([ |         $params = $request->only([ | ||||||
|             'show', |             'show', | ||||||
|         ]); |         ]); | ||||||
| 
 | 
 | ||||||
|         $server = ServerV2ray::find($request->input('id')); |         $server = ServerVmess::find($request->input('id')); | ||||||
| 
 | 
 | ||||||
|         if (!$server) { |         if (!$server) { | ||||||
|             abort(500, '该服务器不存在'); |             abort(500, '该服务器不存在'); | ||||||
| @@ -76,12 +76,12 @@ class V2rayController extends Controller | |||||||
| 
 | 
 | ||||||
|     public function copy(Request $request) |     public function copy(Request $request) | ||||||
|     { |     { | ||||||
|         $server = ServerV2ray::find($request->input('id')); |         $server = ServerVmess::find($request->input('id')); | ||||||
|         $server->show = 0; |         $server->show = 0; | ||||||
|         if (!$server) { |         if (!$server) { | ||||||
|             abort(500, '服务器不存在'); |             abort(500, '服务器不存在'); | ||||||
|         } |         } | ||||||
|         if (!ServerV2ray::create($server->toArray())) { |         if (!ServerVmess::create($server->toArray())) { | ||||||
|             abort(500, '复制失败'); |             abort(500, '复制失败'); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @@ -10,7 +10,7 @@ use App\Services\ServerService; | |||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||||
| use App\Models\ServerGroup; | use App\Models\ServerGroup; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\Plan; | use App\Models\Plan; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
| use App\Models\Ticket; | use App\Models\Ticket; | ||||||
| @@ -99,8 +99,9 @@ class StatController extends Controller | |||||||
|     { |     { | ||||||
|         $servers = [ |         $servers = [ | ||||||
|             'shadowsocks' => ServerShadowsocks::where('parent_id', null)->get()->toArray(), |             'shadowsocks' => ServerShadowsocks::where('parent_id', null)->get()->toArray(), | ||||||
|             'v2ray' => ServerV2ray::where('parent_id', null)->get()->toArray(), |             'v2ray' => ServerVmess::where('parent_id', null)->get()->toArray(), | ||||||
|             'trojan' => ServerTrojan::where('parent_id', null)->get()->toArray() |             'trojan' => ServerTrojan::where('parent_id', null)->get()->toArray(), | ||||||
|  |             'vmess' => ServerVmess::where('parent_id', null)->get()->toArray() | ||||||
|         ]; |         ]; | ||||||
|         $startAt = strtotime('-1 day', strtotime(date('Y-m-d'))); |         $startAt = strtotime('-1 day', strtotime(date('Y-m-d'))); | ||||||
|         $endAt = strtotime(date('Y-m-d')); |         $endAt = strtotime(date('Y-m-d')); | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ use App\Utils\CacheKey; | |||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||||
| use App\Models\ServerGroup; | use App\Models\ServerGroup; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\Plan; | use App\Models\Plan; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
| use App\Models\Ticket; | use App\Models\Ticket; | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ class AppController extends Controller | |||||||
|                 array_push($proxy, Protocols\Clash::buildShadowsocks($user['uuid'], $item)); |                 array_push($proxy, Protocols\Clash::buildShadowsocks($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 array_push($proxy, Protocols\Clash::buildVmess($user['uuid'], $item)); |                 array_push($proxy, Protocols\Clash::buildVmess($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -49,7 +49,7 @@ class Clash | |||||||
|                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); |                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 array_push($proxy, self::buildVmess($user['uuid'], $item)); |                 array_push($proxy, self::buildVmess($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ class ClashMeta | |||||||
|                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); |                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 array_push($proxy, self::buildVmess($user['uuid'], $item)); |                 array_push($proxy, self::buildVmess($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ class Passwall | |||||||
|         $uri = ''; |         $uri = ''; | ||||||
|  |  | ||||||
|         foreach ($servers as $item) { |         foreach ($servers as $item) { | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ class QuantumultX | |||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|                 $uri .= self::buildShadowsocks($user['uuid'], $item); |                 $uri .= self::buildShadowsocks($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'trojan') { |             if ($item['type'] === 'trojan') { | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ class SSRPlus | |||||||
|         $uri = ''; |         $uri = ''; | ||||||
|  |  | ||||||
|         foreach ($servers as $item) { |         foreach ($servers as $item) { | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ class SagerNet | |||||||
|         $uri = ''; |         $uri = ''; | ||||||
|  |  | ||||||
|         foreach ($servers as $item) { |         foreach ($servers as $item) { | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ class Shadowrocket | |||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|                 $uri .= self::buildShadowsocks($user['uuid'], $item); |                 $uri .= self::buildShadowsocks($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'trojan') { |             if ($item['type'] === 'trojan') { | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ class Stash | |||||||
|                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); |                 array_push($proxy, self::buildShadowsocks($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 array_push($proxy, self::buildVmess($user['uuid'], $item)); |                 array_push($proxy, self::buildVmess($user['uuid'], $item)); | ||||||
|                 array_push($proxies, $item['name']); |                 array_push($proxies, $item['name']); | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ class Surfboard | |||||||
|                 // [Proxy Group] |                 // [Proxy Group] | ||||||
|                 $proxyGroup .= $item['name'] . ', '; |                 $proxyGroup .= $item['name'] . ', '; | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 // [Proxy] |                 // [Proxy] | ||||||
|                 $proxies .= self::buildVmess($user['uuid'], $item); |                 $proxies .= self::buildVmess($user['uuid'], $item); | ||||||
|                 // [Proxy Group] |                 // [Proxy Group] | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ class Surge | |||||||
|                 // [Proxy Group] |                 // [Proxy Group] | ||||||
|                 $proxyGroup .= $item['name'] . ', '; |                 $proxyGroup .= $item['name'] . ', '; | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 // [Proxy] |                 // [Proxy] | ||||||
|                 $proxies .= self::buildVmess($user['uuid'], $item); |                 $proxies .= self::buildVmess($user['uuid'], $item); | ||||||
|                 // [Proxy Group] |                 // [Proxy Group] | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ class V2rayN | |||||||
|         $uri = ''; |         $uri = ''; | ||||||
|  |  | ||||||
|         foreach ($servers as $item) { |         foreach ($servers as $item) { | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ class V2rayNG | |||||||
|         $uri = ''; |         $uri = ''; | ||||||
|  |  | ||||||
|         foreach ($servers as $item) { |         foreach ($servers as $item) { | ||||||
|             if ($item['type'] === 'v2ray') { |             if ($item['type'] === 'vmess') { | ||||||
|                 $uri .= self::buildVmess($user['uuid'], $item); |                 $uri .= self::buildVmess($user['uuid'], $item); | ||||||
|             } |             } | ||||||
|             if ($item['type'] === 'shadowsocks') { |             if ($item['type'] === 'shadowsocks') { | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ use App\Utils\CacheKey; | |||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerLog; | use App\Models\ServerLog; | ||||||
| use Illuminate\Support\Facades\DB; | use Illuminate\Support\Facades\DB; | ||||||
| use Illuminate\Support\Facades\Log; | use Illuminate\Support\Facades\Log; | ||||||
| @@ -37,11 +37,11 @@ class DeepbworkController extends Controller | |||||||
|     { |     { | ||||||
|         ini_set('memory_limit', -1); |         ini_set('memory_limit', -1); | ||||||
|         $nodeId = $request->input('node_id'); |         $nodeId = $request->input('node_id'); | ||||||
|         $server = ServerV2ray::find($nodeId); |         $server = ServerVmess::find($nodeId); | ||||||
|         if (!$server) { |         if (!$server) { | ||||||
|             abort(500, 'fail'); |             abort(500, 'fail'); | ||||||
|         } |         } | ||||||
|         Cache::put(CacheKey::get('SERVER_V2RAY_LAST_CHECK_AT', $server->id), time(), 3600); |         Cache::put(CacheKey::get('SERVER_VMESS_LAST_CHECK_AT', $server->id), time(), 3600); | ||||||
|         $serverService = new ServerService(); |         $serverService = new ServerService(); | ||||||
|         $users = $serverService->getAvailableUsers($server->group_id); |         $users = $serverService->getAvailableUsers($server->group_id); | ||||||
|         $result = []; |         $result = []; | ||||||
| @@ -69,7 +69,7 @@ class DeepbworkController extends Controller | |||||||
|     public function submit(Request $request) |     public function submit(Request $request) | ||||||
|     { |     { | ||||||
| //         Log::info('serverSubmitData:' . $request->input('node_id') . ':' . file_get_contents('php://input')); | //         Log::info('serverSubmitData:' . $request->input('node_id') . ':' . file_get_contents('php://input')); | ||||||
|         $server = ServerV2ray::find($request->input('node_id')); |         $server = ServerVmess::find($request->input('node_id')); | ||||||
|         if (!$server) { |         if (!$server) { | ||||||
|             return response([ |             return response([ | ||||||
|                 'ret' => 0, |                 'ret' => 0, | ||||||
| @@ -78,13 +78,13 @@ class DeepbworkController extends Controller | |||||||
|         } |         } | ||||||
|         $data = file_get_contents('php://input'); |         $data = file_get_contents('php://input'); | ||||||
|         $data = json_decode($data, true); |         $data = json_decode($data, true); | ||||||
|         Cache::put(CacheKey::get('SERVER_V2RAY_ONLINE_USER', $server->id), count($data), 3600); |         Cache::put(CacheKey::get('SERVER_VMESS_ONLINE_USER', $server->id), count($data), 3600); | ||||||
|         Cache::put(CacheKey::get('SERVER_V2RAY_LAST_PUSH_AT', $server->id), time(), 3600); |         Cache::put(CacheKey::get('SERVER_VMESS_LAST_PUSH_AT', $server->id), time(), 3600); | ||||||
|         $userService = new UserService(); |         $userService = new UserService(); | ||||||
|         foreach ($data as $item) { |         foreach ($data as $item) { | ||||||
|             $u = $item['u']; |             $u = $item['u']; | ||||||
|             $d = $item['d']; |             $d = $item['d']; | ||||||
|             $userService->trafficFetch($u, $d, $item['user_id'], $server->toArray(), 'v2ray'); |             $userService->trafficFetch($u, $d, $item['user_id'], $server->toArray(), 'vmess'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return response([ |         return response([ | ||||||
| @@ -112,7 +112,7 @@ class DeepbworkController extends Controller | |||||||
|  |  | ||||||
|     private function getV2RayConfig(int $nodeId, int $localPort) |     private function getV2RayConfig(int $nodeId, int $localPort) | ||||||
|     { |     { | ||||||
|         $server = ServerV2ray::find($nodeId); |         $server = ServerVmess::find($nodeId); | ||||||
|         if (!$server) { |         if (!$server) { | ||||||
|             abort(500, '节点不存在'); |             abort(500, '节点不存在'); | ||||||
|         } |         } | ||||||
| @@ -129,7 +129,7 @@ class DeepbworkController extends Controller | |||||||
|         return $json; |         return $json; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private function setDns(ServerV2ray $server, object $json) |     private function setDns(ServerVmess $server, object $json) | ||||||
|     { |     { | ||||||
|         if ($server->dnsSettings) { |         if ($server->dnsSettings) { | ||||||
|             $dns = $server->dnsSettings; |             $dns = $server->dnsSettings; | ||||||
| @@ -142,7 +142,7 @@ class DeepbworkController extends Controller | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private function setNetwork(ServerV2ray $server, object $json) |     private function setNetwork(ServerVmess $server, object $json) | ||||||
|     { |     { | ||||||
|         if ($server->networkSettings) { |         if ($server->networkSettings) { | ||||||
|             switch ($server->network) { |             switch ($server->network) { | ||||||
| @@ -171,7 +171,7 @@ class DeepbworkController extends Controller | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private function setRule(ServerV2ray $server, object $json) |     private function setRule(ServerVmess $server, object $json) | ||||||
|     { |     { | ||||||
|         $domainRules = array_filter(explode(PHP_EOL, config('v2board.server_v2ray_domain'))); |         $domainRules = array_filter(explode(PHP_EOL, config('v2board.server_v2ray_domain'))); | ||||||
|         $protocolRules = array_filter(explode(PHP_EOL, config('v2board.server_v2ray_protocol'))); |         $protocolRules = array_filter(explode(PHP_EOL, config('v2board.server_v2ray_protocol'))); | ||||||
| @@ -211,7 +211,7 @@ class DeepbworkController extends Controller | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private function setTls(ServerV2ray $server, object $json) |     private function setTls(ServerVMess $server, object $json) | ||||||
|     { |     { | ||||||
|         if ((int)$server->tls) { |         if ((int)$server->tls) { | ||||||
|             $tlsSettings = $server->tlsSettings; |             $tlsSettings = $server->tlsSettings; | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ use App\Utils\Helper; | |||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||||
| use App\Models\ServerShadowsocks; | use App\Models\ServerShadowsocks; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerTrojan; | use App\Models\ServerTrojan; | ||||||
| use Illuminate\Support\Facades\Cache; | use Illuminate\Support\Facades\Cache; | ||||||
|  |  | ||||||
| @@ -30,6 +30,7 @@ class UniProxyController extends Controller | |||||||
|             abort(500, 'token is error'); |             abort(500, 'token is error'); | ||||||
|         } |         } | ||||||
|         $this->nodeType = $request->input('node_type'); |         $this->nodeType = $request->input('node_type'); | ||||||
|  |         if ($this->nodeType === 'v2ray') $this->nodeType = 'vmess'; | ||||||
|         $this->nodeId = $request->input('node_id'); |         $this->nodeId = $request->input('node_id'); | ||||||
|         $this->serverService = new ServerService(); |         $this->serverService = new ServerService(); | ||||||
|         $this->nodeInfo = $this->serverService->getServer($this->nodeId, $this->nodeType); |         $this->nodeInfo = $this->serverService->getServer($this->nodeId, $this->nodeType); | ||||||
| @@ -92,7 +93,7 @@ class UniProxyController extends Controller | |||||||
|                     $response['server_key'] = Helper::getShadowsocksServerKey($this->nodeInfo->created_at, 32); |                     $response['server_key'] = Helper::getShadowsocksServerKey($this->nodeInfo->created_at, 32); | ||||||
|                 } |                 } | ||||||
|                 break; |                 break; | ||||||
|             case 'v2ray': |             case 'vmess': | ||||||
|                 $response = [ |                 $response = [ | ||||||
|                     'server_port' => $this->nodeInfo->server_port, |                     'server_port' => $this->nodeInfo->server_port, | ||||||
|                     'network' => $this->nodeInfo->network, |                     'network' => $this->nodeInfo->network, | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ use App\Services\UserService; | |||||||
| use App\Utils\CacheKey; | use App\Utils\CacheKey; | ||||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||||
| use Illuminate\Support\Facades\Cache; | use Illuminate\Support\Facades\Cache; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerLog; | use App\Models\ServerLog; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ namespace App\Http\Requests\Admin; | |||||||
| 
 | 
 | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
| 
 | 
 | ||||||
| class ServerV2raySave extends FormRequest | class ServerVmessSave extends FormRequest | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
|      * Get the validation rules that apply to the request. |      * Get the validation rules that apply to the request. | ||||||
| @@ -4,7 +4,7 @@ namespace App\Http\Requests\Admin; | |||||||
| 
 | 
 | ||||||
| use Illuminate\Foundation\Http\FormRequest; | use Illuminate\Foundation\Http\FormRequest; | ||||||
| 
 | 
 | ||||||
| class ServerV2rayUpdate extends FormRequest | class ServerVmessUpdate extends FormRequest | ||||||
| { | { | ||||||
|     /** |     /** | ||||||
|      * Get the validation rules that apply to the request. |      * Get the validation rules that apply to the request. | ||||||
| @@ -45,14 +45,14 @@ class AdminRoute | |||||||
|                 $router->post('viewConfig', 'Admin\\Server\\TrojanController@viewConfig'); |                 $router->post('viewConfig', 'Admin\\Server\\TrojanController@viewConfig'); | ||||||
|             }); |             }); | ||||||
|             $router->group([ |             $router->group([ | ||||||
|                 'prefix' => 'server/v2ray' |                 'prefix' => 'server/vmess' | ||||||
|             ], function ($router) { |             ], function ($router) { | ||||||
|                 $router->get ('fetch', 'Admin\\Server\\V2rayController@fetch'); |                 $router->get ('fetch', 'Admin\\Server\\VmessController@fetch'); | ||||||
|                 $router->post('save', 'Admin\\Server\\V2rayController@save'); |                 $router->post('save', 'Admin\\Server\\VmessController@save'); | ||||||
|                 $router->post('drop', 'Admin\\Server\\V2rayController@drop'); |                 $router->post('drop', 'Admin\\Server\\VmessController@drop'); | ||||||
|                 $router->post('update', 'Admin\\Server\\V2rayController@update'); |                 $router->post('update', 'Admin\\Server\\VmessController@update'); | ||||||
|                 $router->post('copy', 'Admin\\Server\\V2rayController@copy'); |                 $router->post('copy', 'Admin\\Server\\VmessController@copy'); | ||||||
|                 $router->post('sort', 'Admin\\Server\\V2rayController@sort'); |                 $router->post('sort', 'Admin\\Server\\VmessController@sort'); | ||||||
|             }); |             }); | ||||||
|             $router->group([ |             $router->group([ | ||||||
|                 'prefix' => 'server/shadowsocks' |                 'prefix' => 'server/shadowsocks' | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ namespace App\Models; | |||||||
| 
 | 
 | ||||||
| use Illuminate\Database\Eloquent\Model; | use Illuminate\Database\Eloquent\Model; | ||||||
| 
 | 
 | ||||||
| class ServerV2ray extends Model | class ServerVmess extends Model | ||||||
| { | { | ||||||
|     protected $table = 'v2_server_v2ray'; |     protected $table = 'v2_server_v2ray'; | ||||||
|     protected $dateFormat = 'U'; |     protected $dateFormat = 'U'; | ||||||
| @@ -6,7 +6,7 @@ use App\Models\ServerLog; | |||||||
| use App\Models\ServerRoute; | use App\Models\ServerRoute; | ||||||
| use App\Models\ServerShadowsocks; | use App\Models\ServerShadowsocks; | ||||||
| use App\Models\User; | use App\Models\User; | ||||||
| use App\Models\ServerV2ray; | use App\Models\ServerVmess; | ||||||
| use App\Models\ServerTrojan; | use App\Models\ServerTrojan; | ||||||
| use App\Utils\CacheKey; | use App\Utils\CacheKey; | ||||||
| use App\Utils\Helper; | use App\Utils\Helper; | ||||||
| @@ -15,24 +15,24 @@ use Illuminate\Support\Facades\Cache; | |||||||
| class ServerService | class ServerService | ||||||
| { | { | ||||||
|  |  | ||||||
|     public function getAvailableV2ray(User $user):array |     public function getAvailableVmess(User $user):array | ||||||
|     { |     { | ||||||
|         $servers = []; |         $servers = []; | ||||||
|         $model = ServerV2ray::orderBy('sort', 'ASC'); |         $model = ServerVmess::orderBy('sort', 'ASC'); | ||||||
|         $v2ray = $model->get(); |         $vmess = $model->get(); | ||||||
|         foreach ($v2ray as $key => $v) { |         foreach ($vmess as $key => $v) { | ||||||
|             if (!$v['show']) continue; |             if (!$v['show']) continue; | ||||||
|             $v2ray[$key]['type'] = 'v2ray'; |             $vmess[$key]['type'] = 'vmess'; | ||||||
|             if (!in_array($user->group_id, $v2ray[$key]['group_id'])) continue; |             if (!in_array($user->group_id, $vmess[$key]['group_id'])) continue; | ||||||
|             if (strpos($v2ray[$key]['port'], '-') !== false) { |             if (strpos($vmess[$key]['port'], '-') !== false) { | ||||||
|                 $v2ray[$key]['port'] = Helper::randomPort($v2ray[$key]['port']); |                 $vmess[$key]['port'] = Helper::randomPort($vmess[$key]['port']); | ||||||
|             } |             } | ||||||
|             if ($v2ray[$key]['parent_id']) { |             if ($vmess[$key]['parent_id']) { | ||||||
|                 $v2ray[$key]['last_check_at'] = Cache::get(CacheKey::get('SERVER_V2RAY_LAST_CHECK_AT', $v2ray[$key]['parent_id'])); |                 $vmess[$key]['last_check_at'] = Cache::get(CacheKey::get('SERVER_VMESS_LAST_CHECK_AT', $vmess[$key]['parent_id'])); | ||||||
|             } else { |             } else { | ||||||
|                 $v2ray[$key]['last_check_at'] = Cache::get(CacheKey::get('SERVER_V2RAY_LAST_CHECK_AT', $v2ray[$key]['id'])); |                 $vmess[$key]['last_check_at'] = Cache::get(CacheKey::get('SERVER_VMESS_LAST_CHECK_AT', $vmess[$key]['id'])); | ||||||
|             } |             } | ||||||
|             $servers[] = $v2ray[$key]->toArray(); |             $servers[] = $vmess[$key]->toArray(); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -87,7 +87,7 @@ class ServerService | |||||||
|     { |     { | ||||||
|         $servers = array_merge( |         $servers = array_merge( | ||||||
|             $this->getAvailableShadowsocks($user), |             $this->getAvailableShadowsocks($user), | ||||||
|             $this->getAvailableV2ray($user), |             $this->getAvailableVmess($user), | ||||||
|             $this->getAvailableTrojan($user) |             $this->getAvailableTrojan($user) | ||||||
|         ); |         ); | ||||||
|         $tmp = array_column($servers, 'sort'); |         $tmp = array_column($servers, 'sort'); | ||||||
| @@ -160,13 +160,13 @@ class ServerService | |||||||
|         return $servers; |         return $servers; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public function getAllV2ray() |     public function getAllVMess() | ||||||
|     { |     { | ||||||
|         $servers = ServerV2ray::orderBy('sort', 'ASC') |         $servers = ServerVmess::orderBy('sort', 'ASC') | ||||||
|             ->get() |             ->get() | ||||||
|             ->toArray(); |             ->toArray(); | ||||||
|         foreach ($servers as $k => $v) { |         foreach ($servers as $k => $v) { | ||||||
|             $servers[$k]['type'] = 'v2ray'; |             $servers[$k]['type'] = 'vmess'; | ||||||
|         } |         } | ||||||
|         return $servers; |         return $servers; | ||||||
|     } |     } | ||||||
| @@ -203,7 +203,7 @@ class ServerService | |||||||
|     { |     { | ||||||
|         $servers = array_merge( |         $servers = array_merge( | ||||||
|             $this->getAllShadowsocks(), |             $this->getAllShadowsocks(), | ||||||
|             $this->getAllV2ray(), |             $this->getAllVMess(), | ||||||
|             $this->getAllTrojan() |             $this->getAllTrojan() | ||||||
|         ); |         ); | ||||||
|         $this->mergeData($servers); |         $this->mergeData($servers); | ||||||
| @@ -227,8 +227,8 @@ class ServerService | |||||||
|     public function getServer($serverId, $serverType) |     public function getServer($serverId, $serverType) | ||||||
|     { |     { | ||||||
|         switch ($serverType) { |         switch ($serverType) { | ||||||
|             case 'v2ray': |             case 'vmess': | ||||||
|                 return ServerV2ray::find($serverId); |                 return ServerVmess::find($serverId); | ||||||
|             case 'shadowsocks': |             case 'shadowsocks': | ||||||
|                 return ServerShadowsocks::find($serverId); |                 return ServerShadowsocks::find($serverId); | ||||||
|             case 'trojan': |             case 'trojan': | ||||||
|   | |||||||
| @@ -7,9 +7,9 @@ class CacheKey | |||||||
|     CONST KEYS = [ |     CONST KEYS = [ | ||||||
|         'EMAIL_VERIFY_CODE' => '邮箱验证码', |         'EMAIL_VERIFY_CODE' => '邮箱验证码', | ||||||
|         'LAST_SEND_EMAIL_VERIFY_TIMESTAMP' => '最后一次发送邮箱验证码时间', |         'LAST_SEND_EMAIL_VERIFY_TIMESTAMP' => '最后一次发送邮箱验证码时间', | ||||||
|         'SERVER_V2RAY_ONLINE_USER' => '节点在线用户', |         'SERVER_VMESS_ONLINE_USER' => '节点在线用户', | ||||||
|         'SERVER_V2RAY_LAST_CHECK_AT' => '节点最后检查时间', |         'SERVER_VMESS_LAST_CHECK_AT' => '节点最后检查时间', | ||||||
|         'SERVER_V2RAY_LAST_PUSH_AT' => '节点最后推送时间', |         'SERVER_VMESS_LAST_PUSH_AT' => '节点最后推送时间', | ||||||
|         'SERVER_TROJAN_ONLINE_USER' => 'trojan节点在线用户', |         'SERVER_TROJAN_ONLINE_USER' => 'trojan节点在线用户', | ||||||
|         'SERVER_TROJAN_LAST_CHECK_AT' => 'trojan节点最后检查时间', |         'SERVER_TROJAN_LAST_CHECK_AT' => 'trojan节点最后检查时间', | ||||||
|         'SERVER_TROJAN_LAST_PUSH_AT' => 'trojan节点最后推送时间', |         'SERVER_TROJAN_LAST_PUSH_AT' => 'trojan节点最后推送时间', | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ class Helper | |||||||
|  |  | ||||||
|     public static function generateOrderNo(): string |     public static function generateOrderNo(): string | ||||||
|     { |     { | ||||||
|         $randomChar = rand(10000, 99999); |         $randomChar = mt_rand(10000, 99999); | ||||||
|         return date('YmdHms') . $randomChar; |         return date('YmdHms') . $randomChar; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -134,7 +134,8 @@ CREATE TABLE `v2_order` ( | |||||||
|                             `paid_at` int(11) DEFAULT NULL, |                             `paid_at` int(11) DEFAULT NULL, | ||||||
|                             `created_at` int(11) NOT NULL, |                             `created_at` int(11) NOT NULL, | ||||||
|                             `updated_at` int(11) NOT NULL, |                             `updated_at` int(11) NOT NULL, | ||||||
|                             PRIMARY KEY (`id`) |                             PRIMARY KEY (`id`), | ||||||
|  |                             UNIQUE KEY `trade_no` (`trade_no`) | ||||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -163,11 +164,11 @@ CREATE TABLE `v2_plan` ( | |||||||
|                            `group_id` int(11) NOT NULL, |                            `group_id` int(11) NOT NULL, | ||||||
|                            `transfer_enable` int(11) NOT NULL, |                            `transfer_enable` int(11) NOT NULL, | ||||||
|                            `speed_limit` int(11) DEFAULT NULL, |                            `speed_limit` int(11) DEFAULT NULL, | ||||||
|                            `name` varchar(255) CHARACTER SET utf8mb4 NOT NULL, |                            `name` varchar(255) NOT NULL, | ||||||
|                            `show` tinyint(1) NOT NULL DEFAULT '0', |                            `show` tinyint(1) NOT NULL DEFAULT '0', | ||||||
|                            `sort` int(11) DEFAULT NULL, |                            `sort` int(11) DEFAULT NULL, | ||||||
|                            `renew` tinyint(1) NOT NULL DEFAULT '1', |                            `renew` tinyint(1) NOT NULL DEFAULT '1', | ||||||
|                            `content` text CHARACTER SET utf8mb4, |                            `content` text, | ||||||
|                            `month_price` int(11) DEFAULT NULL, |                            `month_price` int(11) DEFAULT NULL, | ||||||
|                            `quarter_price` int(11) DEFAULT NULL, |                            `quarter_price` int(11) DEFAULT NULL, | ||||||
|                            `half_year_price` int(11) DEFAULT NULL, |                            `half_year_price` int(11) DEFAULT NULL, | ||||||
| @@ -181,7 +182,7 @@ CREATE TABLE `v2_plan` ( | |||||||
|                            `created_at` int(11) NOT NULL, |                            `created_at` int(11) NOT NULL, | ||||||
|                            `updated_at` int(11) NOT NULL, |                            `updated_at` int(11) NOT NULL, | ||||||
|                            PRIMARY KEY (`id`) |                            PRIMARY KEY (`id`) | ||||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; | ||||||
|  |  | ||||||
|  |  | ||||||
| DROP TABLE IF EXISTS `v2_server_group`; | DROP TABLE IF EXISTS `v2_server_group`; | ||||||
| @@ -397,4 +398,4 @@ CREATE TABLE `v2_user` ( | |||||||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||||||
|  |  | ||||||
|  |  | ||||||
| -- 2022-12-15 05:24:08 | -- 2023-02-15 06:46:53 | ||||||
|   | |||||||
| @@ -642,3 +642,12 @@ CREATE TABLE `v2_server_route` ( | |||||||
|  |  | ||||||
| ALTER TABLE `v2_server_route` | ALTER TABLE `v2_server_route` | ||||||
|     CHANGE `match` `match` text COLLATE 'utf8mb4_general_ci' NOT NULL AFTER `remarks`; |     CHANGE `match` `match` text COLLATE 'utf8mb4_general_ci' NOT NULL AFTER `remarks`; | ||||||
|  |  | ||||||
|  | ALTER TABLE `v2_order` | ||||||
|  |     ADD UNIQUE `trade_no` (`trade_no`); | ||||||
|  |  | ||||||
|  | ALTER TABLE `v2_plan` | ||||||
|  |     CHANGE `content` `content` text COLLATE 'utf8mb4_general_ci' NULL AFTER `renew`; | ||||||
|  |  | ||||||
|  | ALTER TABLE `v2_plan` | ||||||
|  |     COLLATE 'utf8mb4_general_ci'; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user