diff --git a/vrcapi_render_download_acc.php b/account.json.php similarity index 100% rename from vrcapi_render_download_acc.php rename to account.json.php diff --git a/app/api/system.py b/app/api/system.py index 04ef0d5..eb46a86 100644 --- a/app/api/system.py +++ b/app/api/system.py @@ -1,4 +1,6 @@ -from fastapi import APIRouter +from fastapi import APIRouter, HTTPException +import httpx +import json router = APIRouter() diff --git a/app/env.py b/app/env.py index f90762f..8afeac1 100644 --- a/app/env.py +++ b/app/env.py @@ -6,6 +6,4 @@ load_dotenv(dotenv_path=Path(__file__).parent.parent / ".env") CLIENT_NAME = os.getenv("CLIENT_NAME", "default-client-name") API_BASE = os.getenv("VRCHAT_API_BASE", "https://api.vrchat.cloud/api/1") TOKEN_FILE = Path(os.getenv("TOKEN_FILE", "data/auth/account.json")) -IS_RENDER = os.getenv("IS_RENDER", "false").lower() in ("true", "1", "t") -ACCOUNT_JSON_URL = os.getenv("ACCOUNT_JSON_URL", "https://example.com/vrcapi_render_download_acc.php") -ACCOUNT_JSON_TOKEN = os.getenv("ACCOUNT_JSON_TOKEN", "your-token-here") \ No newline at end of file +IS_RENDER = os.getenv("IS_RENDER", "false").lower() in ("true", "1", "t") \ No newline at end of file diff --git a/app/main.py b/app/main.py index 1c7fa18..929bd02 100644 --- a/app/main.py +++ b/app/main.py @@ -17,7 +17,7 @@ app = FastAPI( - Automatic token management with 2FA handling - Public and private VRChat data endpoints - Response caching for performance - - Easy deployment on hosted servers (Render compatible) + - Easy deployment on self-hosted servers (YunoHost compatible) Built with FastAPI and async HTTPX for high performance and reliability. """, diff --git a/prelaunch/vrchat_auth.py b/app/prelaunch/vrchat_auth.py similarity index 87% rename from prelaunch/vrchat_auth.py rename to app/prelaunch/vrchat_auth.py index ec30e4e..e20b0dc 100644 --- a/prelaunch/vrchat_auth.py +++ b/app/prelaunch/vrchat_auth.py @@ -6,30 +6,12 @@ import sys from pathlib import Path sys.path.append(str(Path(__file__).resolve().parent.parent)) -from app.env import CLIENT_NAME, API_BASE, TOKEN_FILE, IS_RENDER, ACCOUNT_JSON_URL, ACCOUNT_JSON_TOKEN +from env import CLIENT_NAME, API_BASE, TOKEN_FILE, IS_RENDER if IS_RENDER: - import requests - print("⚠️ Running in Render environment, downloading account.json with token in URL...") - - url = f"{ACCOUNT_JSON_URL}?token={ACCOUNT_JSON_TOKEN}" - - try: - response = requests.get(url) - response.raise_for_status() - except requests.RequestException as e: - print(f"❌ Failed to download account.json: {e}") - sys.exit(1) - - Path(TOKEN_FILE).parent.mkdir(parents=True, exist_ok=True) - - with open(TOKEN_FILE, "wb") as f: - f.write(response.content) - - print("✅ account.json downloaded successfully.") + print("⚠️ Running in Render environment, skipping VRChat auth.") sys.exit(0) - def save_token(data): data["created_at"] = datetime.now(timezone.utc).isoformat() TOKEN_FILE.parent.mkdir(parents=True, exist_ok=True) diff --git a/render.yaml b/render.yaml deleted file mode 100644 index 51cdf12..0000000 --- a/render.yaml +++ /dev/null @@ -1,15 +0,0 @@ -services: - - type: web - name: vrchat-api - env: python - buildCommand: | - pip install --upgrade pip - pip install -r requirements.txt - startCommand: python run.py - envVars: - - key: CLIENT_NAME - value: YourAPIName/1.0 - - key: VRCHAT_API_BASE - value: https://api.vrchat.cloud/api/1 - - key: TOKEN_FILE - value: data/auth/account.json diff --git a/requirements.txt b/requirements.txt index 996852b..c3c1028 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,4 @@ fastapi uvicorn[standard] httpx orjson -python-dotenv -requests \ No newline at end of file +python-dotenv \ No newline at end of file diff --git a/run.py b/run.py index 2026027..4e5f8d6 100644 --- a/run.py +++ b/run.py @@ -43,7 +43,7 @@ def main(): print("Virtual environment found.") print("Running VRChat authentication script...") - run_in_venv(["prelaunch/vrchat_auth.py"]) + run_in_venv(["app/prelaunch/vrchat_auth.py"]) print("Starting FastAPI server...")