Merge branch '2.0.7' of Karl/MiWatchKleaner into master
This commit is contained in:
		
						commit
						5b00b13373
					
				@ -3,6 +3,8 @@ const clear = require('clear');
 | 
			
		||||
const figlet = require('figlet');
 | 
			
		||||
const fs = require('fs')
 | 
			
		||||
var pjson = require('../package.json');
 | 
			
		||||
const fetch = require('node-fetch');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
    header: (page) => {
 | 
			
		||||
@ -36,5 +38,12 @@ module.exports = {
 | 
			
		||||
        } else {
 | 
			
		||||
            console.log(chalk.white('MiWatch IP: ' + chalk.green(miwatchData.ipAddress)))
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    downloadFile: async (url) => {
 | 
			
		||||
        let settings = { method: "Get" };
 | 
			
		||||
 | 
			
		||||
        const response = await fetch(url, settings)
 | 
			
		||||
        .then(res => res.json())
 | 
			
		||||
            return response
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -13,6 +13,7 @@ module.exports = {
 | 
			
		||||
      message: "What do you want to do?",
 | 
			
		||||
      choices: [
 | 
			
		||||
        "Connect to MiWatch via Wifi",
 | 
			
		||||
        "1-Click Karl0ss Klean",
 | 
			
		||||
        "Remove Xiaomi Apps",
 | 
			
		||||
        "Restore Xiaomi Apps",
 | 
			
		||||
        "Install Compatible Apps",
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										7
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "miwatchkleaner2.0",
 | 
			
		||||
  "version": "2.0.3",
 | 
			
		||||
  "version": "2.0.7",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
@ -907,6 +907,11 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-1.0.12.tgz",
 | 
			
		||||
      "integrity": "sha512-2t3h3g3xK5kxhRbwD+0WgKotHyoVEQlE+V93rn97tqzUtbw8cFpHn0uhsc2LeKkDlsQI1iy5XZoS3vACzBdW8A=="
 | 
			
		||||
    },
 | 
			
		||||
    "node-fetch": {
 | 
			
		||||
      "version": "2.6.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
 | 
			
		||||
      "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
 | 
			
		||||
    },
 | 
			
		||||
    "oauth-sign": {
 | 
			
		||||
      "version": "0.9.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "miwatchkleaner2.0",
 | 
			
		||||
  "version": "2.0.6",
 | 
			
		||||
  "version": "2.0.7",
 | 
			
		||||
  "description": "MiWatch Cleaning Tool",
 | 
			
		||||
  "main": "app.js",
 | 
			
		||||
  "bin": "app.js",
 | 
			
		||||
@ -22,6 +22,7 @@
 | 
			
		||||
    "get-files-in": "^1.2.0",
 | 
			
		||||
    "inquirer": "^7.1.0",
 | 
			
		||||
    "node-downloader-helper": "^1.0.12",
 | 
			
		||||
    "node-fetch": "^2.6.0",
 | 
			
		||||
    "perfect-logger": "^2.0.1",
 | 
			
		||||
    "pkg": "^4.4.7",
 | 
			
		||||
    "request-promise-native": "^1.0.8",
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,7 @@ const http = require('http')
 | 
			
		||||
var shell = require('shelljs');
 | 
			
		||||
let logger = require('perfect-logger');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let adbRun
 | 
			
		||||
 | 
			
		||||
logger.initialize('RunTIme', {
 | 
			
		||||
@ -140,11 +141,10 @@ module.exports = {
 | 
			
		||||
                    await dl2.start();
 | 
			
		||||
                    await shellExec(adbRun + ' install-multiple "data\\apps\\simpleweather_base.apk" "data\\apps\\simpleweather_split_config.armeabi_v7a.apk" "data\\apps\\simpleweather_split_config.xhdpi.apk"').then(function (result) {
 | 
			
		||||
                        console.log(result)
 | 
			
		||||
                        console.log('moreLocale Activated On Watch');
 | 
			
		||||
                        logger.info('moreLocale Activated On Watch');
 | 
			
		||||
                        console.log('simpleWeather Activated On Watch');
 | 
			
		||||
                        logger.info('simpleWeather Activated On Watch');
 | 
			
		||||
                    })
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (element === "data\\apps\\MoreLocale.apk") {
 | 
			
		||||
                    await shellExec(adbRun + ' shell pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION').then(function (result) {
 | 
			
		||||
                        console.log('moreLocale Activated On Watch');
 | 
			
		||||
@ -255,6 +255,63 @@ module.exports = {
 | 
			
		||||
            }).catch()
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    oneClick: async () => {
 | 
			
		||||
        logger.info("1-Click Karl0ss Klean")
 | 
			
		||||
        common.header('1-Click Karl0ss Klean')
 | 
			
		||||
        const value = JSON.parse(fs.readFileSync('./data/packageList.json', 'utf8'));
 | 
			
		||||
        for (let element of value.apps) {
 | 
			
		||||
            await shellExec(adbRun + ' shell pm uninstall -k --user 0 ' + element).then(function (result) {
 | 
			
		||||
                if (result.stderr != '') {
 | 
			
		||||
                    logger.info('Error ' + result.stderr);
 | 
			
		||||
                    console.log(chalk.redBright('Error - Device not authorised'));
 | 
			
		||||
                } else {
 | 
			
		||||
                    logger.info('Removing ' + element + ' - ' + result.stdout);
 | 
			
		||||
                    console.log('Removing ' + element + ' - ' + result.stdout);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        console.log(chalk.green('Removal Complete'))
 | 
			
		||||
        await common.pause(2000)
 | 
			
		||||
        logger.info("Remove Complete")
 | 
			
		||||
        logger.info("Compatible Apps")
 | 
			
		||||
 | 
			
		||||
        await shell.rm('-rf', './data/apps/*.apk');
 | 
			
		||||
 | 
			
		||||
        let url = "http://kithub.cf/Karl/MiWatchKleaner-APKs/raw/master/compatibleApps.json";
 | 
			
		||||
        const compatibleApps = await common.downloadFile(url)
 | 
			
		||||
 | 
			
		||||
        for (const element of compatibleApps) {
 | 
			
		||||
            if (element.Klean === "X") {
 | 
			
		||||
                const options = {
 | 
			
		||||
                    override: true,
 | 
			
		||||
                }
 | 
			
		||||
                const dl = new DownloaderHelper(element.url, './data/apps/', options);
 | 
			
		||||
                await dl.on('end', () => console.log('Downloading Latest ' + element.name + ' Complete'),
 | 
			
		||||
                    logger.info('Downloading Latest ' + element.name + ' Complete')
 | 
			
		||||
                )
 | 
			
		||||
                await dl.start();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        const apkList = await getFilesIn('./data/apps', matchFiletypes = ['apk'], checkSubDirectories = false)
 | 
			
		||||
 | 
			
		||||
        for (let element of apkList) {
 | 
			
		||||
            console.log('Installing ' + element)
 | 
			
		||||
            logger.info('Installing ' + element)
 | 
			
		||||
            await shellExec(adbRun + ' install -r ' + element).then(async function (result) {
 | 
			
		||||
                if (result.stderr != '') {
 | 
			
		||||
                    logger.info('Error ' + result.stderr);
 | 
			
		||||
                    console.log(chalk.redBright('Error - Device not authorised'));
 | 
			
		||||
                }
 | 
			
		||||
                console.log(element + ' - ' + result.stdout);
 | 
			
		||||
                logger.info(element + ' - ' + result.stdout);
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        console.log(chalk.green('Compatible Apps Installed'))
 | 
			
		||||
        logger.info('Compatible Apps Installed')
 | 
			
		||||
        await common.pause(2000)
 | 
			
		||||
        module.exports.mainMenu()
 | 
			
		||||
    },
 | 
			
		||||
    mainMenu: async () => {
 | 
			
		||||
        common.header('Main Menu')
 | 
			
		||||
        if (process.platform === 'win32' || process.platform === 'win64') {
 | 
			
		||||
@ -268,6 +325,9 @@ module.exports = {
 | 
			
		||||
            case 'connect to miwatch via wifi':
 | 
			
		||||
                module.exports.connectWifi()
 | 
			
		||||
                break;
 | 
			
		||||
            case '1-click karl0ss klean':
 | 
			
		||||
                module.exports.oneClick()
 | 
			
		||||
                break;
 | 
			
		||||
            case 'remove xiaomi apps':
 | 
			
		||||
                module.exports.removeApps()
 | 
			
		||||
                break;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user