@doppelgangerdev/doppelganger 0.5.2 → 0.5.3

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.
Files changed (4) hide show
  1. package/LICENSE +162 -162
  2. package/README.md +39 -37
  3. package/agent.js +458 -443
  4. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,162 +1,162 @@
1
- SUSTAINABLE USE LICENSE (SUL) v1.0
2
- Copyright (c) 2026
3
-
4
- This License governs use of the software and associated documentation (the "Software").
5
- By using, copying, modifying, or distributing the Software, you agree to all terms below.
6
-
7
- 1. Definitions
8
- 1.1 "Software" means the source code, object code, binaries, and documentation.
9
- 1.2 "You" means any individual or entity exercising rights under this License.
10
- 1.3 "Non-Commercial" means not primarily intended for or directed toward commercial
11
- advantage or monetary compensation.
12
- 1.4 "Hosted Service" means making the Software or any portion of its functionality
13
- available to third parties over a network, including SaaS, managed services,
14
- platform services, or public API offerings.
15
- 1.5 "Derivative Work" means any modification, adaptation, or other work based on
16
- the Software.
17
- 1.6 "Distribution" means providing the Software to any third party by any means,
18
- including source code, binaries, containers, or images.
19
- 1.7 "Competing Product" means a product or service that provides materially
20
- similar functionality to the Software.
21
- 1.8 "Author(s)" means the copyright holder(s) of the Software.
22
-
23
- 2. Grant of Rights
24
- 2.1 You may read, inspect, and modify the Software for personal, internal, or
25
- Non-Commercial use.
26
- 2.2 You may run the Software on your own machines or infrastructure.
27
- 2.3 You may create and share community tutorials, examples, and presets.
28
- 2.4 You may modify the Software for personal automation, data extraction, or
29
- experimentation.
30
- 2.5 You may share patches or snippets for Non-Commercial purposes, provided you
31
- include required attribution.
32
-
33
- 3. Restrictions on Use
34
- 3.1 You may not offer the Software as a Hosted Service.
35
- 3.2 You may not redistribute the Software for commercial hosting or for
36
- Competing Products.
37
- 3.3 You may not sell, sublicense, rent, lease, or commercially exploit the
38
- Software as a standalone product or as part of any paid service.
39
- 3.4 You may not use the Software in a manner that violates applicable law or
40
- third-party terms, including terms of websites or services you interact with.
41
- 3.5 You may not remove, alter, or obscure any copyright, license, or attribution
42
- notices.
43
- 3.6 You may not imply endorsement, sponsorship, or affiliation by the Author(s)
44
- without prior written permission.
45
- 3.7 You may not circumvent technological restrictions or access controls in
46
- violation of applicable law.
47
-
48
- 4. Redistribution and Attribution
49
- 4.1 Any Distribution of source code or Derivative Works must retain this License
50
- and all notices.
51
- 4.2 If you redistribute source code that includes any part of the Software and
52
- the redistribution is not a Hosted Service, you must credit the Author(s)
53
- prominently in the source and in accompanying documentation.
54
- 4.3 You may not impose additional restrictions that conflict with this License.
55
- 4.4 Distribution of binaries or compiled artifacts is prohibited unless expressly
56
- permitted in writing by the Author(s).
57
- 4.5 Public repositories containing the Software must retain this License file.
58
-
59
- 5. Ownership and IP
60
- 5.1 The Software is licensed, not sold.
61
- 5.2 Title, ownership, and intellectual property rights in the Software remain
62
- with the Author(s).
63
- 5.3 This License does not grant rights in any trademarks, logos, or branding.
64
-
65
- 6. Compliance and Lawful Use
66
- 6.1 You are solely responsible for your use of the Software and compliance with
67
- all applicable laws, regulations, and third-party terms.
68
- 6.2 The Software does not grant any right to access systems, data, or content
69
- without permission.
70
- 6.3 You must not use the Software for unlawful, harmful, or unauthorized
71
- activities.
72
- 6.4 You are solely responsible for obtaining any required permissions, consents,
73
- or licenses.
74
- 6.5 You bear all responsibility for the accuracy, integrity, and legality of
75
- any data processed or collected using the Software.
76
-
77
- 7. Security and Misuse
78
- 7.1 The Software may be used for automation, testing, or data extraction; such
79
- use is at your own risk.
80
- 7.2 You are responsible for securing your systems, credentials, and any data
81
- generated or stored by the Software.
82
- 7.3 The Author(s) do not monitor, control, or endorse your usage.
83
- 7.4 You agree to indemnify and hold harmless the Author(s) against any claims,
84
- damages, losses, or liabilities arising from your use of the Software.
85
-
86
- 8. No Warranty
87
- 8.1 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88
- IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS
89
- FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
90
- 8.2 The Author(s) make no representations about accuracy, reliability, or
91
- availability of the Software.
92
- 8.3 You assume all risk for use of the Software.
93
-
94
- 9. Limitation of Liability
95
- 9.1 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
96
- DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR
97
- OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE
98
- USE OR OTHER DEALINGS IN THE SOFTWARE.
99
- 9.2 The foregoing limitation applies even if the Author(s) have been advised of
100
- the possibility of such damages.
101
- 9.3 In jurisdictions that do not allow limitation of liability, liability is
102
- limited to the maximum extent permitted by law.
103
-
104
- 10. Third-Party Components
105
- 10.1 The Software may include or depend on third-party libraries or services.
106
- 10.2 Those components are subject to their own licenses and terms.
107
- 10.3 You are responsible for compliance with any third-party requirements.
108
-
109
- 11. Privacy and Data
110
- 11.1 You are responsible for handling personal data lawfully and securely.
111
- 11.2 The Author(s) do not collect, transmit, or store your data unless you
112
- explicitly configure the Software to do so.
113
- 11.3 You are responsible for any disclosures or notices required by law.
114
-
115
- 12. Export and Sanctions
116
- 12.1 You must comply with all applicable export control and sanctions laws.
117
- 12.2 You may not use or export the Software in violation of such laws.
118
-
119
- 13. Commercial Licensing
120
- 13.1 This License does not grant any commercial rights beyond those expressly
121
- permitted.
122
- 13.2 The Author(s) reserve the right to offer separate commercial licenses,
123
- Hosted Services, or enterprise features at their discretion.
124
- 13.3 If you seek commercial rights, you must obtain a separate written license.
125
-
126
- 14. Feedback
127
- 14.1 You may provide feedback, suggestions, or improvements.
128
- 14.2 You grant the Author(s) a perpetual, irrevocable, worldwide, royalty-free
129
- license to use, modify, and incorporate feedback into the Software.
130
-
131
- 15. Termination
132
- 15.1 Any breach of this License automatically terminates your rights to use the
133
- Software.
134
- 15.2 Upon termination, you must cease all use and delete all copies in your
135
- possession or control.
136
- 15.3 Sections that by their nature should survive termination shall survive,
137
- including Sections 5 through 15.
138
-
139
- 16. Notice of Violations
140
- 16.1 The Author(s) may enforce this License at their discretion.
141
- 16.2 Failure to enforce any provision is not a waiver of future enforcement.
142
-
143
- 17. Severability
144
- 17.1 If any provision is held to be unenforceable, the remaining provisions
145
- remain in full force and effect.
146
-
147
- 18. Entire Agreement
148
- 18.1 This License constitutes the entire agreement regarding the Software and
149
- supersedes prior agreements on this subject.
150
-
151
- 19. Changes to License
152
- 19.1 The Author(s) may publish updated versions of this License.
153
- 19.2 Continued use of the Software after an updated License is published
154
- constitutes acceptance of the updated terms.
155
-
156
- 20. Contact
157
- 20.1 For commercial licensing inquiries or permissions, contact the Author(s)
158
- through the official project channels.
159
-
160
- 21. Third-Party Components
161
- 21.1 All third party components incorporated into the Software are licensed
162
- under the original license provided by the owner of the applicable component.
1
+ SUSTAINABLE USE LICENSE (SUL) v1.0
2
+ Copyright (c) 2026
3
+
4
+ This License governs use of the software and associated documentation (the "Software").
5
+ By using, copying, modifying, or distributing the Software, you agree to all terms below.
6
+
7
+ 1. Definitions
8
+ 1.1 "Software" means the source code, object code, binaries, and documentation.
9
+ 1.2 "You" means any individual or entity exercising rights under this License.
10
+ 1.3 "Non-Commercial" means not primarily intended for or directed toward commercial
11
+ advantage or monetary compensation.
12
+ 1.4 "Hosted Service" means making the Software or any portion of its functionality
13
+ available to third parties over a network, including SaaS, managed services,
14
+ platform services, or public API offerings.
15
+ 1.5 "Derivative Work" means any modification, adaptation, or other work based on
16
+ the Software.
17
+ 1.6 "Distribution" means providing the Software to any third party by any means,
18
+ including source code, binaries, containers, or images.
19
+ 1.7 "Competing Product" means a product or service that provides materially
20
+ similar functionality to the Software.
21
+ 1.8 "Author(s)" means the copyright holder(s) of the Software.
22
+
23
+ 2. Grant of Rights
24
+ 2.1 You may read, inspect, and modify the Software for personal, internal, or
25
+ Non-Commercial use.
26
+ 2.2 You may run the Software on your own machines or infrastructure.
27
+ 2.3 You may create and share community tutorials, examples, and presets.
28
+ 2.4 You may modify the Software for personal automation, data extraction, or
29
+ experimentation.
30
+ 2.5 You may share patches or snippets for Non-Commercial purposes, provided you
31
+ include required attribution.
32
+
33
+ 3. Restrictions on Use
34
+ 3.1 You may not offer the Software as a Hosted Service.
35
+ 3.2 You may not redistribute the Software for commercial hosting or for
36
+ Competing Products.
37
+ 3.3 You may not sell, sublicense, rent, lease, or commercially exploit the
38
+ Software as a standalone product or as part of any paid service.
39
+ 3.4 You may not use the Software in a manner that violates applicable law or
40
+ third-party terms, including terms of websites or services you interact with.
41
+ 3.5 You may not remove, alter, or obscure any copyright, license, or attribution
42
+ notices.
43
+ 3.6 You may not imply endorsement, sponsorship, or affiliation by the Author(s)
44
+ without prior written permission.
45
+ 3.7 You may not circumvent technological restrictions or access controls in
46
+ violation of applicable law.
47
+
48
+ 4. Redistribution and Attribution
49
+ 4.1 Any Distribution of source code or Derivative Works must retain this License
50
+ and all notices.
51
+ 4.2 If you redistribute source code that includes any part of the Software and
52
+ the redistribution is not a Hosted Service, you must credit the Author(s)
53
+ prominently in the source and in accompanying documentation.
54
+ 4.3 You may not impose additional restrictions that conflict with this License.
55
+ 4.4 Distribution of binaries or compiled artifacts is prohibited unless expressly
56
+ permitted in writing by the Author(s).
57
+ 4.5 Public repositories containing the Software must retain this License file.
58
+
59
+ 5. Ownership and IP
60
+ 5.1 The Software is licensed, not sold.
61
+ 5.2 Title, ownership, and intellectual property rights in the Software remain
62
+ with the Author(s).
63
+ 5.3 This License does not grant rights in any trademarks, logos, or branding.
64
+
65
+ 6. Compliance and Lawful Use
66
+ 6.1 You are solely responsible for your use of the Software and compliance with
67
+ all applicable laws, regulations, and third-party terms.
68
+ 6.2 The Software does not grant any right to access systems, data, or content
69
+ without permission.
70
+ 6.3 You must not use the Software for unlawful, harmful, or unauthorized
71
+ activities.
72
+ 6.4 You are solely responsible for obtaining any required permissions, consents,
73
+ or licenses.
74
+ 6.5 You bear all responsibility for the accuracy, integrity, and legality of
75
+ any data processed or collected using the Software.
76
+
77
+ 7. Security and Misuse
78
+ 7.1 The Software may be used for automation, testing, or data extraction; such
79
+ use is at your own risk.
80
+ 7.2 You are responsible for securing your systems, credentials, and any data
81
+ generated or stored by the Software.
82
+ 7.3 The Author(s) do not monitor, control, or endorse your usage.
83
+ 7.4 You agree to indemnify and hold harmless the Author(s) against any claims,
84
+ damages, losses, or liabilities arising from your use of the Software.
85
+
86
+ 8. No Warranty
87
+ 8.1 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88
+ IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS
89
+ FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
90
+ 8.2 The Author(s) make no representations about accuracy, reliability, or
91
+ availability of the Software.
92
+ 8.3 You assume all risk for use of the Software.
93
+
94
+ 9. Limitation of Liability
95
+ 9.1 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
96
+ DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR
97
+ OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE
98
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
99
+ 9.2 The foregoing limitation applies even if the Author(s) have been advised of
100
+ the possibility of such damages.
101
+ 9.3 In jurisdictions that do not allow limitation of liability, liability is
102
+ limited to the maximum extent permitted by law.
103
+
104
+ 10. Third-Party Components
105
+ 10.1 The Software may include or depend on third-party libraries or services.
106
+ 10.2 Those components are subject to their own licenses and terms.
107
+ 10.3 You are responsible for compliance with any third-party requirements.
108
+
109
+ 11. Privacy and Data
110
+ 11.1 You are responsible for handling personal data lawfully and securely.
111
+ 11.2 The Author(s) do not collect, transmit, or store your data unless you
112
+ explicitly configure the Software to do so.
113
+ 11.3 You are responsible for any disclosures or notices required by law.
114
+
115
+ 12. Export and Sanctions
116
+ 12.1 You must comply with all applicable export control and sanctions laws.
117
+ 12.2 You may not use or export the Software in violation of such laws.
118
+
119
+ 13. Commercial Licensing
120
+ 13.1 This License does not grant any commercial rights beyond those expressly
121
+ permitted.
122
+ 13.2 The Author(s) reserve the right to offer separate commercial licenses,
123
+ Hosted Services, or enterprise features at their discretion.
124
+ 13.3 If you seek commercial rights, you must obtain a separate written license.
125
+
126
+ 14. Feedback
127
+ 14.1 You may provide feedback, suggestions, or improvements.
128
+ 14.2 You grant the Author(s) a perpetual, irrevocable, worldwide, royalty-free
129
+ license to use, modify, and incorporate feedback into the Software.
130
+
131
+ 15. Termination
132
+ 15.1 Any breach of this License automatically terminates your rights to use the
133
+ Software.
134
+ 15.2 Upon termination, you must cease all use and delete all copies in your
135
+ possession or control.
136
+ 15.3 Sections that by their nature should survive termination shall survive,
137
+ including Sections 5 through 15.
138
+
139
+ 16. Notice of Violations
140
+ 16.1 The Author(s) may enforce this License at their discretion.
141
+ 16.2 Failure to enforce any provision is not a waiver of future enforcement.
142
+
143
+ 17. Severability
144
+ 17.1 If any provision is held to be unenforceable, the remaining provisions
145
+ remain in full force and effect.
146
+
147
+ 18. Entire Agreement
148
+ 18.1 This License constitutes the entire agreement regarding the Software and
149
+ supersedes prior agreements on this subject.
150
+
151
+ 19. Changes to License
152
+ 19.1 The Author(s) may publish updated versions of this License.
153
+ 19.2 Continued use of the Software after an updated License is published
154
+ constitutes acceptance of the updated terms.
155
+
156
+ 20. Contact
157
+ 20.1 For commercial licensing inquiries or permissions, contact the Author(s)
158
+ through the official project channels.
159
+
160
+ 21. Third-Party Components
161
+ 21.1 All third party components incorporated into the Software are licensed
162
+ under the original license provided by the owner of the applicable component.
package/README.md CHANGED
@@ -7,19 +7,9 @@ Doppelganger is a self-hosted, developer-focused browser automation and extracti
7
7
 
8
8
  This project is designed for local, controlled use cases. It does not claim to bypass protections and does not encourage unlawful activity.
9
9
 
10
- ## Getting Started (npm)
11
-
12
- ### Install
13
- ```bash
14
- npm i @doppelgangerdev/doppelganger
15
- ```
16
-
17
- ### Run
18
- ```bash
19
- npx doppelganger
20
- ```
21
-
22
- ## Getting Started (Docker)
10
+ <img src="demo-run.gif" alt="Dashboard task demo" style="max-width:100%;height:auto;border:1px solid #ccc;">
11
+
12
+ ## Getting Started (Docker)
23
13
 
24
14
  ### Requirements
25
15
  - Docker Desktop or Docker Engine
@@ -31,17 +21,17 @@ npx doppelganger
31
21
  docker pull mnemosyneai/doppelganger
32
22
  ```
33
23
 
34
- ### Run the Container
35
- ```bash
36
- docker run -d \
37
- --name doppelganger \
38
- -p 11345:11345 \
39
- -e SESSION_SECRET=change_me_to_a_long_random_value \
40
- -v $(pwd)/data:/app/data \
41
- -v $(pwd)/public:/app/public \
42
- -v $(pwd)/storage_state.json:/app/storage_state.json \
43
- mnemosyneai/doppelganger
44
- ```
24
+ ### Run the Container
25
+ ```bash
26
+ docker run -d \
27
+ --name doppelganger \
28
+ -p 11345:11345 \
29
+ -e SESSION_SECRET=change_me_to_a_long_random_value \
30
+ -v $(pwd)/data:/app/data \
31
+ -v $(pwd)/public:/app/public \
32
+ -v $(pwd)/storage_state.json:/app/storage_state.json \
33
+ mnemosyneai/doppelganger
34
+ ```
45
35
 
46
36
  Open the dashboard at:
47
37
  ```
@@ -56,19 +46,31 @@ Example:
56
46
  export SESSION_SECRET="$(node -e 'console.log(require("crypto").randomBytes(32).toString("hex"))')"
57
47
  ```
58
48
 
59
- ### Update to Latest
49
+ ### Update to Latest
50
+ ```bash
51
+ docker pull mnemosyneai/doppelganger
52
+ docker stop doppelganger
53
+ docker rm doppelganger
54
+ docker run -d \
55
+ --name doppelganger \
56
+ -p 11345:11345 \
57
+ -e SESSION_SECRET=change_me_to_a_long_random_value \
58
+ -v $(pwd)/data:/app/data \
59
+ -v $(pwd)/public:/app/public \
60
+ -v $(pwd)/storage_state.json:/app/storage_state.json \
61
+ mnemosyneai/doppelganger
62
+ ```
63
+
64
+ ## Getting Started (npm)
65
+
66
+ ### Install
60
67
  ```bash
61
- docker pull mnemosyneai/doppelganger
62
- docker stop doppelganger
63
- docker rm doppelganger
64
- docker run -d \
65
- --name doppelganger \
66
- -p 11345:11345 \
67
- -e SESSION_SECRET=change_me_to_a_long_random_value \
68
- -v $(pwd)/data:/app/data \
69
- -v $(pwd)/public:/app/public \
70
- -v $(pwd)/storage_state.json:/app/storage_state.json \
71
- mnemosyneai/doppelganger
68
+ npm i @doppelgangerdev/doppelganger
69
+ ```
70
+
71
+ ### Run
72
+ ```bash
73
+ npx doppelganger
72
74
  ```
73
75
 
74
76
  ## Usage
@@ -124,7 +126,7 @@ curl -X POST http://localhost:11345/tasks/task_123/api \
124
126
  ```
125
127
 
126
128
  ### Egress Proxy Rotation
127
- Doppelganger can rotate outbound browser traffic using a `proxies.json` file.
129
+ Doppelganger can rotate outbound browser traffic using a `proxies.json` file or via the UI.
128
130
 
129
131
  Supported locations:
130
132
  - `data/proxies.json`