Compare commits

..

5 Commits

Author SHA1 Message Date
mercury ae61a38dbc on/off warp-svc 2024-09-29 16:10:16 +04:00
mercury e727f6552c create singbox archive improve 2024-09-29 13:48:26 +04:00
mercury cfd500d48a update version 2024-09-23 23:44:32 +04:00
mercury ff87ee1055 latest docker compose 2024-09-23 23:11:02 +04:00
mercury 3375293be5 fix update start 2024-09-22 21:05:48 +04:00
13 changed files with 66 additions and 30 deletions
+41 -11
View File
@@ -145,6 +145,9 @@ class Bot
case preg_match('~^/appOutbound$~', $this->input['callback'], $m):
$this->appOutbound();
break;
case preg_match('~^/offWarp$~', $this->input['callback'], $m):
$this->offWarp();
break;
case preg_match('~^/addSubdomain$~', $this->input['callback'], $m):
$this->addSubdomain();
break;
@@ -4520,23 +4523,53 @@ DNS-over-HTTPS with IP:
public function warpStatus()
{
$st = $this->ssh('curl -m 1 -x socks5://127.0.0.1:40000 https://cloudflare.com/cdn-cgi/trace', 'wp');
preg_match('~warp=(\w+)~', $st, $m);
return $m[1];
if (!empty($this->ssh('pgrep warp-svc', 'wp'))) {
$st = $this->ssh('curl -m 1 -x socks5://127.0.0.1:40000 https://cloudflare.com/cdn-cgi/trace', 'wp');
preg_match('~warp=(\w+)~', $st, $m);
return $m[1];
}
return 'off';
}
public function offWarp()
{
$p = $this->getPacConf();
if (empty($p['warpoff'])) {
$this->ssh('pkill warp-svc', 'wp');
$p['warpoff'] = 1;
} else {
$this->ssh('warp-svc > /dev/null 2>&1 &', 'wp');
sleep(3);
$this->ssh('warp-cli --accept-tos registration new', 'wp');
if (!empty($p['warp'])) {
$this->ssh("warp-cli --accept-tos registration license {$p['warp']}", 'wp');
}
$this->ssh('warp-cli --accept-tos mode proxy', 'wp');
$this->ssh('warp-cli --accept-tos connect', 'wp');
unset($p['warpoff']);
}
$this->setPacConf($p);
$this->warp();
}
public function warp()
{
$p = $this->getPacConf();
$text[] = "Menu -> " . $this->i18n('warp');
$text[] = "status: " . $this->warpStatus();
$text[] = "key: " . $this->getPacConf()['warp'];
$data[] = [
[
'text' => $this->i18n($p['warpoff'] ? 'off' : 'on'),
'callback_data' => "/offWarp",
],
];
$data[] = [
[
'text' => $this->i18n('set key'),
'callback_data' => "/warpPlus",
],
];
$data[] = [
[
'text' => $this->i18n('back'),
@@ -4795,14 +4828,11 @@ DNS-over-HTTPS with IP:
case 'w':
$link = htmlspecialchars($si, ENT_XML1, 'UTF-8');
file_put_contents('/singbox/winsw3.xml', preg_replace('#~url~#', $link, file_get_contents('/singbox/winsw3.xml')));
$zip = new ZipArchive();
$n = "singbox_$uid.zip";
$zip->open($n, ZipArchive::CREATE | ZipArchive::OVERWRITE);
foreach (scandir('/singbox') as $k => $v) {
if (!empty(!in_array($v, ['.', '..']))) {
$zip->addFile("/singbox/$v", $v);
}
}
copy('/singbox/singbox.zip', $n);
$zip = new ZipArchive();
$zip->open($n, ZipArchive::CREATE);
$zip->addFile('/singbox/winsw3.xml', 'winsw3.xml');
$zip->close();
header('Content-Disposition: attachment; filename="singbox.zip"');
echo file_get_contents($n);
+5 -1
View File
@@ -16,7 +16,11 @@ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
apt install -y docker-ce docker-ce-cli containerd.io
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
git clone https://github.com/mercurykd/vpnbot.git
cd ./vpnbot
echo "<?php
+11 -7
View File
@@ -1,14 +1,18 @@
cat /ssh/key.pub > /root/.ssh/authorized_keys
ssh-keygen -A
exec /usr/sbin/sshd -D -e "$@" &
warp-svc > /dev/null &
sleep 3
warp-cli --accept-tos registration new
off=$(cat /config/pac.json | jq -r .warpoff)
key=$(cat /config/pac.json | jq -r .warp)
if [ ! -z "$key" ]
if [ "$off" == 'null' ]
then
warp-cli --accept-tos registration license $key
warp-svc > /dev/null &
sleep 3
warp-cli --accept-tos registration new
if [ ! -z "$key" ]
then
warp-cli --accept-tos registration license $key
fi
warp-cli --accept-tos mode proxy
warp-cli --accept-tos connect
fi
warp-cli --accept-tos mode proxy
warp-cli --accept-tos connect
socat TCP-LISTEN:4000,fork TCP:127.0.0.1:40000
-2
View File
@@ -1,2 +0,0 @@
winsw3.exe install
pause
-2
View File
@@ -1,2 +0,0 @@
winsw3.exe stop
winsw3.exe start
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
winsw3.exe start
-2
View File
@@ -1,2 +0,0 @@
winsw3.exe status
pause
-1
View File
@@ -1 +0,0 @@
winsw3.exe stop
-2
View File
@@ -1,2 +0,0 @@
winsw3.exe uninstall
pause
+1 -1
View File
@@ -24,7 +24,7 @@ do
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "применяю обновления"/')"
git pull > ./update/message
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "запускаю бота"/')"
IP=$(curl https://ipinfo.io/ip) VER=$(git describe --tags) docker compose up -d --force-recreate
IP=$(curl ipinfo.io/ip) VER=$(git describe --tags) docker compose --env-file ./.env --env-file ./override.env up -d --force-recreate
bash $pwd/update/update.sh &
> $pwd/update/key
> $pwd/update/curl
+8
View File
@@ -1,3 +1,11 @@
29.09.2024 v1.61
- включение/отключение процесса warp
29.09.2024 v1.60
- ускорение сборки архива sing-box windows
23.09.2024 v1.59
- docker compose v2.29.6 (при установке бота)
22.09.2024 v1.58
- фикс запуска бота с правильными параметрами после обновления
22.09.2024 v1.57
- выбор типа endpoint для wireguard/amnezia
22.09.2024 v1.56.2