12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- const backup = require('./util/iphone_backup')
- const inquirer = require('inquirer')
- const chalk = require('chalk')
- async function main() {
- var backups = await backup.availableBackups()
- var result = await inquirer.prompt({
- type: 'list',
- name: 'backupid',
- message: 'Select Backup:',
- choices: backups.map(el => {
- console.log(el)
- return {
- name: el.manifest ?
- `${el.manifest.Lockdown.DeviceName} <${el.id}> ${el.status ? new Date(el.status.Date).toLocaleString() : ''}` :
- `Unknown Device ${el.id} ${el.status ? new Date(el.status.Date).toLocaleString() : ''}`,
- value: el.id
- }
- })
- })
-
- const selectedBackup = backup.iPhoneBackup.fromID(result.backupid)
- const conversations = await selectedBackup.getConversations()
- var conversation = await inquirer.prompt({
- type: 'list',
- name: 'chat_id',
- message: 'Select Conversation:',
- choices: conversations.map(el => {
- return {
- name: chalk.gray(el.date ? el.date.toLocaleString() : '??') + ' ' + el.display_name + ' ' + el.chat_identifier,
- value: el.ROWID
- }
- })
- })
- //console.log(conversation)
- const messages = await selectedBackup.getMessages(conversation.chat_id)
- console.log(
- messages.map(el => chalk.gray(el.date ? el.date.toLocaleString() : '') + ' ' + chalk.blue(el.sender + ': ') + el.text)
- .join('\n')
- )
- }
- try {
- main()
- } catch (e) {
- console.log(e)
- }
|