-
Happy Birthday, {self.name}!
-
Dear {self.name},
- On this special day, I wish you all the very best, all the joy you can ever have, and may you be blessed
- abundantly today, tomorrow, and the days to come! May you have a fantastic birthday and many more to come...
- HAPPY BIRTHDAY!!!!
- With love, {self.preview_name}
-
-
-
-
-
-
-
-"""
-
- return web.Response(text=html_content, content_type="text/html")
-
- async def open_tunnel(self, port):
- ssh_command = f"ssh -o StrictHostKeyChecking=no -R 80:localhost:{port} nokey@localhost.run"
- process = await asyncio.create_subprocess_shell(
- ssh_command,
- stdin=asyncio.subprocess.PIPE,
- stdout=asyncio.subprocess.PIPE,
- stderr=asyncio.subprocess.PIPE,
- )
-
- url = await self._extract_tunnel_url(process.stdout)
- self.url = url or f"https://localhost:{port}"
- return self.url
-
- async def _extract_tunnel_url(self, stdout):
- event = asyncio.Event()
- url = None
-
- async def read_output():
- nonlocal url
- while True:
- line = await stdout.readline()
- if not line:
- break
- decoded_line = line.decode()
- match = re.search(r"tunneled.*?(https:\/\/.+)", decoded_line)
- if match:
- url = match[1]
- break
- event.set()
-
- await read_output()
- await event.wait()
- return url
-
-
-@loader.tds
-class BirthdayWish(loader.Module):
- """Share warmth with your loved ones and give them this website to make their birthdays even more special and joyful."""
-
- strings = {
- "name": "BirthdayWish",
- "provide_name": "