summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST.in3
-rw-r--r--g4f/Provider/You.py6
-rw-r--r--g4f/Provider/you/har_file.py14
3 files changed, 11 insertions, 12 deletions
diff --git a/MANIFEST.in b/MANIFEST.in
index 5559110f..19847cec 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,5 @@
recursive-include g4f/gui/server *
recursive-include g4f/gui/client *
recursive-include g4f/Provider/npm *
-recursive-include g4f/Provider/gigachat_crt * \ No newline at end of file
+recursive-include g4f/Provider/gigachat_crt *
+recursive-include g4f/Provider/you * \ No newline at end of file
diff --git a/g4f/Provider/You.py b/g4f/Provider/You.py
index 36e2d161..e90365ce 100644
--- a/g4f/Provider/You.py
+++ b/g4f/Provider/You.py
@@ -11,6 +11,7 @@ from .helper import format_prompt
from ..image import ImageResponse, to_bytes, is_accepted_format
from ..requests import StreamSession, FormData, raise_for_status
from .you.har_file import get_telemetry_ids
+from .. import debug
class You(AsyncGeneratorProvider, ProviderModelMixin):
url = "https://you.com"
@@ -163,6 +164,9 @@ class You(AsyncGeneratorProvider, ProviderModelMixin):
if not cls._telemetry_ids:
cls._telemetry_ids = await get_telemetry_ids()
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(
"https://web.stytch.com/sdk/v1/passwords",
headers={
@@ -173,7 +177,7 @@ class You(AsyncGeneratorProvider, ProviderModelMixin):
"Referer": "https://you.com/"
},
json={
- "dfp_telemetry_id": cls._telemetry_ids.pop(),
+ "dfp_telemetry_id": telemetry_id,
"email": f"{user_uuid}@gmail.com",
"password": f"{user_uuid}#{user_uuid}",
"session_duration_minutes": 129600
diff --git a/g4f/Provider/you/har_file.py b/g4f/Provider/you/har_file.py
index 9d841352..18a7144b 100644
--- a/g4f/Provider/you/har_file.py
+++ b/g4f/Provider/you/har_file.py
@@ -2,10 +2,12 @@ from __future__ import annotations
import json
import os
+import os.path
import random
import requests
from ...requests import StreamSession, raise_for_status
+from ...errors import MissingRequirementsError
from ... import debug
class NoValidHarFileError(Exception):
@@ -71,21 +73,13 @@ async def get_dfp_telemetry_id(proxy: str = None):
chatArks = readHAR()
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:
if debug.logging:
print('Getting telemetry_id for you.com with nodriver')
try:
from nodriver import start
except ImportError:
- if debug.logging:
- print('Install "nodriver" package | pip install -U nodriver')
- return read_telemetry_file()
+ raise MissingRequirementsError('Install "nodriver" package | pip install -U nodriver')
try:
browser = await start()
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:
# 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:
try:
await tab.close()