Xserver VPS 自動更新スクリプト

Tool

概要

Xserver-VPS-Renew は、XServer の無料VPS(無料VPS)を自動で「续期(更新)」するための Python スクリプトです。Playwright によるブラウザ自動化で実際のユーザー操作をシミュレートし、利用期限の読み取り、更新可能かの判定(期限の1日前から更新可能)を行います。Cloudflare Turnstile の回避処理に工夫をこらし、画像キャプチャを取得してOCRで認証コードを解読、更新処理を自動送信します。処理中はスクリーンショットを保存し、動作ログやREADME形式のステータスを生成、さらに Telegram への通知で結果を受け取れるようになっています。

GitHub

リポジトリの統計情報

  • スター数: 66
  • フォーク数: 1
  • ウォッチャー数: 66
  • コミット数: 3
  • ファイル数: 4
  • メインの言語: Python

主な特徴

  • Playwright によるブラウザ自動化で人間の操作を再現して更新処理を行う
  • 画像キャプチャをOCRで読み取り、CAPTCHA を自動で突破する試みを実装
  • Cloudflare Turnstile への対策を行い、FlareSolverr 等を使わずに対応を試みる
  • スクリーンショット保存、README レポート生成、Telegram 通知で可視化とアラートに対応

技術的なポイント

本プロジェクトの中核は Playwright を利用したブラウザ自動化フローと、画像ベースの認証をプログラムで解く OCR 処理にあります。renewal.py が処理の中心で、ブラウザを起動してログインページにアクセスし、セッションを確立したうえで「利用期限」をパースして更新可否を判定します。自動化の際は Cloudflare Turnstile(JavaScript ベースのボット対策)に遭遇するため、通常のヘッドレスブラウザだけでは突破しづらいケースがあり、スクリプト内ではブラウザ挙動の人間らしさ(ウィンドウサイズやマウス移動、適切な待機)を工夫することで通過を試みています。画像認証に関しては、対象領域をスクリーンショットで切り出して OCR にかけるパイプラインを導入しており、認証文字列の抽出→フォーム入力→送信という一連の自動化を行います。結果は処理ごとにスクリーンショットとして保存され、README 形式のステータスレポートが生成されるため、実行履歴を可視化できます。さらに Telegram API を用いた通知機能で、成功/失敗やスクリーンショットへのリンクを受け取れるため、運用監視が容易です。

運用面では、requirements.txt に依存ライブラリが列挙されており、GitHub Actions 等の CI に組み込んで定期実行(cron)することが想定できます。.github ディレクトリが存在するため、ワークフローを追加してスケジューリングする拡張もしやすい構成です。一方で、ブラウザ自動化やCAPTCHA回避は対象サービスの利用規約や技術的制約と相性があるため、トークンやログイン情報は環境変数やシークレット管理を用いて安全に扱うことが重要です。また OCR の精度や Turnstile の変更によっては定期的なメンテナンスが必要になる点も留意すべき点です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • README.md: file
  • renewal.py: file
  • requirements.txt: file

まとめ

少ないファイルで Playwright と OCR を組み合わせた実用的な自動更新ツールを提供しており、定期運用向けに拡張しやすい設計です。

リポジトリ情報:

READMEの抜粋:

XServer VPS 自动续期脚本(Playwright 自动化 + OCR 验证码识别) 🔥 高自动化 · 💻 浏览器模拟 · 🤖 自动续期 · 📸 全程截图 · 📢 Telegram 推送

==================================================

【📝 项目简介】

本项目用于自动续期 XServer 免费 VPS(無料VPS)。 脚本通过 Playwright 启动浏览器,模拟真实用户操作,实现自动续期流程,包括:

🔐 自动登录 XServer 面板

📅 自动读取 VPS 利用期限

🤖 自动判断是否已到可续期日(到期前 1 天即可续期)

🧠 自动绕过 Cloudflare Turnstile(尽力处理,无 FlareSolverr)

🔍 自动抓取图片验证码并 OCR 识别

🖱️ 自动提交续期

📄 自动生成 README 状态报告

📬 自动 Telegram 通知

📸 自动截图留存执…