@@ -1328,46 +1328,81 @@ public function export(Request $request)
13281328 // 获取分组名称
13291329 $ group = SsGroup::query ()->where ('id ' , $ node ->group_id )->first ();
13301330
1331- // 生成ssr scheme
1332- $ obfs_param = $ user ->obfs_param ? $ user ->obfs_param : $ node ->obfs_param ;
1333- $ protocol_param = $ node ->single ? $ user ->port . ': ' . $ user ->passwd : $ user ->protocol_param ;
1334-
1335- $ ssr_str = ($ node ->server ? $ node ->server : $ node ->ip ) . ': ' . ($ node ->single ? $ node ->single_port : $ user ->port );
1336- $ ssr_str .= ': ' . ($ node ->single ? $ node ->single_protocol : $ user ->protocol ) . ': ' . ($ node ->single ? $ node ->single_method : $ user ->method );
1337- $ ssr_str .= ': ' . ($ node ->single ? $ node ->single_obfs : $ user ->obfs ) . ': ' . ($ node ->single ? base64url_encode ($ node ->single_passwd ) : base64url_encode ($ user ->passwd ));
1338- $ ssr_str .= '/?obfsparam= ' . base64url_encode ($ obfs_param );
1339- $ ssr_str .= '&protoparam= ' . ($ node ->single ? base64url_encode ($ user ->port . ': ' . $ user ->passwd ) : base64url_encode ($ protocol_param ));
1340- $ ssr_str .= '&remarks= ' . base64url_encode ($ node ->name );
1341- $ ssr_str .= '&group= ' . base64url_encode (empty ($ group ) ? '' : $ group ->name );
1342- $ ssr_str .= '&udpport=0 ' ;
1343- $ ssr_str .= '&uot=0 ' ;
1344- $ ssr_str = base64url_encode ($ ssr_str );
1345- $ ssr_scheme = 'ssr:// ' . $ ssr_str ;
1346-
1347- // 生成ss scheme
1348- $ ss_str = $ user ->method . ': ' . $ user ->passwd . '@ ' ;
1349- $ ss_str .= ($ node ->server ? $ node ->server : $ node ->ip ) . ': ' . $ user ->port ;
1350- $ ss_str = base64url_encode ($ ss_str ) . '# ' . 'VPN ' ;
1351- $ ss_scheme = 'ss:// ' . $ ss_str ;
1352-
1353- // 生成配置信息
1354- $ txt = "服务器: " . ($ node ->server ? $ node ->server : $ node ->ip ) . "\r\n" ;
1355- if ($ node ->ipv6 ) {
1356- $ txt .= "IPv6: " . $ node ->ipv6 . "\r\n" ;
1331+ if ($ node ->type == 1 ) {
1332+ // 生成ssr scheme
1333+ $ obfs_param = $ user ->obfs_param ? $ user ->obfs_param : $ node ->obfs_param ;
1334+ $ protocol_param = $ node ->single ? $ user ->port . ': ' . $ user ->passwd : $ user ->protocol_param ;
1335+
1336+ $ ssr_str = ($ node ->server ? $ node ->server : $ node ->ip ) . ': ' . ($ node ->single ? $ node ->single_port : $ user ->port );
1337+ $ ssr_str .= ': ' . ($ node ->single ? $ node ->single_protocol : $ user ->protocol ) . ': ' . ($ node ->single ? $ node ->single_method : $ user ->method );
1338+ $ ssr_str .= ': ' . ($ node ->single ? $ node ->single_obfs : $ user ->obfs ) . ': ' . ($ node ->single ? base64url_encode ($ node ->single_passwd ) : base64url_encode ($ user ->passwd ));
1339+ $ ssr_str .= '/?obfsparam= ' . base64url_encode ($ obfs_param );
1340+ $ ssr_str .= '&protoparam= ' . ($ node ->single ? base64url_encode ($ user ->port . ': ' . $ user ->passwd ) : base64url_encode ($ protocol_param ));
1341+ $ ssr_str .= '&remarks= ' . base64url_encode ($ node ->name );
1342+ $ ssr_str .= '&group= ' . base64url_encode (empty ($ group ) ? '' : $ group ->name );
1343+ $ ssr_str .= '&udpport=0 ' ;
1344+ $ ssr_str .= '&uot=0 ' ;
1345+ $ ssr_str = base64url_encode ($ ssr_str );
1346+ $ ssr_scheme = 'ssr:// ' . $ ssr_str ;
1347+
1348+ // 生成ss scheme
1349+ $ ss_str = $ user ->method . ': ' . $ user ->passwd . '@ ' ;
1350+ $ ss_str .= ($ node ->server ? $ node ->server : $ node ->ip ) . ': ' . $ user ->port ;
1351+ $ ss_str = base64url_encode ($ ss_str ) . '# ' . 'VPN ' ;
1352+ $ ss_scheme = 'ss:// ' . $ ss_str ;
1353+
1354+ // 生成配置信息
1355+ $ txt = "服务器: " . ($ node ->server ? $ node ->server : $ node ->ip ) . "\r\n" ;
1356+ if ($ node ->ipv6 ) {
1357+ $ txt .= "IPv6: " . $ node ->ipv6 . "\r\n" ;
1358+ }
1359+ $ txt .= "远程端口: " . ($ node ->single ? $ node ->single_port : $ user ->port ) . "\r\n" ;
1360+ $ txt .= "密码: " . ($ node ->single ? $ node ->single_passwd : $ user ->passwd ) . "\r\n" ;
1361+ $ txt .= "加密方法: " . ($ node ->single ? $ node ->single_method : $ user ->method ) . "\r\n" ;
1362+ $ txt .= "路由:绕过局域网及中国大陆地址 \r\n\r\n" ;
1363+ $ txt .= "协议: " . ($ node ->single ? $ node ->single_protocol : $ user ->protocol ) . "\r\n" ;
1364+ $ txt .= "协议参数: " . ($ node ->single ? $ user ->port . ': ' . $ user ->passwd : $ user ->protocol_param ) . "\r\n" ;
1365+ $ txt .= "混淆方式: " . ($ node ->single ? $ node ->single_obfs : $ user ->obfs ) . "\r\n" ;
1366+ $ txt .= "混淆参数: " . ($ user ->obfs_param ? $ user ->obfs_param : $ node ->obfs_param ) . "\r\n" ;
1367+ $ txt .= "本地端口:1080 \r\n" ;
1368+
1369+ $ node ->txt = $ txt ;
1370+ $ node ->ssr_scheme = $ ssr_scheme ;
1371+ $ node ->ss_scheme = $ node ->compatible ? $ ss_scheme : '' ; // 节点兼容原版才显示
1372+ } else {
1373+ // 生成v2ray scheme
1374+ $ v2_json = [
1375+ "v " => "2 " ,
1376+ "ps " => $ node ->name ,
1377+ "add " => $ node ->server ? $ node ->server : $ node ->ip ,
1378+ "port " => $ node ->v2_port ,
1379+ "id " => $ user ->vmess_id ,
1380+ "aid " => $ node ->v2_alter_id ,
1381+ "net " => $ node ->v2_net ,
1382+ "type " => $ node ->v2_type ,
1383+ "host " => $ node ->v2_host ,
1384+ "path " => $ node ->v2_path ,
1385+ "tls " => $ node ->v2_tls == 1 ? "tls " : ""
1386+ ];
1387+ $ v2_scheme = 'vmess:// ' . base64url_encode (json_encode ($ v2_json ));
1388+
1389+ // 生成文本配置信息
1390+ $ txt = "服务器: " . ($ node ->server ? $ node ->server : $ node ->ip ) . "\r\n" ;
1391+ if ($ node ->ipv6 ) {
1392+ $ txt .= "IPv6: " . $ node ->ipv6 . "\r\n" ;
1393+ }
1394+ $ txt .= "端口: " . $ node ->v2_port . "\r\n" ;
1395+ $ txt .= "用户ID: " . $ user ->vmess_id . "\r\n" ;
1396+ $ txt .= "额外ID: " . $ node ->v2_alter_id . "\r\n" ;
1397+ $ txt .= "传输协议: " . $ node ->v2_net . "\r\n" ;
1398+ $ txt .= "伪装类型: " . $ node ->v2_type . "\r\n" ;
1399+ $ txt .= $ node ->v2_host ? "伪装域名: " . $ node ->v2_host . "\r\n" : "" ;
1400+ $ txt .= $ node ->v2_path ? "路径: " . $ node ->v2_path . "\r\n" : "" ;
1401+ $ txt .= $ node ->v2_tls == 1 ? "TLS:tls \r\n" : "" ;
1402+
1403+ $ node ->txt = $ txt ;
1404+ $ node ->v2_scheme = $ v2_scheme ;
13571405 }
1358- $ txt .= "远程端口: " . ($ node ->single ? $ node ->single_port : $ user ->port ) . "\r\n" ;
1359- $ txt .= "密码: " . ($ node ->single ? $ node ->single_passwd : $ user ->passwd ) . "\r\n" ;
1360- $ txt .= "加密方法: " . ($ node ->single ? $ node ->single_method : $ user ->method ) . "\r\n" ;
1361- $ txt .= "路由:绕过局域网及中国大陆地址 \r\n\r\n" ;
1362- $ txt .= "协议: " . ($ node ->single ? $ node ->single_protocol : $ user ->protocol ) . "\r\n" ;
1363- $ txt .= "协议参数: " . ($ node ->single ? $ user ->port . ': ' . $ user ->passwd : $ user ->protocol_param ) . "\r\n" ;
1364- $ txt .= "混淆方式: " . ($ node ->single ? $ node ->single_obfs : $ user ->obfs ) . "\r\n" ;
1365- $ txt .= "混淆参数: " . ($ user ->obfs_param ? $ user ->obfs_param : $ node ->obfs_param ) . "\r\n" ;
1366- $ txt .= "本地端口:1080 \r\n" ;
1367-
1368- $ node ->txt = $ txt ;
1369- $ node ->ssr_scheme = $ ssr_scheme ;
1370- $ node ->ss_scheme = $ node ->compatible ? $ ss_scheme : '' ; // 节点兼容原版才显示
13711406 }
13721407
13731408 $ view ['nodeList ' ] = $ nodeList ;
0 commit comments