Download account.json for Render

This commit is contained in:
Khrysse 2025-06-22 12:44:55 +02:00
parent 8bb851fb9d
commit 519edc3a27
5 changed files with 46 additions and 7 deletions

View File

@ -1,6 +1,4 @@
from fastapi import APIRouter, HTTPException
import httpx
import json
from fastapi import APIRouter
router = APIRouter()

View File

@ -7,3 +7,5 @@ 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_URL_JSON = os.getenv("ACCOUNT_JSON_URL", "https://example.com/vrcapi_render_download_acc.php")
ACCOUNT_JSON_TOKEN = os.getenv("ACCOUNT_JSON_TOKEN", "your-token-here")

View File

@ -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 self-hosted servers (YunoHost compatible)
- Easy deployment on hosted servers (Render compatible)
Built with FastAPI and async HTTPX for high performance and reliability.
""",

View File

@ -6,10 +6,25 @@ import sys
from pathlib import Path
sys.path.append(str(Path(__file__).resolve().parent.parent))
from env import CLIENT_NAME, API_BASE, TOKEN_FILE, IS_RENDER
from env import CLIENT_NAME, API_BASE, TOKEN_FILE, IS_RENDER, ACCOUNT_URL_JSON, ACCOUNT_JSON_TOKEN
if IS_RENDER:
print("⚠️ Running in Render environment, skipping VRChat auth.")
import requests
print("⚠️ Running in Render environment, downloading account.json with token in URL...")
url = f"{ACCOUNT_URL_JSON}?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)
with open("data/auth/account.json", "wb") as f:
f.write(response.content)
print("✅ account.json downloaded successfully.")
sys.exit(0)
def save_token(data):

View File

@ -0,0 +1,24 @@
<?php
define('ACCESS_TOKEN', 'mon_token_de_securite_ici');
if (!isset($_GET['token']) || $_GET['token'] !== ACCESS_TOKEN) {
header('HTTP/1.1 401 Unauthorized');
echo json_encode(['error' => 'Unauthorized']);
exit;
}
$jsonContent = <<<'JSON'
{
"manual_username": "user123",
"displayName": "User Display Name",
"user_id": "abcdef123456",
"auth": "xxxxxxxxxxxxxxx==",
"auth_cookie": "yyyyyyyyyyyyyy",
"created_at": "2025-06-22T14:00:00+00:00"
}
JSON;
header('Content-Type: application/json');
echo $jsonContent;
?>