Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a593100b7 | |||
| 414a67c10d | |||
| f92b484011 | |||
| 7af0276944 | |||
| 24aaa8756c | |||
| 07e2beff9b | |||
| 86261e6b76 | |||
| d816582e6f | |||
| 6d1ab0cb3a | |||
| 284b025881 | |||
| 0ca93b56a3 | |||
| 7bcd8de007 |
+27
@@ -378,6 +378,9 @@ class Bot
|
|||||||
case preg_match('~^/renameXrUser (\d+)$~', $this->input['callback'], $m):
|
case preg_match('~^/renameXrUser (\d+)$~', $this->input['callback'], $m):
|
||||||
$this->renameXrUser($m[1]);
|
$this->renameXrUser($m[1]);
|
||||||
break;
|
break;
|
||||||
|
case preg_match('~^/resetXrUser (\d+)$~', $this->input['callback'], $m):
|
||||||
|
$this->resetXrUser($m[1]);
|
||||||
|
break;
|
||||||
case preg_match('~^/v2ray$~', $this->input['callback'], $m):
|
case preg_match('~^/v2ray$~', $this->input['callback'], $m):
|
||||||
$this->v2ray();
|
$this->v2ray();
|
||||||
break;
|
break;
|
||||||
@@ -735,7 +738,9 @@ class Bot
|
|||||||
public function collectSession($c) {
|
public function collectSession($c) {
|
||||||
foreach ($c['inbounds'][0]['settings']['clients'] as $k => $v) {
|
foreach ($c['inbounds'][0]['settings']['clients'] as $k => $v) {
|
||||||
$c['inbounds'][0]['settings']['clients'][$k]['global']['download'] += $v['session']['download'];
|
$c['inbounds'][0]['settings']['clients'][$k]['global']['download'] += $v['session']['download'];
|
||||||
|
$c['inbounds'][0]['settings']['clients'][$k]['session']['download'] = 0;
|
||||||
$c['inbounds'][0]['settings']['clients'][$k]['global']['upload'] += $v['session']['upload'];
|
$c['inbounds'][0]['settings']['clients'][$k]['global']['upload'] += $v['session']['upload'];
|
||||||
|
$c['inbounds'][0]['settings']['clients'][$k]['session']['upload'] = 0;
|
||||||
}
|
}
|
||||||
return $c;
|
return $c;
|
||||||
}
|
}
|
||||||
@@ -5312,6 +5317,17 @@ DNS-over-HTTPS with IP:
|
|||||||
$this->userXr($i);
|
$this->userXr($i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function resetXrUser($i)
|
||||||
|
{
|
||||||
|
$c = $this->getXray();
|
||||||
|
$c['inbounds'][0]['settings']['clients'][$i]['global'] = [
|
||||||
|
'download' => 0,
|
||||||
|
'upload' => 0,
|
||||||
|
];
|
||||||
|
$this->restartXray($c);
|
||||||
|
$this->userXr($i);
|
||||||
|
}
|
||||||
|
|
||||||
public function listXr($i)
|
public function listXr($i)
|
||||||
{
|
{
|
||||||
$c = $this->getPacConf();
|
$c = $this->getPacConf();
|
||||||
@@ -5478,6 +5494,7 @@ DNS-over-HTTPS with IP:
|
|||||||
<code>~pac~</code>
|
<code>~pac~</code>
|
||||||
<code>~package~</code>
|
<code>~package~</code>
|
||||||
<code>~process~</code>
|
<code>~process~</code>
|
||||||
|
<code>~subnet~</code>
|
||||||
<code>~block~</code>
|
<code>~block~</code>
|
||||||
<code>~warp~</code>
|
<code>~warp~</code>
|
||||||
<code>~dns~</code>
|
<code>~dns~</code>
|
||||||
@@ -5486,6 +5503,7 @@ DNS-over-HTTPS with IP:
|
|||||||
<code>~directdomain~</code>
|
<code>~directdomain~</code>
|
||||||
<code>~cdndomain~</code>
|
<code>~cdndomain~</code>
|
||||||
<code>~short_id~</code>
|
<code>~short_id~</code>
|
||||||
|
<code>~email~</code>
|
||||||
<code>~public_key~</code>
|
<code>~public_key~</code>
|
||||||
<code>~server_name~</code>
|
<code>~server_name~</code>
|
||||||
<code>~ip~</code>
|
<code>~ip~</code>
|
||||||
@@ -6030,6 +6048,14 @@ DNS-over-HTTPS with IP:
|
|||||||
'callback_data' => "/qrXray {$i}_2",
|
'callback_data' => "/qrXray {$i}_2",
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
$download = $this->getBytes($c['global']['download'] + $c['session']['download']);
|
||||||
|
$upload = $this->getBytes($c['global']['upload'] + $c['session']['upload']);
|
||||||
|
$data[] = [
|
||||||
|
[
|
||||||
|
'text' => $this->i18n('reset stats') . ": ↓$download ↑$upload",
|
||||||
|
'callback_data' => "/resetXrUser $i",
|
||||||
|
],
|
||||||
|
];
|
||||||
$data[] = [
|
$data[] = [
|
||||||
[
|
[
|
||||||
'text' => $this->i18n('rename'),
|
'text' => $this->i18n('rename'),
|
||||||
@@ -6277,6 +6303,7 @@ DNS-over-HTTPS with IP:
|
|||||||
'~directdomain~' => $pac['domain'],
|
'~directdomain~' => $pac['domain'],
|
||||||
'~cdndomain~' => $pac['linkdomain'],
|
'~cdndomain~' => $pac['linkdomain'],
|
||||||
'~short_id~' => $xr['inbounds'][0]['streamSettings']['realitySettings']['shortIds'][0],
|
'~short_id~' => $xr['inbounds'][0]['streamSettings']['realitySettings']['shortIds'][0],
|
||||||
|
'~email~' => $email,
|
||||||
'~public_key~' => $pac['xray'],
|
'~public_key~' => $pac['xray'],
|
||||||
'~server_name~' => $xr['inbounds'][0]['streamSettings']['realitySettings']['serverNames'][0],
|
'~server_name~' => $xr['inbounds'][0]['streamSettings']['realitySettings']['serverNames'][0],
|
||||||
'~ip~' => $this->ip,
|
'~ip~' => $this->ip,
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
02.02.2025 v2.9
|
||||||
|
- откат sing-box 1.11
|
||||||
|
02.02.2025 v2.8
|
||||||
|
- vless: корректировка статы юзера
|
||||||
|
- sing-box 1.11
|
||||||
|
29.01.2025 v2.7
|
||||||
|
- vless: сброс статистики юзера
|
||||||
24.01.2025 v2.6
|
24.01.2025 v2.6
|
||||||
- правки меню
|
- правки меню
|
||||||
- vless:добавлена возможность маршрутизировать список ip-сетей
|
- vless:добавлена возможность маршрутизировать список ip-сетей
|
||||||
|
|||||||
Reference in New Issue
Block a user