mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-12 07:04:52 +09:00
49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
const factorioAPI = require("node-factorio-api");
|
|
const fileOps = require("./../fileOps.js");
|
|
|
|
const instances = fileOps.getDirectoriesSync("./instances/");
|
|
|
|
module.exports.listMods = function(instance){
|
|
if(instance && instances.includes(instance)){
|
|
factorioAPI.init(false, 'instances/'+instance+'/mods', 'instances/'+instance+'/saves', '0.15.37');
|
|
console.log("Authenticating to factorio.com...")
|
|
factorioAPI.authenticate({
|
|
username: 'Danielv123',
|
|
token: '53faebce0a608b1195f01dcfd95ee1',
|
|
require_ownership: false
|
|
}).then(token => {
|
|
console.log("authed")
|
|
factorioAPI.getModsFromSaves().then(list => {
|
|
console.log(list)
|
|
});
|
|
});
|
|
} else {
|
|
console.log(instance)
|
|
}
|
|
|
|
// get JSON data about GH releases
|
|
/*let res = syncRequest('GET', 'https://api.github.com/repos/Danielv123/factorioClusterioMod/releases', {"headers":{"User-Agent":"Fuck you for requiring user agents!"}});
|
|
let url = JSON.parse(res.getBody())[0].assets[0].browser_download_url;
|
|
let name = JSON.parse(res.getBody())[0].assets[0].name;
|
|
console.log(JSON.parse(res.getBody()))
|
|
*/
|
|
}
|
|
|
|
// 'https://api.github.com/repos/Danielv123/factorioClusterioMod/releases'
|
|
module.exports.downloadFromGitURL = function(url){
|
|
console.log("Downloading mod from "+url);
|
|
// get JSON data about releases
|
|
let res = syncRequest('GET', url, {"headers":{"User-Agent":"Please don't require setting a user agent"}});
|
|
let downloadUrl = JSON.parse(res.getBody())[0].assets[0].browser_download_url;
|
|
let name = JSON.parse(res.getBody())[0].assets[0].name;
|
|
console.log(JSON.parse(res.getBody()))
|
|
if(downloadUrl) {
|
|
console.log(downloadUrl);
|
|
var file = fs.createWriteStream("sharedMods/"+name);
|
|
var request = https.get(downloadUrl, function(response) {
|
|
response.pipe(file);
|
|
console.log("Downloaded "+name);
|
|
});
|
|
}
|
|
}
|