Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
yifeikong committed Apr 28, 2024
1 parent 2ab56d9 commit ace896b
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 21 deletions.
8 changes: 3 additions & 5 deletions docs/01_GETTING_STARTED.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
# Getting started with curl-impersonate

curl-impersonate can be run on Linux and macOS. Partial support for Windows is currently available through a different project: [curl-impersonate-win](https://github.com/depler/curl-impersonate-win).
curl-impersonate can be run on Linux and macOS. Windows is supported via mingw.

## Installation
Installation instructions are available on the [main page](https://github.com/lwthiker/curl-impersonate#installation)
Installation instructions are available on the [main page](https://github.com/yifeikong/curl-impersonate#installation)

The project supplies two modified flavors of curl:
* The *Chrome version* is a modified curl binary and libcurl library that can impersonate Chrome, Edge and Safari. It uses BoringSSL, Chrome's TLS library. It is based on a patched curl version with added support for some additional TLS extensions and modified HTTP/2 settings that make it look like a browser.
* The *Firefox version* is a modified curl binary that can impersonate Firefox. It uses NSS, Mozilla's TLS library which is used by Firefox.
The project supplies a modified curl binary and libcurl library that can impersonate Chrome, Edge and Safari. It uses BoringSSL, Chrome's TLS library. It is based on a patched curl version with added support for some additional TLS extensions and modified HTTP/2 settings that make it look like a browser.
19 changes: 6 additions & 13 deletions docs/02_USAGE.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
# Running curl-impersonate from the command line

curl-impersonate can be run from the command line just like the regular curl tool.
Since it is just a modified curl build, all the original flags and command line options are supported.
Since it is just a modified curl build, all the original flags and command-line options are supported.

For example, the Firefox version can be run as follows:
```bash
curl-impersonate-ff -v -L https://wikipedia.org
```
For example, it can be run as follows:

and the Chrome version:
```bash
curl-impersonate-chrome -v -L https://wikipedia.org
```
curl-impersonate-chrome -v -L https://wikipedia.org

However, by default, running the binaries as above will not prdouce the same TLS and HTTP/2 signatures as the impersonated browsers. Rather, this project provides additional *wrapper scripts* that launch these binaries with the correct set of command line flags to produce the desired signatures. For example:
```bash
curl_chrome104 -v -L https://wikipedia.org
```

curl_chrome104 -v -L https://wikipedia.org

will produce a signature identical to Chrome version 104. You can add command line flags and they will be passed on to curl. However, some flags change curl's TLS signature. See below for more details.

The full list of wrapper scripts is available on the [main page](https://github.com/lwthiker/curl-impersonate#supported-browsers).
The full list of wrapper scripts is available on the [main page](https://github.com/yifeikong/curl-impersonate#supported-browsers).

## Changing the HTTP headers
The wrapper scripts use a certain set of HTTP headers such as `User-Agent`, `Accept-Encoding` and a few more.
Expand Down
2 changes: 1 addition & 1 deletion docs/03_LIBCURL_IMPERSONATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Using libcurl-impersonate

Documentation for using libcurl-impersonate is currently on the [main page](https://github.com/lwthiker/curl-impersonate#libcurl-impersonate)
Documentation for using libcurl-impersonate is currently on the [main page](https://github.com/yifeikong/curl-impersonate#libcurl-impersonate)
2 changes: 1 addition & 1 deletion docs/03_LIBCURL_IMPERSONATE_PYTHON.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Using libcurl-impersonate in Python scripts

You can use the Python binding [curl_cffi](https://github.com:yifeikong/curl_cffi), which works on Linux(x86_64/aarch64), macOS(Intel) and Windows(amd64).
You can use the Python binding [curl_cffi](https://github.com:yifeikong/curl_cffi), which works on Linux, macOS and Windows.

3 changes: 2 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# curl-impersonate documentation

curl-impersonate is a curl build that lets you send HTTP requests that look like a browser's.
curl-impersonate can impersonate recent versions of Chrome, Edge, Safari & Firefox.
curl-impersonate can impersonate recent versions of Chrome, Edge, Safari & Firefox(In progress).

curl-impersonate can be used either as a command line tool, similar to the regular curl, or as a library that can be integrated instead of the regular libcurl.
These docs describe the various usage options.
Expand All @@ -13,3 +13,4 @@ These docs describe the various usage options.
3. [Using libcurl-impersonate](03_LIBCURL_IMPERSONATE.md)
1. [In PHP scripts](03_LIBCURL_IMPERSONATE_PHP.md)
2. [In JS scripts](03_LIBCURL_IMPERSONATE_JS.md)
3. [In Python scripts](03_LIBCURL_IMPERSONATE_PYTHON.md)

0 comments on commit ace896b

Please sign in to comment.