Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save betesh/54d3fd27fd979e78d3b23badbb90afc2 to your computer and use it in GitHub Desktop.
Save betesh/54d3fd27fd979e78d3b23badbb90afc2 to your computer and use it in GitHub Desktop.
As Chrome removed the "Backup" button in "Saved Passwords", you can make a backup from your passwords by running this code in the console!
// 1. Open chrome://settings/passwords
// 2. Open chrome developer tools (using F12 or Ctrl+Shift+i)
// 3. Run the following code in the console tab
// 4. Copy output in a text file and save it somewhere safe!
function asyncForEach(array, done, iterator) {
var i = 0;
next();
function next(err) {
if (err) {
done(err);
}
else if (i >= array.length) {
done();
}
else if (i < array.length) {
var item = array[i++];
setTimeout(function() {
iterator(item, i - 1, next);
}, 0);
}
}
}
settingsUi = $$('settings-ui');
settingsPage = Polymer.dom(settingsUi[0].shadowRoot);
container = settingsPage.querySelector('#container');
settingsPasswordsAndForms = Polymer.dom(Polymer.dom(Polymer.dom(settingsPage.querySelector('#main').shadowRoot).querySelector('settings-basic-page').shadowRoot).querySelector('settings-passwords-and-forms-page').shadowRoot);
page = settingsPasswordsAndForms.querySelector('passwords-section').shadowRoot;
passwordSection = Polymer.dom(settingsPasswordsAndForms.querySelector('#pages')).querySelector('#passwordSection');
list = Polymer.dom(page).querySelector('iron-list');
passwordItems = list.get('items');
csvResult = "";
asyncForEach(passwordItems, function () {
console.log(csvResult);
// Now you can save output in a text file!
}, function (item, index, next) {
passwordSection.passwordManager_.getPlaintextPassword(item.loginPair, function (item) {
csvResult = csvResult + passwordItems[index].loginPair.urls.shown + ',' + passwordItems[index].loginPair.username + ',' + item.plaintextPassword + "\n";
next();
}.bind(passwordSection))
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment