Nokia123543 commited on
Commit
f1ccc46
·
verified ·
1 Parent(s): 744b62e

PLUS: serveo --subdomain

Browse files
Files changed (1) hide show
  1. plus/serve_muscriptor.py +17 -2
plus/serve_muscriptor.py CHANGED
@@ -168,6 +168,16 @@ class Tunnel:
168
  pass
169
 
170
 
 
 
 
 
 
 
 
 
 
 
171
  SSH_OPTS = ["-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null",
172
  "-o", "ServerAliveInterval=15", "-o", "ServerAliveCountMax=3",
173
  "-o", "TCPKeepAlive=yes", "-o", "ExitOnForwardFailure=yes"]
@@ -229,7 +239,7 @@ def specs(port: int) -> list[tuple[str, list[str], str]]:
229
  ["ssh", "-T", *SSH_OPTS, "-R", "80:127.0.0.1:%d" % port, SSH_USER + "@localhost.run"],
230
  r"https://[a-z0-9]+\.lhr\.life"),
231
  ("serveo",
232
- ["ssh", "-T", *SSH_OPTS, "-R", "80:127.0.0.1:%d" % port, "serveo.net"],
233
  r"https://[a-z0-9-]+(?:\.[a-z0-9-]+)*\."
234
  r"(?:serveousercontent|serveo)\.[a-z]+"),
235
  ("pinggy",
@@ -468,6 +478,8 @@ def main(argv: list[str] | None = None) -> int:
468
  help="путь к safetensors, имя размера или hf://org/repo/file")
469
  parser.add_argument("--device", default="auto", help="auto | cpu | cuda | cuda:0")
470
  parser.add_argument("--dtype", default=None, help="float32 | float16 | bfloat16")
 
 
471
  parser.add_argument("--tunnel", default=None, help="только этот туннель")
472
  parser.add_argument("--ssh", default=None,
473
  help="свой ssh-туннель: пользователь@хост или пользователь@хост:порт")
@@ -491,7 +503,10 @@ def main(argv: list[str] | None = None) -> int:
491
  help="инструменты для модели: auto (по умолчанию), band (8 групп)"
492
  " или список через запятую")
493
  args = parser.parse_args(argv)
494
- global SSH_USER, CUSTOM_SSH
 
 
 
495
  if args.ssh_user:
496
  SSH_USER = args.ssh_user
497
  if args.ssh:
 
168
  pass
169
 
170
 
171
+ SUBDOMAIN = os.environ.get("MUSCRIPTOR_SUBDOMAIN", "").strip()
172
+
173
+
174
+ def forward_spec(port: int, wants_name: bool) -> str:
175
+ """Строка проброса: с постоянным поддоменом, если он задан."""
176
+ if wants_name and SUBDOMAIN:
177
+ return "%s:80:127.0.0.1:%d" % (SUBDOMAIN, port)
178
+ return "80:127.0.0.1:%d" % port
179
+
180
+
181
  SSH_OPTS = ["-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null",
182
  "-o", "ServerAliveInterval=15", "-o", "ServerAliveCountMax=3",
183
  "-o", "TCPKeepAlive=yes", "-o", "ExitOnForwardFailure=yes"]
 
239
  ["ssh", "-T", *SSH_OPTS, "-R", "80:127.0.0.1:%d" % port, SSH_USER + "@localhost.run"],
240
  r"https://[a-z0-9]+\.lhr\.life"),
241
  ("serveo",
242
+ ["ssh", "-T", *SSH_OPTS, "-R", forward_spec(port, True), "serveo.net"],
243
  r"https://[a-z0-9-]+(?:\.[a-z0-9-]+)*\."
244
  r"(?:serveousercontent|serveo)\.[a-z]+"),
245
  ("pinggy",
 
478
  help="путь к safetensors, имя размера или hf://org/repo/file")
479
  parser.add_argument("--device", default="auto", help="auto | cpu | cuda | cuda:0")
480
  parser.add_argument("--dtype", default=None, help="float32 | float16 | bfloat16")
481
+ parser.add_argument("--subdomain", default="",
482
+ help="постоянный поддомен serveo, например nokia1709")
483
  parser.add_argument("--tunnel", default=None, help="только этот туннель")
484
  parser.add_argument("--ssh", default=None,
485
  help="свой ssh-туннель: пользователь@хост или пользователь@хост:порт")
 
503
  help="инструменты для модели: auto (по умолчанию), band (8 групп)"
504
  " или список через запятую")
505
  args = parser.parse_args(argv)
506
+ global SSH_USER, CUSTOM_SSH, SUBDOMAIN
507
+ if args.subdomain:
508
+ SUBDOMAIN = args.subdomain.strip()
509
+ os.environ["MUSCRIPTOR_SUBDOMAIN"] = SUBDOMAIN
510
  if args.ssh_user:
511
  SSH_USER = args.ssh_user
512
  if args.ssh: