cfsolve 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +10 -9
- data/UPSTREAM.md +6 -6
- data/lib/cfsolve/profiles/safari-26-ios/answers.json +2562 -1887
- data/lib/cfsolve/profiles/safari-26-ios/challenge-page-answers.json +1873 -1198
- data/lib/cfsolve/profiles/safari-26-ios.json +0 -8
- data/lib/cfsolve/version.rb +2 -2
- data/vendor/cfsolve/README.md +0 -35
- data/vendor/cfsolve/examples/build_profile.rs +17 -15
- data/vendor/cfsolve/examples/capture_session.rs +37 -0
- data/vendor/cfsolve/examples/check_answers.rs +66 -0
- data/vendor/cfsolve/examples/compare_session.rs +190 -0
- data/vendor/cfsolve/examples/stage2_snapshot.rs +4 -1
- data/vendor/cfsolve/profiles/safari-26-ios/answers.json +2562 -1887
- data/vendor/cfsolve/profiles/safari-26-ios/challenge-page-answers.json +1873 -1198
- data/vendor/cfsolve/profiles/safari-26-ios.json +0 -8
- data/vendor/cfsolve/scripts/capture_cssom.mjs +42 -0
- data/vendor/cfsolve/scripts/serve_cssom.py +111 -0
- data/vendor/cfsolve/src/capture/profile.rs +7 -18
- data/vendor/cfsolve/src/capture/recorded.rs +42 -7
- data/vendor/cfsolve/src/challenge/installed/audit.rs +131 -0
- data/vendor/cfsolve/src/challenge/installed.rs +122 -271
- data/vendor/cfsolve/src/challenge/payload.rs +107 -5
- data/vendor/cfsolve/src/challenge/state.rs +98 -16
- data/vendor/cfsolve/src/deobfuscate/encoded_strings.rs +3 -2
- data/vendor/cfsolve/src/deobfuscate/helper_objects.rs +17 -32
- data/vendor/cfsolve/src/deobfuscate/register_arrays.rs +18 -5
- data/vendor/cfsolve/src/embedding_page/extra_params.rs +0 -14
- data/vendor/cfsolve/src/embedding_page/page.rs +28 -2
- data/vendor/cfsolve/src/http/client.rs +11 -0
- data/vendor/cfsolve/src/js/ast.rs +12 -3
- data/vendor/cfsolve/src/js/objects.rs +9 -2
- data/vendor/cfsolve/src/listing/fold.rs +0 -83
- data/vendor/cfsolve/src/listing/query.rs +25 -244
- data/vendor/cfsolve/src/listing.rs +0 -1
- data/vendor/cfsolve/src/session/initial.rs +14 -5
- data/vendor/cfsolve/src/session/probes.rs +160 -125
- data/vendor/cfsolve/src/session/timing.rs +58 -53
- data/vendor/cfsolve/src/session/widget.rs +5 -6
- data/vendor/cfsolve/src/stage2/analysis/analyze.rs +50 -33
- data/vendor/cfsolve/src/stage2/analysis/discovery.rs +61 -66
- data/vendor/cfsolve/src/stage2/analysis/envelope.rs +31 -21
- data/vendor/cfsolve/src/stage2/analysis/recognize.rs +3 -5
- data/vendor/cfsolve/src/stage2/analysis.rs +0 -1
- data/vendor/cfsolve/src/stage2/audit_globals.rs +310 -0
- data/vendor/cfsolve/src/stage2/benchmark.rs +5 -8
- data/vendor/cfsolve/src/stage2/call_stack.rs +72 -16
- data/vendor/cfsolve/src/stage2/interaction/native.rs +2 -1
- data/vendor/cfsolve/src/stage2/interaction/plan.rs +0 -3
- data/vendor/cfsolve/src/stage2/payload/recover.rs +54 -23
- data/vendor/cfsolve/src/stage2/probes/ice.rs +11 -10
- data/vendor/cfsolve/src/stage2/probes/media.rs +47 -33
- data/vendor/cfsolve/src/stage2/probes/performance.rs +1 -0
- data/vendor/cfsolve/src/stage2/probes/rects.rs +12 -17
- data/vendor/cfsolve/src/stage2/probes/stack.rs +50 -103
- data/vendor/cfsolve/src/stage2/probes/websocket_echo.rs +17 -86
- data/vendor/cfsolve/src/stage2/probes.rs +0 -1
- data/vendor/cfsolve/src/stage2/records.rs +4 -13
- data/vendor/cfsolve/src/stage2/reference.json +1 -1
- data/vendor/cfsolve/src/stage2/reference.rs +98 -100
- data/vendor/cfsolve/src/stage2/registry.rs +41 -34
- data/vendor/cfsolve/src/stage2/replay.rs +182 -254
- data/vendor/cfsolve/src/stage2/stylesheets.rs +176 -0
- data/vendor/cfsolve/src/stage2/trace.rs +18 -0
- data/vendor/cfsolve/src/stage2/vocabulary.rs +111 -401
- data/vendor/cfsolve/src/stage2.rs +2 -1
- data/vendor/cfsolve/src/vm/disassemble.rs +39 -10
- data/vendor/cfsolve/src/vm/interpret/access.rs +5 -21
- data/vendor/cfsolve/src/vm/interpret/builtin.rs +6 -53
- data/vendor/cfsolve/src/vm/interpret/call.rs +86 -9
- data/vendor/cfsolve/src/vm/interpret/compile.rs +626 -0
- data/vendor/cfsolve/src/vm/interpret/copies.rs +232 -120
- data/vendor/cfsolve/src/vm/interpret/evaluate/tests.rs +96 -8
- data/vendor/cfsolve/src/vm/interpret/evaluate.rs +219 -92
- data/vendor/cfsolve/src/vm/interpret/explore.rs +155 -39
- data/vendor/cfsolve/src/vm/interpret/frozen.rs +171 -0
- data/vendor/cfsolve/src/vm/interpret/intrinsic.rs +350 -0
- data/vendor/cfsolve/src/vm/interpret/plan.rs +71 -44
- data/vendor/cfsolve/src/vm/interpret/run.rs +202 -13
- data/vendor/cfsolve/src/vm/interpret.rs +7 -2
- data/vendor/cfsolve/src/vm/machine.rs +6 -2
- data/vendor/cfsolve/src/vm/packed_names.rs +307 -0
- data/vendor/cfsolve/src/vm/session.rs +36 -14
- data/vendor/cfsolve/src/vm/value.rs +13 -0
- data/vendor/cfsolve/src/vm.rs +1 -0
- data/vendor/cfsolve/vendor/btls-sys/src/lib.rs +3 -0
- metadata +13 -6
- data/vendor/cfsolve/src/listing/normalize.rs +0 -264
- data/vendor/cfsolve/src/stage2/analysis/outputs.rs +0 -327
- data/vendor/cfsolve/src/stage2/probes/stylesheets.rs +0 -249
- data/vendor/cfsolve/src/stage2/reference-expanded.json +0 -42
- data/vendor/cfsolve/src/stage2/session_names.rs +0 -470
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bbd5101875032e0d2e2bcbc6c7ec64161c8c7363e819684ce9b2797f477c634b
|
|
4
|
+
data.tar.gz: f33c20026c25102c9fa477cfa8be8f8bc409ca9b16ce1e97357471ccaf8acd4a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8dcb5d2d0793ebdf7ee807b32e4e00ec11b4f3f5e560541cfcc099ed804a080223a74f3e730eb90564cae77330f429ec32c5c0962ba5528bcfab387e358d5d76
|
|
7
|
+
data.tar.gz: 96f743b77b2f34121a8a46d41ef0c37fb2c147417850a057ab15d54055d65c4168446bd5a55b17819a29fae0c44e16626cf365666a61f5a465ed3e3ba428f0ae
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.2
|
|
4
|
+
|
|
5
|
+
Update the native engine to upstream master (`1599e9b`) and refresh the bundled
|
|
6
|
+
Safari profile. Upstream now supplies the challenge recovery and replay fixes
|
|
7
|
+
previously carried from PR #5, including support for build `5c2e6b612edd`.
|
|
8
|
+
|
|
9
|
+
Use `Cfsolve::Browser.new` for the updated bundled profile. Custom answers from
|
|
10
|
+
earlier releases use a different format; regenerate them with upstream's capture
|
|
11
|
+
tools before use. Converting the format alone does not guarantee that older
|
|
12
|
+
browser measurements will be accepted by a newer challenge build.
|
|
13
|
+
|
|
3
14
|
## 0.1.1
|
|
4
15
|
|
|
5
16
|
Update the native engine to rebased upstream PR #5 (`0f97eb7`). Adopt upstream's
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# cfsolve
|
|
2
2
|
|
|
3
|
-
Ruby bindings for [cfsolve](https://github.com/chris124567/cfsolve),
|
|
4
|
-
|
|
3
|
+
Ruby bindings for [cfsolve](https://github.com/chris124567/cfsolve), using its
|
|
4
|
+
upstream master solver and bundled browser profile.
|
|
5
5
|
|
|
6
6
|
```ruby
|
|
7
7
|
gem "cfsolve"
|
|
@@ -10,7 +10,7 @@ gem "cfsolve"
|
|
|
10
10
|
```ruby
|
|
11
11
|
require "cfsolve"
|
|
12
12
|
|
|
13
|
-
browser = Cfsolve::Browser.new
|
|
13
|
+
browser = Cfsolve::Browser.new
|
|
14
14
|
token = browser.solve_turnstile("https://example.com/sign-in", sitekey: "your-sitekey")
|
|
15
15
|
# Submit token using the site's authentication protocol.
|
|
16
16
|
|
|
@@ -25,13 +25,14 @@ sitekey, it uses the page's first Turnstile container. `clear` and `solve` accep
|
|
|
25
25
|
`proxy` and `timeout`; `solve` returns a hash with type `token` or `clearance`.
|
|
26
26
|
Proxies may use HTTP, HTTPS, SOCKS5, or SOCKS5H.
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
The upstream Safari profile is bundled as the default. To use a custom profile,
|
|
29
|
+
pass `profile: "/path/to/browser.json"`. Profiles contain browser measurements,
|
|
30
|
+
not site login credentials. A profile file may reference answer files relative
|
|
31
|
+
to its directory. Applications can instead pass parsed hashes through
|
|
32
|
+
`profile:`, `answers:`, and
|
|
31
33
|
`challenge_page_answers:`. Store private profiles in your application's secret
|
|
32
|
-
configuration.
|
|
33
|
-
|
|
34
|
-
an updated solver or freshly captured browser answers.
|
|
34
|
+
configuration. Support depends on the challenge build and profile. Changes at
|
|
35
|
+
Cloudflare may require an updated solver or freshly captured browser answers.
|
|
35
36
|
|
|
36
37
|
Each call launches a bundled Rust executable, sends configuration through stdin,
|
|
37
38
|
and reads its result through stdout. No tokens or profiles appear in process
|
data/UPSTREAM.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
The Rust engine is vendored from [chris124567/cfsolve](https://github.com/chris124567/cfsolve)
|
|
2
|
-
|
|
3
|
-
`0f97eb7ccfea54f445b60a624ad8949beae95e95`.
|
|
1
|
+
The Rust engine is vendored from [chris124567/cfsolve](https://github.com/chris124567/cfsolve)
|
|
2
|
+
master at commit `1599e9b80b74689587f0e35445185c8174066793`.
|
|
4
3
|
|
|
5
4
|
`vendor/cfsolve` is an unmodified archive of that revision. Its three patched
|
|
6
5
|
dependencies are applied by the extension's top-level Cargo manifest. The Ruby
|
|
7
6
|
adapter is in `lib/` and `ext/cfsolve/src/main.rs`.
|
|
8
7
|
|
|
9
|
-
To update, replace the vendored archive with an audited upstream revision,
|
|
10
|
-
|
|
11
|
-
and
|
|
8
|
+
To update, replace the vendored archive with an audited upstream revision, copy
|
|
9
|
+
its `profiles/` directory to `lib/cfsolve/profiles/`, update the revision in
|
|
10
|
+
`lib/cfsolve/version.rb`, and refresh the extension's Cargo.lock if dependencies
|
|
11
|
+
changed. Run the Ruby tests and fresh challenge checks before releasing.
|