oven-sh / oven-sh/bun

Additional non standard parameter to pass an JA3 in bun fetch request

Open
#11,368 0 comments 3 reactions 0 assignees View on GitHub
bun.js enhancement
Dominant language
Rust
Stars
96k
Forks
5k
Avg merge
17h 5m
Merged PRs (30d)
172

Description

### What is the problem this feature would solve?

While dealing with HTTP requests, many times services like Cloudflare WAF and other tracking services block the HTTP request based on our TLS fingerprints where the JA3 fingerprint is quite common.
To solve this most of the time we have to go through an additional low-level programming tool like golang which provides support for changing TLS parameters, 1 of the packages in golang that makes this easy is "github.com/gospider007/requests"

But then there is no way we can do this directly in NodeJS without communicating with golang via socket programming or some other tooling.

Adding this additional parameter natively will improve the performance and at the same time avoid coding in 2 languages just for 1 additional functionality.

### What is the feature you are proposing to solve the problem?

Recently bun introduced a non-standard parameter proxy https://bun.sh/guides/http/proxy in bun and this makes it perfectly inclined to add more non-standard parameters like JA3
The possible solution from my end will be to add a JA3 parameter similar to how we added a proxy parameter in the fetch call.

### What alternatives have you considered?

Right now we don't have any alternative other than coding it in golang and then communicating through socket programming.
This package does the same https://www.npmjs.com/package/cycletls

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.