mirror of
https://github.com/v2board/v2board.git
synced 2025-06-15 06:07:49 +08:00
update
This commit is contained in:
@ -150,7 +150,6 @@ class ClientController extends Controller
|
||||
private function clash($user, $server)
|
||||
{
|
||||
$proxy = [];
|
||||
$proxyGroup = [];
|
||||
$proxies = [];
|
||||
$rules = [];
|
||||
foreach ($server as $item) {
|
||||
@ -180,28 +179,80 @@ class ClientController extends Controller
|
||||
array_push($proxies, $item->name);
|
||||
}
|
||||
|
||||
array_push($proxyGroup, [
|
||||
'name' => 'auto',
|
||||
'type' => 'url-test',
|
||||
'proxies' => $proxies,
|
||||
'url' => 'https://www.bing.com',
|
||||
'interval' => 300
|
||||
]);
|
||||
array_push($proxyGroup, [
|
||||
'name' => 'fallback-auto',
|
||||
'type' => 'fallback',
|
||||
'proxies' => $proxies,
|
||||
'url' => 'https://www.bing.com',
|
||||
'interval' => 300
|
||||
]);
|
||||
array_push($proxyGroup, [
|
||||
'name' => 'select',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge($proxies, [
|
||||
'auto',
|
||||
'fallback-auto'
|
||||
])
|
||||
]);
|
||||
$proxyGroup = [
|
||||
[
|
||||
'name' => '🔰 节点选择',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'♻️ 自动选择',
|
||||
'🎯 全球直连'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => '♻️ 自动选择',
|
||||
'type' => 'url-test',
|
||||
'url' => 'http://www.gstatic.com/generate_204',
|
||||
'interval' => 300,
|
||||
'proxies' => $proxies
|
||||
], [
|
||||
'name' => '🌍 国外媒体',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🔰 节点选择',
|
||||
'♻️ 自动选择',
|
||||
'🎯 全球直连'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => '🌏 国内媒体',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🎯 全球直连',
|
||||
'🔰 节点选择'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => 'Ⓜ️ 微软服务',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🎯 全球直连',
|
||||
'🔰 节点选择'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => '📲 电报信息',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🎯 全球直连',
|
||||
'🔰 节点选择'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => '🍎 苹果服务',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🔰 节点选择',
|
||||
'♻️ 自动选择',
|
||||
'🎯 全球直连'
|
||||
], $proxies)
|
||||
], [
|
||||
'name' => '🎯 全球直连',
|
||||
'type' => 'select',
|
||||
'proxies' => [
|
||||
'DIRECT'
|
||||
]
|
||||
], [
|
||||
'name' => '🛑 全球拦截',
|
||||
'type' => 'select',
|
||||
'proxies' => [
|
||||
'REJECT',
|
||||
'DIRECT'
|
||||
]
|
||||
], [
|
||||
'name' => '🐟 漏网之鱼',
|
||||
'type' => 'select',
|
||||
'proxies' => array_merge([
|
||||
'🔰 节点选择',
|
||||
'♻️ 自动选择',
|
||||
'🎯 全球直连'
|
||||
], $proxies)
|
||||
]
|
||||
];
|
||||
|
||||
try {
|
||||
$rules = [];
|
||||
|
@ -3,11 +3,13 @@
|
||||
namespace App\Http\Controllers\Server;
|
||||
|
||||
use App\Services\ServerService;
|
||||
use App\Services\UserService;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
use App\Models\Server;
|
||||
use App\Models\ServerLog;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
@ -63,28 +65,31 @@ class DeepbworkController extends Controller
|
||||
$server = Server::find($request->input('node_id'));
|
||||
if (!$server) {
|
||||
return response([
|
||||
'ret' => 1,
|
||||
'msg' => 'ok'
|
||||
'ret' => 0,
|
||||
'msg' => 'server is not found'
|
||||
]);
|
||||
}
|
||||
$data = file_get_contents('php://input');
|
||||
$data = json_decode($data, true);
|
||||
$serverService = new ServerService();
|
||||
$userService = new UserService();
|
||||
foreach ($data as $item) {
|
||||
$u = $item['u'] * $server->rate;
|
||||
$d = $item['d'] * $server->rate;
|
||||
$user = User::find($item['user_id']);
|
||||
$user->t = time();
|
||||
$user->u = $user->u + $u;
|
||||
$user->d = $user->d + $d;
|
||||
$user->save();
|
||||
if (!$userService->trafficFetch($u, $d, $item['user_id'])) {
|
||||
return response([
|
||||
'ret' => 0,
|
||||
'msg' => 'user fetch fail'
|
||||
]);
|
||||
}
|
||||
|
||||
$serverLog = new ServerLog();
|
||||
$serverLog->user_id = $item['user_id'];
|
||||
$serverLog->server_id = $request->input('node_id');
|
||||
$serverLog->u = $item['u'];
|
||||
$serverLog->d = $item['d'];
|
||||
$serverLog->rate = $server->rate;
|
||||
$serverLog->save();
|
||||
$serverService->log(
|
||||
$item['user_id'],
|
||||
$request->input('node_id'),
|
||||
$u,
|
||||
$d,
|
||||
$server->rate
|
||||
);
|
||||
}
|
||||
|
||||
return response([
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Server;
|
||||
|
||||
use App\Services\ServerService;
|
||||
use App\Services\UserService;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
@ -58,22 +59,25 @@ class PoseidonController extends Controller
|
||||
}
|
||||
$data = file_get_contents('php://input');
|
||||
$data = json_decode($data, true);
|
||||
$serverService = new ServerService();
|
||||
$userService = new UserService();
|
||||
foreach ($data as $item) {
|
||||
$u = $item['u'] * $server->rate;
|
||||
$d = $item['d'] * $server->rate;
|
||||
$user = User::find($item['user_id']);
|
||||
$user->t = time();
|
||||
$user->u = $user->u + $u;
|
||||
$user->d = $user->d + $d;
|
||||
$user->save();
|
||||
if (!$userService->trafficFetch($u, $d, $item['user_id'])) {
|
||||
return response([
|
||||
'ret' => 0,
|
||||
'msg' => 'user fetch fail'
|
||||
]);
|
||||
}
|
||||
|
||||
$serverLog = new ServerLog();
|
||||
$serverLog->user_id = $item['user_id'];
|
||||
$serverLog->server_id = $request->input('node_id');
|
||||
$serverLog->u = $item['u'];
|
||||
$serverLog->d = $item['d'];
|
||||
$serverLog->rate = $server->rate;
|
||||
$serverLog->save();
|
||||
$serverService->log(
|
||||
$item['user_id'],
|
||||
$request->input('node_id'),
|
||||
$u,
|
||||
$d,
|
||||
$server->rate
|
||||
);
|
||||
}
|
||||
|
||||
return $this->success('');
|
||||
|
@ -89,6 +89,10 @@ class OrderController extends Controller
|
||||
abort(500, '该订阅周期无法进行购买,请选择其他周期');
|
||||
}
|
||||
|
||||
if ($request->input('cycle') === 'reset_price' && !$user->plan_id) {
|
||||
abort(500, '必须存在订阅才可以购买流量重置包');
|
||||
}
|
||||
|
||||
DB::beginTransaction();
|
||||
$order = new Order();
|
||||
$orderService = new OrderService($order);
|
||||
|
@ -15,7 +15,8 @@ class PlanSave extends FormRequest
|
||||
'quarter_price' => 'nullable|integer',
|
||||
'half_year_price' => 'nullable|integer',
|
||||
'year_price' => 'nullable|integer',
|
||||
'onetime_price' => 'nullable|integer'
|
||||
'onetime_price' => 'nullable|integer',
|
||||
'reset_price' => 'nullable|reset_price'
|
||||
];
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
@ -39,7 +40,8 @@ class PlanSave extends FormRequest
|
||||
'quarter_price.integer' => '季付金额格式有误',
|
||||
'half_year_price.integer' => '半年付金额格式有误',
|
||||
'year_price.integer' => '年付金额格式有误',
|
||||
'onetime_price.integer' => '一次性金额有误'
|
||||
'onetime_price.integer' => '一次性金额有误',
|
||||
'reset_price.integer' => '流量重置包金额有误'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ class OrderSave extends FormRequest
|
||||
{
|
||||
return [
|
||||
'plan_id' => 'required',
|
||||
'cycle' => 'required|in:month_price,quarter_price,half_year_price,year_price,onetime_price'
|
||||
'cycle' => 'required|in:month_price,quarter_price,half_year_price,year_price,onetime_price,reset_price'
|
||||
];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user