[
  {
    "path": "android/libs/readme.txt",
    "content": "\n"
  },
  {
    "path": "android/package.json",
    "content": "{\n    \"version\":\"1.6.3\",\n    \"minVersion\":\"1.0.0\",\n    \"downloadUrl\":\"https://ghproxy.com/https://github.com/pluto-player/updates/releases/latest/download/app.apk\",\n    \"notices\": [],\n    \"armeabi\": {\n        \"version\":\"1.0.3\",\n        \"minVersion\":\"1.0.0\",\n        \"downloadUrl\":\"https://ghproxy.com/https://github.com/pluto-player/updates/releases/latest/download/app.apk\",\n        \"notices\": []\n    }\n}\n"
  },
  {
    "path": "android/plugins/js/douban.js",
    "content": "import './uri.min.js';\n\n/**\n * 豆瓣索引\n * @antod\n * \n */\n\nconst key = 'douban';\nconst api = 'https://frodo.douban.com/api/v2';\nconst ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat';\nconst apiKey = '0ac44ae016490db2204ce0a042db2916';\nconst homeData = {\"class\":[{\"type_id\":\"movie\",\"type_name\":\"电影\"},{\"type_id\":\"tv\",\"type_name\":\"电视剧\"},{\"type_id\":\"rank\",\"type_name\":\"排行版\"}],\"filters\":{\"movie\":[{\"key\":\"类型\",\"name\":\"类型\",\"value\":[{\"n\":\"全部类型\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"传记\",\"v\":\"传记\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"情色\",\"v\":\"情色\"},{\"n\":\"灾难\",\"v\":\"灾难\"},{\"n\":\"西部\",\"v\":\"西部\"},{\"n\":\"纪录片\",\"v\":\"纪录片\"},{\"n\":\"短片\",\"v\":\"短片\"}]},{\"key\":\"地区\",\"name\":\"地区\",\"value\":[{\"n\":\"全部地区\",\"v\":\"\"},{\"n\":\"华语\",\"v\":\"华语\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"},{\"n\":\"爱尔兰\",\"v\":\"爱尔兰\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"巴西\",\"v\":\"巴西\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"}]},{\"key\":\"sort\",\"name\":\"排序\",\"value\":[{\"n\":\"近期热度\",\"v\":\"T\"},{\"n\":\"首映时间\",\"v\":\"R\"},{\"n\":\"高分优先\",\"v\":\"S\"}]},{\"key\":\"年代\",\"name\":\"年代\",\"value\":[{\"n\":\"全部年代\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2010年代\",\"v\":\"2010年代\"},{\"n\":\"2000年代\",\"v\":\"2000年代\"},{\"n\":\"90年代\",\"v\":\"90年代\"},{\"n\":\"80年代\",\"v\":\"80年代\"},{\"n\":\"70年代\",\"v\":\"70年代\"},{\"n\":\"60年代\",\"v\":\"60年代\"},{\"n\":\"更早\",\"v\":\"更早\"}]}],\"tv\":[{\"key\":\"类型\",\"name\":\"类型\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"电视剧\",\"v\":\"电视剧\"},{\"n\":\"综艺\",\"v\":\"综艺\"}]},{\"key\":\"电视剧形式\",\"name\":\"电视剧形式\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"喜剧\",\"v\":\"喜剧\"},{\"n\":\"爱情\",\"v\":\"爱情\"},{\"n\":\"悬疑\",\"v\":\"悬疑\"},{\"n\":\"动画\",\"v\":\"动画\"},{\"n\":\"武侠\",\"v\":\"武侠\"},{\"n\":\"古装\",\"v\":\"古装\"},{\"n\":\"家庭\",\"v\":\"家庭\"},{\"n\":\"犯罪\",\"v\":\"犯罪\"},{\"n\":\"科幻\",\"v\":\"科幻\"},{\"n\":\"恐怖\",\"v\":\"恐怖\"},{\"n\":\"历史\",\"v\":\"历史\"},{\"n\":\"战争\",\"v\":\"战争\"},{\"n\":\"动作\",\"v\":\"动作\"},{\"n\":\"冒险\",\"v\":\"冒险\"},{\"n\":\"传记\",\"v\":\"传记\"},{\"n\":\"剧情\",\"v\":\"剧情\"},{\"n\":\"奇幻\",\"v\":\"奇幻\"},{\"n\":\"惊悚\",\"v\":\"惊悚\"},{\"n\":\"灾难\",\"v\":\"灾难\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"},{\"n\":\"音乐\",\"v\":\"音乐\"}]},{\"key\":\"综艺形式\",\"name\":\"综艺形式\",\"value\":[{\"n\":\"不限\",\"v\":\"\"},{\"n\":\"真人秀\",\"v\":\"真人秀\"},{\"n\":\"脱口秀\",\"v\":\"脱口秀\"},{\"n\":\"音乐\",\"v\":\"音乐\"},{\"n\":\"歌舞\",\"v\":\"歌舞\"}]},{\"key\":\"地区\",\"name\":\"地区\",\"value\":[{\"n\":\"全部地区\",\"v\":\"\"},{\"n\":\"华语\",\"v\":\"华语\"},{\"n\":\"欧美\",\"v\":\"欧美\"},{\"n\":\"国外\",\"v\":\"国外\"},{\"n\":\"韩国\",\"v\":\"韩国\"},{\"n\":\"日本\",\"v\":\"日本\"},{\"n\":\"中国大陆\",\"v\":\"中国大陆\"},{\"n\":\"中国香港\",\"v\":\"中国香港\"},{\"n\":\"美国\",\"v\":\"美国\"},{\"n\":\"英国\",\"v\":\"英国\"},{\"n\":\"泰国\",\"v\":\"泰国\"},{\"n\":\"中国台湾\",\"v\":\"中国台湾\"},{\"n\":\"意大利\",\"v\":\"意大利\"},{\"n\":\"法国\",\"v\":\"法国\"},{\"n\":\"德国\",\"v\":\"德国\"},{\"n\":\"西班牙\",\"v\":\"西班牙\"},{\"n\":\"俄罗斯\",\"v\":\"俄罗斯\"},{\"n\":\"瑞典\",\"v\":\"瑞典\"},{\"n\":\"巴西\",\"v\":\"巴西\"},{\"n\":\"丹麦\",\"v\":\"丹麦\"},{\"n\":\"印度\",\"v\":\"印度\"},{\"n\":\"加拿大\",\"v\":\"加拿大\"},{\"n\":\"爱尔兰\",\"v\":\"爱尔兰\"},{\"n\":\"澳大利亚\",\"v\":\"澳大利亚\"}]},{\"key\":\"sort\",\"name\":\"排序\",\"value\":[{\"n\":\"近期热度\",\"v\":\"T\"},{\"n\":\"首播时间\",\"v\":\"R\"},{\"n\":\"高分优先\",\"v\":\"S\"}]},{\"key\":\"年代\",\"name\":\"年代\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"2022\",\"v\":\"2022\"},{\"n\":\"2021\",\"v\":\"2021\"},{\"n\":\"2020\",\"v\":\"2020\"},{\"n\":\"2019\",\"v\":\"2019\"},{\"n\":\"2010年代\",\"v\":\"2010年代\"},{\"n\":\"2000年代\",\"v\":\"2000年代\"},{\"n\":\"90年代\",\"v\":\"90年代\"},{\"n\":\"80年代\",\"v\":\"80年代\"},{\"n\":\"70年代\",\"v\":\"70年代\"},{\"n\":\"60年代\",\"v\":\"60年代\"},{\"n\":\"更早\",\"v\":\"更早\"}]},{\"key\":\"平台\",\"name\":\"平台\",\"value\":[{\"n\":\"全部\",\"v\":\"\"},{\"n\":\"腾讯视频\",\"v\":\"腾讯视频\"},{\"n\":\"爱奇艺\",\"v\":\"爱奇艺\"},{\"n\":\"优酷\",\"v\":\"优酷\"},{\"n\":\"湖南卫视\",\"v\":\"湖南卫视\"},{\"n\":\"Netflix\",\"v\":\"Netflix\"},{\"n\":\"HBO\",\"v\":\"HBO\"},{\"n\":\"BBC\",\"v\":\"BBC\"},{\"n\":\"NHK\",\"v\":\"NHK\"},{\"n\":\"CBS\",\"v\":\"CBS\"},{\"n\":\"NBC\",\"v\":\"NBC\"},{\"n\":\"tvN\",\"v\":\"tvN\"}]}],\"rank\":[{\"key\":\"rank\",\"name\":\"榜单\",\"value\":[{\"n\":\"实时热门\",\"v\":\"show_hot\"},{\"n\":\"一周口碑电影榜\",\"v\":\"movie_weekly_best\"},{\"n\":\"豆瓣电影Top250\",\"v\":\"movie_top250\"},{\"n\":\"华语口碑剧集榜\",\"v\":\"tv_chinese_best_weekly\"},{\"n\":\"全球口碑剧集榜\",\"v\":\"tv_global_best_weekly\"},{\"n\":\"国内口碑综艺榜\",\"v\":\"show_chinese_best_weekly\"},{\"n\":\"国外口碑综艺榜\",\"v\":\"show_global_best_weekly\"}]}]}};\n\nfunction request(path) {\n    const uri = new Uri(api + path);\n    // TODO - params\n    const header = {\n        'User-Agent': ua,\n        'Referer': 'https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html'\n    };\n    const res = req(uri.toString(), {\n        headers: header\n    });\n\n    const content = res.content;\n    return content;\n}\n\nfunction init(ext) {\n}\n\nfunction home(filter) {\n    if (filter) return JSON.stringify(homeData);\n    return JSON.stringify({\n        'class': homeData.class\n    });\n}\n\nfunction homeVod(params) {\n    try {\n        const url = '/subject_collection/show_hot/items?apiKey=' + apiKey + '&count=20&start=0';\n\n        let videos = [];\n        for (const vod of JSON.parse(request(url)).subject_collection_items) {\n            if (vod.type && (vod.type == 'tv' || vod.type == 'movie')) {\n                videos.push({\n                    'vod_id': '/' + vod.type + '/' + vod.id,\n                    'vod_name': vod.title,\n                    'vod_pic': vod.pic.normal,\n                    'vod_remarks': vod.rating.value\n                });\n            }\n        }\n\n        return JSON.stringify({\n            'list': videos\n        });\n    } catch (e) {\n        console.log(e);\n    }\n    return JSON.stringify({\n        'list': []\n    });\n}\n\nfunction category(tid, pg, filter, extend) {\n    try {\n        let url = '',\n            data,list;\n        const pageSize = 30;\n\n        if (tid == 'movie' || tid == 'tv') {\n            let sort = '',\n                tags = '';\n            if (filter && extend) {\n                sort = extend.sort || 'T';\n                delete extend.sort;\n                tags = Object.values(extend).join(',');\n            }\n\n            url += '/' + tid + '/recommend?apiKey=' + apiKey\n                + '&tags=' + tags + '&sort=' + sort + '&refresh=0&selected_categories='\n                + '&count=' + pageSize + '&start=' + ((parseInt(pg) - 1) * pageSize);\n\n            data = JSON.parse(request(url));\n            list = data.items;\n        } else if (tid == 'rank') {\n            let type = 'show_hot';\n            if (filter && extend && extend.rank) {\n                type = extend.rank;\n            }\n            url += '/subject_collection/' + type + '/items?apiKey=' + apiKey\n                + '&count=' + pageSize + '&start=' + (parseInt(pg) - 1) * pageSize;\n            data = JSON.parse(request(url));\n            list = data.subject_collection_items;\n        }\n    \n        let videos = [];\n        for (const vod of list) {\n            if (vod.type && (vod.type == 'tv' || vod.type == 'movie')) {\n                videos.push({\n                    'vod_id': '/' + vod.type + '/' + vod.id,\n                    'vod_name': vod.title,\n                    'vod_pic': vod.pic.normal,\n                    'vod_remarks': vod.rating ? vod.rating.value : ''\n                });\n            }\n        }\n    \n        return JSON.stringify({\n            'page': parseInt(pg),\n            'pagecount': Math.ceil(data.total / pageSize),\n            'limit': pageSize,\n            'total': data.total,\n            'list': videos,\n        });\n    } catch (e) {\n        console.log(e)\n    }\n    return '{}';\n}\n\nfunction detail(id) {\n    try {\n        const url = id + '?apiKey=' + apiKey;\n        const data = JSON.parse(request(url));\n\n        let directors = [];\n        data.directors.forEach((it) => {directors.push(it.name)});\n        let actors = [];\n        data.actors.forEach((it) => {actors.push(it.name)});\n\n        let vod = {\n            'vod_id': data.id,\n            'vod_name': data.title,\n            'vod_pic': data.pic.normal,\n            'type_name': data.genres.join('/'),\n            'vod_year': data.year,\n            'vod_area': data.area,\n            'vod_remarks': data.card_subtitle,\n            'vod_actor': actors.join('/'),\n            'vod_director': directors.join('/'),\n            'vod_content': data.intro,\n        }\n        return JSON.stringify({\n            'list': [vod]\n        });\n    } catch (e) {\n        console.log(e)\n    }\n    return '{}';\n}\n\nfunction play(flag, id, flags) {\n    return '{}';\n}\n\nfunction search(wd, quick) {\n    return '{}';\n}\n\n__JS_SPIDER__ = {\n    init: init,\n    home: home,\n    homeVod: homeVod,\n    category: category,\n    detail: detail,\n    play: play,\n    search: search\n}\n"
  },
  {
    "path": "android/plugins/readme.txt",
    "content": "\n"
  },
  {
    "path": "android/version.txt",
    "content": "1.0.0\n"
  },
  {
    "path": "android/welcome.json",
    "content": "{\"content\": \"\", \"en-US\": \"\", \"zh-CN\": \"\"}\n"
  }
]