thunder-agent 0.2.1__tar.gz → 0.2.2__tar.gz
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.
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/PKG-INFO +1 -1
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/pyproject.toml +1 -1
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/__init__.py +1 -1
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/fingerprint.py +24 -7
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/PKG-INFO +1 -1
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/LICENSE +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/README.md +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/setup.cfg +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/tests/test_body.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/tests/test_core.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/body.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/captcha.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/cli.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/demo.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/ghost.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/human.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/mcp_server.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/mind.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder/nodriver_body.py +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/SOURCES.txt +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/dependency_links.txt +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/entry_points.txt +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/requires.txt +0 -0
- {thunder_agent-0.2.1 → thunder_agent-0.2.2}/thunder_agent.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: thunder-agent
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Thunder — the human engine for AI agents: stealth browser body, human hands, TLS ghost, CAPTCHA bridge, and a stewmind thought layer.
|
|
5
5
|
Author-email: Emmanuel Ene Rejoice <emmanuelerogian723@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "thunder-agent"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.2"
|
|
8
8
|
description = "Thunder — the human engine for AI agents: stealth browser body, human hands, TLS ghost, CAPTCHA bridge, and a stewmind thought layer."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -24,5 +24,5 @@ from thunder.ghost import Ghost
|
|
|
24
24
|
from thunder.mind import StewMind
|
|
25
25
|
from thunder.fingerprint import Skin, random_skin
|
|
26
26
|
|
|
27
|
-
__version__ = "0.2.
|
|
27
|
+
__version__ = "0.2.2"
|
|
28
28
|
__all__ = ["Body", "Ghost", "StewMind", "Skin", "random_skin", "NodriverBody", "__version__"]
|
|
@@ -74,17 +74,34 @@ class Skin:
|
|
|
74
74
|
try { Object.defineProperty(obj, prop, {get: () => value, configurable: true}); }
|
|
75
75
|
catch (e) {}
|
|
76
76
|
};
|
|
77
|
-
|
|
77
|
+
// the classic tell, erased at prototype level:
|
|
78
|
+
// Chrome defines navigator.webdriver as an ENUMERABLE property on
|
|
79
|
+
// Navigator.prototype, so for-in scans (Intoli/CreepJS style) find it
|
|
80
|
+
// even when its value is undefined. Redefine non-enumerable + hide.
|
|
81
|
+
try {
|
|
82
|
+
Object.defineProperty(Object.getPrototypeOf(navigator), 'webdriver', {
|
|
83
|
+
get: () => undefined, set: undefined, configurable: true, enumerable: false
|
|
84
|
+
});
|
|
85
|
+
} catch (e) {}
|
|
86
|
+
try { delete navigator.webdriver; } catch (e) {}
|
|
78
87
|
def(navigator, 'platform', SKIN.platform);
|
|
79
88
|
def(navigator, 'languages', SKIN.languages);
|
|
80
89
|
def(navigator, 'hardwareConcurrency', SKIN.hardware_concurrency);
|
|
81
90
|
def(navigator, 'deviceMemory', SKIN.device_memory);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
91
|
+
// plugins: KEEP the genuine PluginArray when the browser already has a
|
|
92
|
+
// human-plausible one (real Chrome does). Only fabricate if it is empty
|
|
93
|
+
// or not a real PluginArray (headless shells) — detectors check typeof.
|
|
94
|
+
try {
|
|
95
|
+
if (!navigator.plugins || !(navigator.plugins instanceof PluginArray) ||
|
|
96
|
+
navigator.plugins.length === 0) {
|
|
97
|
+
def(navigator, 'plugins', [
|
|
98
|
+
{name:'Chrome PDF Plugin', filename:'internal-pdf-viewer'},
|
|
99
|
+
{name:'Chrome PDF Viewer', filename:'mhjfbmdgcfjbbpaeojofohoefgiehjal'},
|
|
100
|
+
{name:'Chromium PDF Viewer', filename:'internal-pdf-viewer'},
|
|
101
|
+
{name:'Microsoft Edge PDF Plugin', filename:'internal-pdf-viewer'},
|
|
102
|
+
{name:'WebKit built-in PDF', filename:'internal-pdf-viewer'}]);
|
|
103
|
+
}
|
|
104
|
+
} catch (e) {}
|
|
88
105
|
def(screen, 'width', SKIN.screen_w);
|
|
89
106
|
def(screen, 'height', SKIN.screen_h);
|
|
90
107
|
def(screen, 'availWidth', SKIN.screen_w);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: thunder-agent
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Thunder — the human engine for AI agents: stealth browser body, human hands, TLS ghost, CAPTCHA bridge, and a stewmind thought layer.
|
|
5
5
|
Author-email: Emmanuel Ene Rejoice <emmanuelerogian723@gmail.com>
|
|
6
6
|
License: MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|