https://github.com/vikyd/chromium-history-version-crawler
https://github.com/vikyd/chromium-history-version-crawler
android chrome chromium download history linux mac old position version windows
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/vikyd/chromium-history-version-crawler
- Owner: vikyd
- Created: 2021-01-20T02:12:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-15T07:55:08.000Z (almost 2 years ago)
- Last Synced: 2025-06-26T18:07:50.083Z (11 months ago)
- Topics: android, chrome, chromium, download, history, linux, mac, old, position, version, windows
- Language: JavaScript
- Homepage: https://vikyd.github.io/download-chromium-history-version/
- Size: 2.73 MB
- Stars: 39
- Watchers: 1
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chromium-history-version-crawler
Crawlers to produce Chromium versions mapping to `chromium_base_position`.
Result JSON data: https://github.com/vikyd/chromium-history-version-position
View page: https://vikyd.github.io/download-chromium-history-version/
[TOC]
# Steps
All output json files locate in `json` folder.
## Step1
Find all available Chromiunm versions, then find the `chromium_base_position` of each version. And genrate: `all-version.json`, `version-position.json` .
```sh
# doc: `node version-position-crawler.js -h`
# `all mode` or `incremental mode`
node version-position-crawler.js
```
`all-version.json`:
```json
[
"90.0.4399.1",
"90.0.4399.0",
"90.0.4398.1",
"90.0.4398.0"
// ...
]
```
`version-position.json`:
```json
{
"90.0.4399.1": "846615",
"90.0.4399.0": "846615",
"90.0.4398.1": "846545",
"90.0.4398.0": "846545"
// ...
}
```
## Step2
Find all available Chromiunm `chromium_base_position` of each OS. And generate: `position/position-Mac.json` etc.
```sh
node position-crawler.js
# about 90 seconds
```
`position-Mac.json`:
```json
[
"15734",
"15749",
"15839",
"15942"
// ...
]
```
## Step3
Compare `version-position.json` and each `position/position-os.json`, extract the intersection of the `chromium_base_position`, generate the final json files: `version-position-Mac.json` etc.
```sh
node ver-pos-os-generator.js
```
`Mac-ver-pos.json`:
```json
{
"90.0.4398.1": "846545",
"90.0.4398.0": "846545",
"90.0.4396.2": "845872",
"90.0.4396.1": "845872"
// ...
}
```
# json steps
```
all-version.json -> version-position.json ->
-> ver-pos-[os].json
position-[os].json ->
```
# Full mode
It is hard to fetch all position successfully at one loop.
If you really want a full fetch, you may need to modify parameters in the js file.
# Missing data
Because of some problems of the position api:
- data OK: https://omahaproxy.appspot.com/deps.json?version=87.0.4253.0
- no data: https://omahaproxy.appspot.com/deps.json?version=33.0.1733.0
Most version before v38.0.0.0 is missing.