webscout 6.9__py3-none-any.whl → 7.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of webscout might be problematic. Click here for more details.
- webscout/AIbase.py +12 -2
- webscout/DWEBS.py +38 -22
- webscout/Extra/autocoder/autocoder_utiles.py +68 -7
- webscout/Extra/autollama.py +0 -16
- webscout/Extra/gguf.py +0 -13
- webscout/LLM.py +1 -1
- webscout/Provider/AISEARCH/DeepFind.py +251 -0
- webscout/Provider/AISEARCH/__init__.py +2 -2
- webscout/Provider/AISEARCH/felo_search.py +167 -118
- webscout/Provider/Blackboxai.py +136 -137
- webscout/Provider/Cloudflare.py +92 -78
- webscout/Provider/Deepinfra.py +59 -35
- webscout/Provider/Glider.py +222 -0
- webscout/Provider/Groq.py +26 -18
- webscout/Provider/HF_space/__init__.py +0 -0
- webscout/Provider/HF_space/qwen_qwen2.py +206 -0
- webscout/Provider/Jadve.py +108 -77
- webscout/Provider/Llama3.py +117 -94
- webscout/Provider/Marcus.py +65 -10
- webscout/Provider/Netwrck.py +61 -49
- webscout/Provider/PI.py +77 -122
- webscout/Provider/PizzaGPT.py +129 -82
- webscout/Provider/TextPollinationsAI.py +229 -0
- webscout/Provider/Youchat.py +28 -22
- webscout/Provider/__init__.py +12 -4
- webscout/Provider/askmyai.py +2 -2
- webscout/Provider/chatglm.py +205 -0
- webscout/Provider/dgaf.py +215 -0
- webscout/Provider/gaurish.py +106 -66
- webscout/Provider/hermes.py +219 -0
- webscout/Provider/llamatutor.py +72 -62
- webscout/Provider/llmchat.py +62 -35
- webscout/Provider/meta.py +6 -6
- webscout/Provider/multichat.py +205 -104
- webscout/Provider/typegpt.py +26 -23
- webscout/Provider/yep.py +3 -3
- webscout/litagent/__init__.py +3 -146
- webscout/litagent/agent.py +120 -0
- webscout/litagent/constants.py +31 -0
- webscout/tempid.py +0 -4
- webscout/version.py +1 -1
- webscout/webscout_search.py +1141 -1140
- webscout/webscout_search_async.py +635 -635
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/METADATA +37 -33
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/RECORD +49 -41
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/WHEEL +1 -1
- webscout/Provider/AISEARCH/ooai.py +0 -155
- webscout/Provider/RUBIKSAI.py +0 -272
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/LICENSE.md +0 -0
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/entry_points.txt +0 -0
- {webscout-6.9.dist-info → webscout-7.1.dist-info}/top_level.txt +0 -0
webscout/litagent/__init__.py
CHANGED
|
@@ -21,152 +21,9 @@ Examples:
|
|
|
21
21
|
>>> agent.refresh() # Get fresh new agents
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
import
|
|
25
|
-
from
|
|
26
|
-
from ..Litlogger import LitLogger, LogFormat, ColorScheme
|
|
27
|
-
|
|
28
|
-
logger = LitLogger(
|
|
29
|
-
name="LitAgent",
|
|
30
|
-
format=LogFormat.MODERN_EMOJI,
|
|
31
|
-
color_scheme=ColorScheme.CYBERPUNK
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
class LitAgent:
|
|
35
|
-
"""A lit user agent generator that keeps it fresh! 🌟"""
|
|
36
|
-
|
|
37
|
-
# Browser versions we support
|
|
38
|
-
BROWSERS = {
|
|
39
|
-
"chrome": (48, 120),
|
|
40
|
-
"firefox": (48, 121),
|
|
41
|
-
"safari": (605, 617),
|
|
42
|
-
"edge": (79, 120),
|
|
43
|
-
"opera": (48, 104)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
# OS versions
|
|
47
|
-
OS_VERSIONS = {
|
|
48
|
-
"windows": ["10.0", "11.0"],
|
|
49
|
-
"mac": ["10_15_7", "11_0", "12_0", "13_0", "14_0"],
|
|
50
|
-
"linux": ["x86_64", "i686"],
|
|
51
|
-
"android": ["10", "11", "12", "13", "14"],
|
|
52
|
-
"ios": ["14_0", "15_0", "16_0", "17_0"]
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
# Device types
|
|
56
|
-
DEVICES = {
|
|
57
|
-
"mobile": [
|
|
58
|
-
"iPhone", "iPad", "Samsung Galaxy", "Google Pixel",
|
|
59
|
-
"OnePlus", "Xiaomi", "Huawei", "OPPO", "Vivo"
|
|
60
|
-
],
|
|
61
|
-
"desktop": ["Windows PC", "MacBook", "iMac", "Linux Desktop"],
|
|
62
|
-
"tablet": ["iPad", "Samsung Galaxy Tab", "Microsoft Surface"],
|
|
63
|
-
"console": ["PlayStation 5", "Xbox Series X", "Nintendo Switch"],
|
|
64
|
-
"tv": ["Samsung Smart TV", "LG WebOS", "Android TV", "Apple TV"]
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
def __init__(self):
|
|
68
|
-
"""Initialize LitAgent with style! 💫"""
|
|
69
|
-
self.agents = self._generate_agents(100) # Keep 100 agents in memory
|
|
70
|
-
|
|
71
|
-
def _generate_agents(self, count: int) -> List[str]:
|
|
72
|
-
"""Generate some lit user agents! 🛠️"""
|
|
73
|
-
agents = []
|
|
74
|
-
for _ in range(count):
|
|
75
|
-
browser = random.choice(list(self.BROWSERS.keys()))
|
|
76
|
-
version = random.randint(*self.BROWSERS[browser])
|
|
77
|
-
|
|
78
|
-
if browser in ['chrome', 'firefox', 'edge', 'opera']:
|
|
79
|
-
os_type = random.choice(['windows', 'mac', 'linux'])
|
|
80
|
-
os_ver = random.choice(self.OS_VERSIONS[os_type])
|
|
81
|
-
|
|
82
|
-
if os_type == 'windows':
|
|
83
|
-
platform = f"Windows NT {os_ver}"
|
|
84
|
-
elif os_type == 'mac':
|
|
85
|
-
platform = f"Macintosh; Intel Mac OS X {os_ver}"
|
|
86
|
-
else:
|
|
87
|
-
platform = f"X11; Linux {os_ver}"
|
|
88
|
-
|
|
89
|
-
agent = f"Mozilla/5.0 ({platform}) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
90
|
-
if browser == 'chrome':
|
|
91
|
-
agent += f"Chrome/{version}.0.0.0 Safari/537.36"
|
|
92
|
-
elif browser == 'firefox':
|
|
93
|
-
agent += f"Firefox/{version}.0"
|
|
94
|
-
elif browser == 'edge':
|
|
95
|
-
agent += f"Edge/{version}.0.0.0"
|
|
96
|
-
elif browser == 'opera':
|
|
97
|
-
agent += f"OPR/{version}.0.0.0"
|
|
98
|
-
|
|
99
|
-
elif browser == 'safari':
|
|
100
|
-
device = random.choice(['mac', 'ios'])
|
|
101
|
-
if device == 'mac':
|
|
102
|
-
ver = random.choice(self.OS_VERSIONS['mac'])
|
|
103
|
-
agent = f"Mozilla/5.0 (Macintosh; Intel Mac OS X {ver}) "
|
|
104
|
-
else:
|
|
105
|
-
ver = random.choice(self.OS_VERSIONS['ios'])
|
|
106
|
-
device = random.choice(['iPhone', 'iPad'])
|
|
107
|
-
agent = f"Mozilla/5.0 ({device}; CPU OS {ver} like Mac OS X) "
|
|
108
|
-
agent += f"AppleWebKit/{version}.1.15 (KHTML, like Gecko) Version/{version//100}.0 Safari/{version}.1.15"
|
|
109
|
-
|
|
110
|
-
agents.append(agent)
|
|
111
|
-
|
|
112
|
-
return list(set(agents)) # Remove any duplicates
|
|
113
|
-
|
|
114
|
-
def random(self) -> str:
|
|
115
|
-
"""Get a random user agent! 🎲"""
|
|
116
|
-
return random.choice(self.agents)
|
|
117
|
-
|
|
118
|
-
def browser(self, name: str) -> str:
|
|
119
|
-
"""Get a browser-specific agent! 🌐"""
|
|
120
|
-
name = name.lower()
|
|
121
|
-
if name not in self.BROWSERS:
|
|
122
|
-
logger.warning(f"Unknown browser: {name} - Using random browser")
|
|
123
|
-
return self.random()
|
|
124
|
-
|
|
125
|
-
agents = [a for a in self.agents if name in a.lower()]
|
|
126
|
-
return random.choice(agents) if agents else self.random()
|
|
127
|
-
|
|
128
|
-
def mobile(self) -> str:
|
|
129
|
-
"""Get a mobile device agent! 📱"""
|
|
130
|
-
agents = [a for a in self.agents if any(d in a for d in self.DEVICES['mobile'])]
|
|
131
|
-
return random.choice(agents) if agents else self.random()
|
|
132
|
-
|
|
133
|
-
def desktop(self) -> str:
|
|
134
|
-
"""Get a desktop agent! 💻"""
|
|
135
|
-
agents = [a for a in self.agents if 'Windows' in a or 'Macintosh' in a or 'Linux' in a]
|
|
136
|
-
return random.choice(agents) if agents else self.random()
|
|
137
|
-
|
|
138
|
-
def chrome(self) -> str:
|
|
139
|
-
"""Get a Chrome agent! 🌐"""
|
|
140
|
-
return self.browser('chrome')
|
|
141
|
-
|
|
142
|
-
def firefox(self) -> str:
|
|
143
|
-
"""Get a Firefox agent! 🦊"""
|
|
144
|
-
return self.browser('firefox')
|
|
145
|
-
|
|
146
|
-
def safari(self) -> str:
|
|
147
|
-
"""Get a Safari agent! 🧭"""
|
|
148
|
-
return self.browser('safari')
|
|
149
|
-
|
|
150
|
-
def edge(self) -> str:
|
|
151
|
-
"""Get an Edge agent! 📐"""
|
|
152
|
-
return self.browser('edge')
|
|
153
|
-
|
|
154
|
-
def opera(self) -> str:
|
|
155
|
-
"""Get an Opera agent! 🎭"""
|
|
156
|
-
return self.browser('opera')
|
|
157
|
-
|
|
158
|
-
def refresh(self) -> None:
|
|
159
|
-
"""Refresh the agents with new ones! 🔄"""
|
|
160
|
-
self.agents = self._generate_agents(100)
|
|
24
|
+
from .agent import LitAgent
|
|
25
|
+
from .constants import BROWSERS, OS_VERSIONS, DEVICES
|
|
161
26
|
|
|
162
27
|
agent = LitAgent()
|
|
163
28
|
|
|
164
|
-
|
|
165
|
-
# Test it out! 🧪
|
|
166
|
-
|
|
167
|
-
print("Random:", agent.random())
|
|
168
|
-
print("Chrome:", agent.chrome())
|
|
169
|
-
print("Firefox:", agent.firefox())
|
|
170
|
-
print("Safari:", agent.safari())
|
|
171
|
-
print("Mobile:", agent.mobile())
|
|
172
|
-
print("Desktop:", agent.desktop())
|
|
29
|
+
__all__ = ['LitAgent', 'agent', 'BROWSERS', 'OS_VERSIONS', 'DEVICES']
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"""Main LitAgent implementation."""
|
|
2
|
+
|
|
3
|
+
import random
|
|
4
|
+
from typing import List
|
|
5
|
+
from webscout.Litlogger import LitLogger, LogFormat, ColorScheme
|
|
6
|
+
from webscout.litagent.constants import BROWSERS, OS_VERSIONS, DEVICES
|
|
7
|
+
|
|
8
|
+
logger = LitLogger(
|
|
9
|
+
name="LitAgent",
|
|
10
|
+
format=LogFormat.MODERN_EMOJI,
|
|
11
|
+
color_scheme=ColorScheme.CYBERPUNK
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
class LitAgent:
|
|
15
|
+
"""A lit user agent generator that keeps it fresh! 🌟"""
|
|
16
|
+
|
|
17
|
+
def __init__(self):
|
|
18
|
+
"""Initialize LitAgent with style! 💫"""
|
|
19
|
+
self.agents = self._generate_agents(100) # Keep 100 agents in memory
|
|
20
|
+
|
|
21
|
+
def _generate_agents(self, count: int) -> List[str]:
|
|
22
|
+
"""Generate some lit user agents! 🛠️"""
|
|
23
|
+
agents = []
|
|
24
|
+
for _ in range(count):
|
|
25
|
+
browser = random.choice(list(BROWSERS.keys()))
|
|
26
|
+
version = random.randint(*BROWSERS[browser])
|
|
27
|
+
|
|
28
|
+
if browser in ['chrome', 'firefox', 'edge', 'opera']:
|
|
29
|
+
os_type = random.choice(['windows', 'mac', 'linux'])
|
|
30
|
+
os_ver = random.choice(OS_VERSIONS[os_type])
|
|
31
|
+
|
|
32
|
+
if os_type == 'windows':
|
|
33
|
+
platform = f"Windows NT {os_ver}"
|
|
34
|
+
elif os_type == 'mac':
|
|
35
|
+
platform = f"Macintosh; Intel Mac OS X {os_ver}"
|
|
36
|
+
else:
|
|
37
|
+
platform = f"X11; Linux {os_ver}"
|
|
38
|
+
|
|
39
|
+
agent = f"Mozilla/5.0 ({platform}) AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
40
|
+
if browser == 'chrome':
|
|
41
|
+
agent += f"Chrome/{version}.0.0.0 Safari/537.36"
|
|
42
|
+
elif browser == 'firefox':
|
|
43
|
+
agent += f"Firefox/{version}.0"
|
|
44
|
+
elif browser == 'edge':
|
|
45
|
+
agent += f"Edge/{version}.0.0.0"
|
|
46
|
+
elif browser == 'opera':
|
|
47
|
+
agent += f"OPR/{version}.0.0.0"
|
|
48
|
+
|
|
49
|
+
elif browser == 'safari':
|
|
50
|
+
device = random.choice(['mac', 'ios'])
|
|
51
|
+
if device == 'mac':
|
|
52
|
+
ver = random.choice(OS_VERSIONS['mac'])
|
|
53
|
+
agent = f"Mozilla/5.0 (Macintosh; Intel Mac OS X {ver}) "
|
|
54
|
+
else:
|
|
55
|
+
ver = random.choice(OS_VERSIONS['ios'])
|
|
56
|
+
device = random.choice(['iPhone', 'iPad'])
|
|
57
|
+
agent = f"Mozilla/5.0 ({device}; CPU OS {ver} like Mac OS X) "
|
|
58
|
+
agent += f"AppleWebKit/{version}.1.15 (KHTML, like Gecko) Version/{version//100}.0 Safari/{version}.1.15"
|
|
59
|
+
|
|
60
|
+
agents.append(agent)
|
|
61
|
+
|
|
62
|
+
return list(set(agents)) # Remove any duplicates
|
|
63
|
+
|
|
64
|
+
def random(self) -> str:
|
|
65
|
+
"""Get a random user agent! 🎲"""
|
|
66
|
+
return random.choice(self.agents)
|
|
67
|
+
|
|
68
|
+
def browser(self, name: str) -> str:
|
|
69
|
+
"""Get a browser-specific agent! 🌐"""
|
|
70
|
+
name = name.lower()
|
|
71
|
+
if name not in BROWSERS:
|
|
72
|
+
logger.warning(f"Unknown browser: {name} - Using random browser")
|
|
73
|
+
return self.random()
|
|
74
|
+
|
|
75
|
+
agents = [a for a in self.agents if name in a.lower()]
|
|
76
|
+
return random.choice(agents) if agents else self.random()
|
|
77
|
+
|
|
78
|
+
def mobile(self) -> str:
|
|
79
|
+
"""Get a mobile device agent! 📱"""
|
|
80
|
+
agents = [a for a in self.agents if any(d in a for d in DEVICES['mobile'])]
|
|
81
|
+
return random.choice(agents) if agents else self.random()
|
|
82
|
+
|
|
83
|
+
def desktop(self) -> str:
|
|
84
|
+
"""Get a desktop agent! 💻"""
|
|
85
|
+
agents = [a for a in self.agents if 'Windows' in a or 'Macintosh' in a or 'Linux' in a]
|
|
86
|
+
return random.choice(agents) if agents else self.random()
|
|
87
|
+
|
|
88
|
+
def chrome(self) -> str:
|
|
89
|
+
"""Get a Chrome agent! 🌐"""
|
|
90
|
+
return self.browser('chrome')
|
|
91
|
+
|
|
92
|
+
def firefox(self) -> str:
|
|
93
|
+
"""Get a Firefox agent! 🦊"""
|
|
94
|
+
return self.browser('firefox')
|
|
95
|
+
|
|
96
|
+
def safari(self) -> str:
|
|
97
|
+
"""Get a Safari agent! 🧭"""
|
|
98
|
+
return self.browser('safari')
|
|
99
|
+
|
|
100
|
+
def edge(self) -> str:
|
|
101
|
+
"""Get an Edge agent! 📐"""
|
|
102
|
+
return self.browser('edge')
|
|
103
|
+
|
|
104
|
+
def opera(self) -> str:
|
|
105
|
+
"""Get an Opera agent! 🎭"""
|
|
106
|
+
return self.browser('opera')
|
|
107
|
+
|
|
108
|
+
def refresh(self) -> None:
|
|
109
|
+
"""Refresh the agents with new ones! 🔄"""
|
|
110
|
+
self.agents = self._generate_agents(100)
|
|
111
|
+
|
|
112
|
+
if __name__ == "__main__":
|
|
113
|
+
# Test it out! 🧪
|
|
114
|
+
agent = LitAgent()
|
|
115
|
+
print("Random:", agent.random())
|
|
116
|
+
print("Chrome:", agent.chrome())
|
|
117
|
+
print("Firefox:", agent.firefox())
|
|
118
|
+
print("Safari:", agent.safari())
|
|
119
|
+
print("Mobile:", agent.mobile())
|
|
120
|
+
print("Desktop:", agent.desktop())
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Constants used by the LitAgent module."""
|
|
2
|
+
|
|
3
|
+
# Browser versions we support
|
|
4
|
+
BROWSERS = {
|
|
5
|
+
"chrome": (48, 120),
|
|
6
|
+
"firefox": (48, 121),
|
|
7
|
+
"safari": (605, 617),
|
|
8
|
+
"edge": (79, 120),
|
|
9
|
+
"opera": (48, 104)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
# OS versions
|
|
13
|
+
OS_VERSIONS = {
|
|
14
|
+
"windows": ["10.0", "11.0"],
|
|
15
|
+
"mac": ["10_15_7", "11_0", "12_0", "13_0", "14_0"],
|
|
16
|
+
"linux": ["x86_64", "i686"],
|
|
17
|
+
"android": ["10", "11", "12", "13", "14"],
|
|
18
|
+
"ios": ["14_0", "15_0", "16_0", "17_0"]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# Device types
|
|
22
|
+
DEVICES = {
|
|
23
|
+
"mobile": [
|
|
24
|
+
"iPhone", "iPad", "Samsung Galaxy", "Google Pixel",
|
|
25
|
+
"OnePlus", "Xiaomi", "Huawei", "OPPO", "Vivo"
|
|
26
|
+
],
|
|
27
|
+
"desktop": ["Windows PC", "MacBook", "iMac", "Linux Desktop"],
|
|
28
|
+
"tablet": ["iPad", "Samsung Galaxy Tab", "Microsoft Surface"],
|
|
29
|
+
"console": ["PlayStation 5", "Xbox Series X", "Nintendo Switch"],
|
|
30
|
+
"tv": ["Samsung Smart TV", "LG WebOS", "Android TV", "Apple TV"]
|
|
31
|
+
}
|
webscout/tempid.py
CHANGED
webscout/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = "
|
|
1
|
+
__version__ = "7.1"
|
|
2
2
|
__prog__ = "webscout"
|