mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-10-13 03:53:50 +08:00
Secure api
This commit is contained in:
@@ -4,7 +4,7 @@ import logging
|
||||
import os
|
||||
import asyncio
|
||||
from typing import Iterator
|
||||
from flask import send_from_directory, request, redirect
|
||||
from flask import send_from_directory, request
|
||||
from inspect import signature
|
||||
|
||||
from ...errors import VersionNotFoundError, MissingAuthError
|
||||
@@ -123,9 +123,6 @@ class Api:
|
||||
ensure_media_dir()
|
||||
return send_from_directory(os.path.abspath(get_media_dir()), name)
|
||||
|
||||
def serve_broken_images(self, name):
|
||||
return redirect("/search/image+g4f?skip=3")
|
||||
|
||||
def _prepare_conversation_kwargs(self, json_data: dict):
|
||||
kwargs = {**json_data}
|
||||
model = json_data.get('model')
|
||||
|
@@ -140,6 +140,8 @@ class Backend_Api(Api):
|
||||
json_data["user"] = request.headers.get("x_user", f"{user}:{ip}")
|
||||
json_data["referer"] = request.headers.get("referer", "")
|
||||
json_data["user-agent"] = request.headers.get("user-agent", "")
|
||||
if not json_data.get("referer") or "python" in json_data.get("user-agent", "").lower():
|
||||
json_data["provider"] = random.choice(models.default.best_provider.providers)
|
||||
kwargs = self._prepare_conversation_kwargs(json_data)
|
||||
return self.app.response_class(
|
||||
safe_iter_generator(self._create_response_stream(
|
||||
@@ -227,10 +229,6 @@ class Backend_Api(Api):
|
||||
'function': self.serve_images,
|
||||
'methods': ['GET']
|
||||
},
|
||||
'/http<path:name>': {
|
||||
'function': self.serve_broken_images,
|
||||
'methods': ['GET']
|
||||
}
|
||||
}
|
||||
|
||||
@app.route('/backend-api/v2/create', methods=['GET', 'POST'])
|
||||
|
Reference in New Issue
Block a user