mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 15:58:38 +01:00
Services rewrite
This commit is contained in:
36
consumer-database/scripts/create_database.ts
Normal file
36
consumer-database/scripts/create_database.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import fs from 'fs';
|
||||
|
||||
function createIpDatabase() {
|
||||
const data = fs.readFileSync('GeoLite2-Country-Blocks-IPv4.csv', 'utf8');
|
||||
const rows = data.split('\n');
|
||||
rows.splice(0, 1);
|
||||
rows.splice(-1);
|
||||
const parsed: [number, string, number][] = [];
|
||||
for (const row of rows) {
|
||||
const lineData = row.trim().split(',');
|
||||
parsed.push([
|
||||
parseInt(lineData[0].split('.')[0]),
|
||||
lineData[0],
|
||||
parseInt(lineData[1] || '0')
|
||||
]);
|
||||
}
|
||||
fs.writeFileSync('../dist/ipv4-db.json', JSON.stringify(parsed));
|
||||
|
||||
}
|
||||
|
||||
function createCountryDatabase() {
|
||||
const data = fs.readFileSync('GeoLite2-Country-Locations-en.csv', 'utf8');
|
||||
const rows = data.split('\n');
|
||||
rows.splice(0, 1);
|
||||
rows.splice(-1);
|
||||
const parsed: [number, string, string][] = [];
|
||||
for (const row of rows) {
|
||||
const lineData = row.trim().split(',');
|
||||
parsed.push([parseInt(lineData[0]), lineData[2], lineData[4]]);
|
||||
}
|
||||
fs.writeFileSync('../dist/countries-db.json', JSON.stringify(parsed));
|
||||
|
||||
}
|
||||
|
||||
createIpDatabase();
|
||||
createCountryDatabase();
|
||||
Reference in New Issue
Block a user