Advertisement
cevoj35548

Script to keep vps alive

Feb 8th, 2023 (edited)
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.63 KB | None | 0 0
  1. import asyncio
  2. from pyppeteer import launch
  3.  
  4. def read_dat(*args):
  5.     for name in args:
  6.         with open(name, 'r') as f:
  7.             yield f.read().strip()
  8.  
  9. config_data = read_dat('username', 'password', 'url')
  10. USERNAME = next(config_data)
  11. PASSWORD = next(config_data)
  12. TTYD_URL = next(config_data)  # Web Terminal URL below. Should be https://community.cloud.databricks.com/driver-proxy/o/...
  13.  
  14. # ==========================
  15.  
  16. async def signIn(page):
  17.     email_selector = 'input[id=login-email]'
  18.     pass_selector = 'input[id=login-password]'
  19.     await page.waitForSelector(email_selector)
  20.     await page.type(email_selector, USERNAME)
  21.     await page.type(pass_selector, PASSWORD)
  22.     await page.click('button.signin')
  23.     await page.waitForNavigation()
  24.    
  25. async def main():
  26.     print('[1/6] Launching browser...')
  27.     browser = await launch()
  28.     page = (await browser.pages())[0]
  29.     print('[2/6] Logging in...')
  30.     await page.goto('https://community.cloud.databricks.com/login.html')
  31.     await signIn(page)  # sign in
  32.     print('[3/6] Opening ttyd web terminal session...')
  33.     page2 = await browser.newPage()
  34.     await page2.goto(TTYD_URL, {'waitUntil': 'domcontentloaded'})
  35.     await page2.waitForSelector('.xterm-screen')
  36.     print('[4/6] Waiting 10 seconds...')
  37.     await asyncio.sleep(10)  # wait for ttyd to load
  38.     print('[5/6] Running keep alive command...')
  39.     await page2.keyboard.type("python\nprint('Running');__import__('multiprocessing').Queue().get()\n")
  40.     print('[6/6] Complete. Terminal is kept alive.')
  41.     await asyncio.Future()  # keep alive
  42.  
  43. asyncio.get_event_loop().run_until_complete(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement