|
import time |
|
import requests |
|
import os |
|
|
|
|
|
LOGIN_URL = "https://surbao-sur.hf.space/api/auth/login" |
|
UPLOAD_URL = "https://surbao-sur.hf.space/api/fs/form" |
|
RENAME_URL = "https://surbao-sur.hf.space/api/fs/rename" |
|
LIST_URL = "https://surbao-sur.hf.space/api/fs/list" |
|
|
|
def get_token(username, password): |
|
"""通过登录获取 token""" |
|
try: |
|
response = requests.post( |
|
LOGIN_URL, |
|
json={"username": username, "password": password}, |
|
headers={"Content-Type": "application/json"} |
|
) |
|
if response.status_code != 200: |
|
print(f"请求失败: {response.status_code}") |
|
print("响应内容:", response.text) |
|
return None |
|
|
|
data = response.json() |
|
if data.get("code") == 200 and "data" in data and "token" in data["data"]: |
|
print("Token retrieved successfully!") |
|
return data["data"]["token"] |
|
else: |
|
print("无法获取 token:", data) |
|
return None |
|
except Exception as e: |
|
print(f"发生异常: {e}") |
|
return None |
|
|
|
def getlist(token): |
|
"""列出文件列表""" |
|
try: |
|
headers = {"Authorization": token} |
|
response = requests.post( |
|
LIST_URL, |
|
headers=headers, |
|
json={"path": "/filen/openwebui", "refresh": True} |
|
) |
|
print("响应内容:", response.text) |
|
except Exception as e: |
|
print(f"发生异常: {e}") |
|
|
|
def rename_file(token, file_name): |
|
"""重命名文件""" |
|
try: |
|
headers = {"Authorization": token} |
|
response = requests.post( |
|
RENAME_URL, |
|
headers=headers, |
|
json={"name": "webui_old.db", "path": f"/filen/openwebui/{file_name}"} |
|
) |
|
if response.status_code == 200: |
|
print("文件重命名成功!") |
|
print("响应内容:", response.text) |
|
else: |
|
print(f"文件重命名失败: {response.status_code}") |
|
print("响应内容:", response.text) |
|
except Exception as e: |
|
print(f"文件重命名时发生异常: {e}") |
|
|
|
def upload_file(token, file_path, file_name): |
|
"""上传文件""" |
|
try: |
|
headers = { |
|
"Authorization": token, |
|
"File-Path": f"/filen/openwebui/{file_name}", |
|
"As-Task": "true" |
|
} |
|
with open(file_path, "rb") as file: |
|
files = {"file": file} |
|
response = requests.put(UPLOAD_URL, headers=headers, files=files) |
|
|
|
if response.status_code == 200: |
|
print("文件上传成功!") |
|
print("响应内容:", response.text) |
|
else: |
|
print(f"文件上传失败: {response.status_code}") |
|
print("响应内容:", response.text) |
|
except Exception as e: |
|
print(f"文件上传时发生异常: {e}") |
|
|
|
def run_script(): |
|
"""主脚本逻辑""" |
|
username = "admin" |
|
password = "798251193" |
|
file_path = "/etc/searxng/settings.yml" |
|
file_name = "setting.txt" |
|
|
|
token = get_token(username, password) |
|
if token: |
|
getlist(token) |
|
upload_file(token, file_path, file_name) |
|
|
|
if __name__ == "__main__": |
|
while True: |
|
print("运行脚本中...") |
|
run_script() |
|
print("脚本执行完成,等待12小时...") |
|
time.sleep(10) |