Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 1 addition & 30 deletions core/cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
import pyzstd as zstd
import aiohttp
from tqdm import tqdm
import subprocess
import re

from . import web
from . import utils, logger, config, scheduler, units, storages, i18n
from .storages import File as SFile
Expand Down Expand Up @@ -753,34 +752,6 @@ async def callback(data: tuple[Any, Any]):
scheduler.cancel(timeout_task)
return fut.result()

class Tunnel():
def __init__(self,tunnel_program: str,output_regex: str,timeout: int=30):
self.tunnel_program = tunnel_program
self.output_regex = output_regex
self.timeout = timeout
self.output_logs = []
async def create_tunnel(self):
process = subprocess.Popen(
[self.tunnel_program],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)
for line in process.stdout:
self.output_logs.append(line.strip())
async def get_tunnel_info(self):
regex = re.compile(self.output_regex)
for log in self.output_logs:
match = regex.search(log)
if match:
host = match.group('host')
port = match.group('port')
return {'host': host, 'port': port}
raise ValueError("无法获取隧道信息")
async def get_port(self):
return (await self.get_tunnel_info()).get('port',1145)


@dataclass
class ClusterCertificate:
host: str
Expand Down