mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-12-06 02:30:41 -08:00
Add MissingRequirementsError to You
This commit is contained in:
parent
db2d6cffd9
commit
f66cd9f8a3
3 changed files with 11 additions and 12 deletions
|
|
@ -2,3 +2,4 @@ recursive-include g4f/gui/server *
|
||||||
recursive-include g4f/gui/client *
|
recursive-include g4f/gui/client *
|
||||||
recursive-include g4f/Provider/npm *
|
recursive-include g4f/Provider/npm *
|
||||||
recursive-include g4f/Provider/gigachat_crt *
|
recursive-include g4f/Provider/gigachat_crt *
|
||||||
|
recursive-include g4f/Provider/you *
|
||||||
|
|
@ -11,6 +11,7 @@ from .helper import format_prompt
|
||||||
from ..image import ImageResponse, to_bytes, is_accepted_format
|
from ..image import ImageResponse, to_bytes, is_accepted_format
|
||||||
from ..requests import StreamSession, FormData, raise_for_status
|
from ..requests import StreamSession, FormData, raise_for_status
|
||||||
from .you.har_file import get_telemetry_ids
|
from .you.har_file import get_telemetry_ids
|
||||||
|
from .. import debug
|
||||||
|
|
||||||
class You(AsyncGeneratorProvider, ProviderModelMixin):
|
class You(AsyncGeneratorProvider, ProviderModelMixin):
|
||||||
url = "https://you.com"
|
url = "https://you.com"
|
||||||
|
|
@ -163,6 +164,9 @@ class You(AsyncGeneratorProvider, ProviderModelMixin):
|
||||||
if not cls._telemetry_ids:
|
if not cls._telemetry_ids:
|
||||||
cls._telemetry_ids = await get_telemetry_ids()
|
cls._telemetry_ids = await get_telemetry_ids()
|
||||||
user_uuid = str(uuid.uuid4())
|
user_uuid = str(uuid.uuid4())
|
||||||
|
telemetry_id = cls._telemetry_ids.pop()
|
||||||
|
if debug.logging:
|
||||||
|
print(f"Use telemetry_id: {telemetry_id}")
|
||||||
async with client.post(
|
async with client.post(
|
||||||
"https://web.stytch.com/sdk/v1/passwords",
|
"https://web.stytch.com/sdk/v1/passwords",
|
||||||
headers={
|
headers={
|
||||||
|
|
@ -173,7 +177,7 @@ class You(AsyncGeneratorProvider, ProviderModelMixin):
|
||||||
"Referer": "https://you.com/"
|
"Referer": "https://you.com/"
|
||||||
},
|
},
|
||||||
json={
|
json={
|
||||||
"dfp_telemetry_id": cls._telemetry_ids.pop(),
|
"dfp_telemetry_id": telemetry_id,
|
||||||
"email": f"{user_uuid}@gmail.com",
|
"email": f"{user_uuid}@gmail.com",
|
||||||
"password": f"{user_uuid}#{user_uuid}",
|
"password": f"{user_uuid}#{user_uuid}",
|
||||||
"session_duration_minutes": 129600
|
"session_duration_minutes": 129600
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,12 @@ from __future__ import annotations
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import os.path
|
||||||
import random
|
import random
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from ...requests import StreamSession, raise_for_status
|
from ...requests import StreamSession, raise_for_status
|
||||||
|
from ...errors import MissingRequirementsError
|
||||||
from ... import debug
|
from ... import debug
|
||||||
|
|
||||||
class NoValidHarFileError(Exception):
|
class NoValidHarFileError(Exception):
|
||||||
|
|
@ -71,21 +73,13 @@ async def get_dfp_telemetry_id(proxy: str = None):
|
||||||
chatArks = readHAR()
|
chatArks = readHAR()
|
||||||
return await sendRequest(random.choice(chatArks), proxy)
|
return await sendRequest(random.choice(chatArks), proxy)
|
||||||
|
|
||||||
def read_telemetry_file() -> list:
|
|
||||||
with open("hardir/you.com_telemetry_ids.txt", "r") as f:
|
|
||||||
ids = f.readlines()
|
|
||||||
random.shuffle(ids)
|
|
||||||
return ids
|
|
||||||
|
|
||||||
async def get_telemetry_ids(proxy: str = None) -> list:
|
async def get_telemetry_ids(proxy: str = None) -> list:
|
||||||
if debug.logging:
|
if debug.logging:
|
||||||
print('Getting telemetry_id for you.com with nodriver')
|
print('Getting telemetry_id for you.com with nodriver')
|
||||||
try:
|
try:
|
||||||
from nodriver import start
|
from nodriver import start
|
||||||
except ImportError:
|
except ImportError:
|
||||||
if debug.logging:
|
raise MissingRequirementsError('Install "nodriver" package | pip install -U nodriver')
|
||||||
print('Install "nodriver" package | pip install -U nodriver')
|
|
||||||
return read_telemetry_file()
|
|
||||||
try:
|
try:
|
||||||
browser = await start()
|
browser = await start()
|
||||||
tab = browser.main_tab
|
tab = browser.main_tab
|
||||||
|
|
@ -103,7 +97,7 @@ async def get_telemetry_ids(proxy: str = None) -> list:
|
||||||
# with open("hardir/you.com_telemetry_ids.txt", "a") as f:
|
# with open("hardir/you.com_telemetry_ids.txt", "a") as f:
|
||||||
# f.write((await get_telemetry_id()) + "\n")
|
# f.write((await get_telemetry_id()) + "\n")
|
||||||
|
|
||||||
return [await get_telemetry_id() for _ in range(10)]
|
return [await get_telemetry_id() for _ in range(4)]
|
||||||
finally:
|
finally:
|
||||||
try:
|
try:
|
||||||
await tab.close()
|
await tab.close()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue