mirror of
https://github.com/vitalygashkov/crextractor.git
synced 2026-07-15 17:40:03 +02:00
63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# Crextractor
|
|
|
|
Utility for extracting credentials from the Crunchyroll Android app
|
|
|
|
## Prerequisites
|
|
|
|
- [Node.js](https://nodejs.org/en)
|
|
- [jadx](https://github.com/skylot/jadx)
|
|
|
|
## Usage
|
|
|
|
### Fetching already extracted credentials
|
|
|
|
```js
|
|
async function main() {
|
|
const url = 'https://raw.githubusercontent.com/vitalygashkov/crextractor/refs/heads/main/credentials.tv.json';
|
|
const credentials = await fetch(url).then((response) => response.json());
|
|
|
|
// You can use the extracted credentials to obtain access tokens for Crunchyroll APIs
|
|
const response = await fetch('https://beta-api.crunchyroll.com/auth/v1/token', {
|
|
headers: {
|
|
Authorization: credentials.authorization,
|
|
'User-Agent': 'Crunchyroll/ANDROIDTV/3.42.1_22267 (Android 16; en-US; sdk_gphone64_x86_64)',
|
|
// ...
|
|
},
|
|
method: 'POST',
|
|
body: JSON.stringify({
|
|
// ...
|
|
}),
|
|
});
|
|
}
|
|
```
|
|
|
|
### Command-line interface
|
|
|
|
```bash
|
|
npx crextractor --target mobile --output ./credentials.mobile.json
|
|
```
|
|
|
|
> Results will be printed to the console and saved to `credentials.mobile.json` file. By default, the target is TV, but you can change it with `--target mobile` option.
|
|
|
|
### Library
|
|
|
|
```bash
|
|
npm i crextractor
|
|
```
|
|
|
|
```js
|
|
import { extract } from 'crextractor';
|
|
|
|
const { id, secret, encoded, authorization } = await extract();
|
|
// id - Crunchyroll app ID
|
|
// secret - Crunchyroll app secret
|
|
// encoded - Base64 encoded `id:secret` string
|
|
// authorization - ready HTTP header in the format `Basic <encoded>`, can be used to access some Crunchyroll APIs
|
|
|
|
// Do something with the extracted credentials
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|