import { basename } from "https://deno.land/std/path/mod.ts"; import { Extlist } from './extlist.ts'; const regions = [ {path: 'pad', regionID: 'JA', baseJsonURL: 'https://dl.padsv.gungho.jp/base_adr.json'}, {path: 'padEN', regionID: 'NA', baseJsonURL: 'https://dl-na.padsv.gungho.jp/base-na-adr.json'}, {path: 'padKO', regionID: 'KO', baseJsonURL: 'https://dl-kr.padsv.gungho.jp/base.kr-adr.json'}, // {path: 'padHT', regionID: 'HT', baseJsonURL: 'https://dl.padsv.gungho.jp/base.ht-adr.json'}, ]; async function downloadFile(url: string, path: string) { const response = await fetch(url); const headers = response.headers; //console.log(headers); const body = new Uint8Array(await response.clone().arrayBuffer()); Deno.writeFileSync(`${path}/${basename(response.url)}`, body); const fileData = new Date(headers.get("date") as string); //获取修改时间 Deno.utimeSync(`${path}/${basename(response.url)}`, fileData, fileData); return response; } for (const region of regions) { Deno.mkdirSync(`${region.path}`, { recursive: true }); const baseUrl = region.baseJsonURL; console.log(`正在下载 ${baseUrl}`); const baseResponse = await downloadFile(baseUrl, region.path); const baseJsonData = await baseResponse.json(); const extlistUrl = `${baseJsonData.extlist}/extlist.bin`; console.log(`正在下载 ${extlistUrl}`); const extlistResponse = await downloadFile(extlistUrl, region.path); const extdllistUrl = `${baseJsonData.efl}/extdllist.bin`; console.log(`正在下载 ${extdllistUrl}`); const extdllistResponse = await downloadFile(extdllistUrl, region.path); const extlist = Extlist.load(extlistResponse); extlist.entries.forEach((item)=>{console.log(item)}); }