From 1ced61ea0a1b5703421d77e6de52bb5908cfa010 Mon Sep 17 00:00:00 2001 From: osipovasofia7-web Date: Thu, 4 Jun 2026 22:39:14 +0300 Subject: [PATCH] Update vpn_download.yml --- .github/workflows/vpn_download.yml | 62 +++++++++++++++++++----------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/.github/workflows/vpn_download.yml b/.github/workflows/vpn_download.yml index decd53a9..29b3afdc 100644 --- a/.github/workflows/vpn_download.yml +++ b/.github/workflows/vpn_download.yml @@ -1,8 +1,7 @@ +name: vpn_download.yml on: workflow_dispatch: - schedule: - - cron: '0 */24 * * *' permissions: contents: write @@ -13,33 +12,50 @@ jobs: steps: - uses: actions/checkout@v4 - - - uses: actions/setup-python@v4 + + - name: Install Chrome + run: | + sudo apt-get update + sudo apt-get install -y google-chrome-stable chromium-chromedriver + + - uses: actions/setup-python@v5 with: - python-version: '3.9' + python-version: '3.10' - name: Install Dependencies - run: pip install selenium requests + run: pip install selenium webdriver-manager - name: Run Downloader Script env: VPN_USERNAME: ${{ secrets.VPN_USERNAME }} VPN_PASSWORD: ${{ secrets.VPN_PASSWORD }} - TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} - TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} - run: python proton_downloader_chrome.py - - - name: Commit and Push Changes run: | - git config --global user.name "GitHub Action Bot" - git config --global user.email "action@github.com" - - if [ -f "ProtonVPN_WireGuard_Configs.zip" ]; then - git add ProtonVPN_WireGuard_Configs.zip downloaded_wg_ids.json - - git commit -m "🔄 Update WireGuard Configs [$(date)]" || echo "No changes to commit" - - git push - else - echo "No ZIP file found to upload." - fi + from selenium import webdriver + from selenium.webdriver.chrome.options import Options + from selenium.webdriver.common.by import By + import time, os, requests + + options = Options() + options.add_argument('--headless') + options.add_argument('--no-sandbox') + options.add_argument('--disable-dev-shm-usage') + driver = webdriver.Chrome(options=options) + + driver.get('https://account.protonvpn.com/login') + time.sleep(3) + driver.find_element(By.ID, 'username').send_keys(os.environ['VPN_USERNAME']) + driver.find_element(By.ID, 'password').send_keys(os.environ['VPN_PASSWORD']) + driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click() + time.sleep(5) + driver.get('https://account.protonvpn.com/downloads#wireguard-configuration') + time.sleep(3) + url = driver.find_element(By.CSS_SELECTOR, 'a[href*="wireguard"]').get_attribute('href') + r = requests.get(url) + open('ProtonVPN_WireGuard_Configs.zip', 'wb').write(r.content) + driver.quit() + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: ProtonVPN_WireGuard_Configs + path: ProtonVPN_WireGuard_Configs.zip