Експортувати паролі та закладки з Chrome у Firefox


4

Я хочу перейти до Firefox з Chrome. Чи є простий спосіб експортувати збережені паролі та закладки в Chrome і імпортувати їх у Firefox?

Відповіді:


3

Найпростіший, найшвидший & amp; Шлях, вільний від помилок:

  • Встановіть Xmarks додатки в обох браузерах для синхронізації закладок. Після першої синхронізації видаліть її, якщо ви більше не бажаєте синхронізувати закладки з обома браузерами.
  • Встановіть LastPass для синхронізації паролів. Його не точна синхронізація між браузерами. Він просто імпортує всі незахищені паролі (які браузери зберігають) до власного зашифрованого контейнера (і, хмара), тоді ви можете використовувати його універсально на будь-якому браузері, ОС і комп'ютері. Якщо ви хочете отримати чистий експорт, в якому паролі повинні оброблятися Firefox, експортуйте паролі до Firefox після імпорту. Потім ви можете видалити LastPass, якщо хочете.

3

The Закладка частина легко:

Метод 1:

Імпортувати безпосередньо з Менеджера закладок Firefox.

Спосіб 2:

Експорт закладку до файлу .html із Менеджера закладок Chrome

Потім імпортувати .html файл у Менеджері закладок Firefox.


The Пароль частина важка, я не знаю.


3

Для експорту / імпорту паролів, якщо ви використовуєте Linux, цей сценарій Python надасть рішення:

https://bitbucket.org/spookylukey/gnome-keyring-import-export/src/default/gnome_keyring_import_export.py


Якщо ви надаєте відповідь, а не даєте посилання, чи можете ви включити основні моменти, зроблені в посиланні, які відповідають на запитання. Дякую.
Matthew Williams

1
"Основні моменти" - це сценарій. Я зв'яжуся з цим безпосередньо.
spookylukey

2

Я знаю, що це буде повний біль, але я пропоную це.

Я рекомендую Lastpass ( firefox ) для розповсюдження закладок. Хоча ви не можете імпортувати існуючі закладки (я ніколи не зустрічав подібного), ви можете поділитися ним між кількома комп'ютерами / платформами / пристроями.

Якщо ви забули свій пароль для веб-сайту, можна легко дізнатися за допомогою засобу зберігання пароля Chrome.

Ви можете знайти його, натиснувши трохи Ключ & gt; Параметри & gt; Особисті дані & gt; Керування паролями.

Просто переглядайте звичайно, і ви в кінцевому підсумку додаєте все, що вам дійсно потрібно.

Для Експорт , отримати html з Chrome за допомогою:

  1. Ctrl + Shift + O
  2. Упорядкувати (натисніть)
  3. Експортувати HTML-закладки

Для Імпортувати :

  1. Ctrl + Shift + B
  2. Імпорт експорту (зверху)
  3. Перегляньте збережені закладки.html

З цікавості хотілося б дізнатися, чому ви переходите до Firefox. Я просто перейшов з Firefox на Chrome для тестового запуску: P


Я хочу використовувати той самий веб-переглядач на моєму ноутбуці та мобільних пристроях.
Joachim

0

Фактично сам сценарій від посилання spookyLurky :

( https://bitbucket.org/spookylukey/gnome-keyring-import-export/src/default/gnome_keyring_import_export.py )

#!/usr/bin/env python

# Simple script for exporting gnome2 (seahorse) keyrings,
# and re-importing on another machine.

# Usage:
#
# 1) Export:
#
#   gnome_keyring_import_export.py export somefile.json
#
#
# Please note - this dumps all your passwords *unencrypted*
# into somefile.json
#
# 2) Import:
#
#   gnome_keyring_import_export.py import somefile.json
#
#   OR
#
#   cat somefile.json | gnome_keyring_import_export.py import
#
# This attempts to be intelligent about not duplicating
# secrets already in the keyrings - see messages.
#
# However, if you are moving machines, sometimes an application
# name changes (e.g. "chrome-12345" -> "chrome-54321") so
# you might need to do some manual fixes on somefile.json first.
#
# Please make BACKUP copies of your existing keyring files
# before importing into them, in case anything goes wrong.
# They are normally found in:
#
#  ~/.gnome2/keyrings
#  ~/.local/share/keyrings
#
#
# 3) Export Chrome passwords to Firefox
#
# This takes Chrome passwords stored in the Gnome keyring manager and creates a
# file than can be imported by the Firefox "Password Exporter" extension:
# https://addons.mozilla.org/en-US/firefox/addon/password-exporter/
#
#   gnome_keyring_import_export.py export_chrome_to_firefox somefile.xml
#



import json
import sys
import urlparse

import lxml.etree
from lxml.etree import Element
import pygtk
pygtk.require('2.0')
import gtk # sets app name
import gnomekeyring

def mk_copy(item):
    c = item.copy()
    c['attributes'] = c['attributes'].copy()
    return c

def remove_insignificant_data(item, ignore_secret=False):
    item.pop('mtime', None)
    item.pop('ctime', None)
    item.pop('mtime', None)
    item['attributes'].pop('date_created', None)
    if ignore_secret:
        item.pop('secret', None)

def items_roughly_equal(item1, item2, ignore_secret=False):
    c1 = mk_copy(item1)
    c2 = mk_copy(item2)

    remove_insignificant_data(c1, ignore_secret=ignore_secret)
    remove_insignificant_data(c2, ignore_secret=ignore_secret)

    return c1 == c2

def export_keyrings(to_file):
    file(to_file, "w").write(json.dumps(get_gnome_keyrings(), indent=2))

def get_gnome_keyrings():
    keyrings = {}
    for keyring_name in gnomekeyring.list_keyring_names_sync():
        keyring_items = []
        keyrings[keyring_name] = keyring_items
        for id in gnomekeyring.list_item_ids_sync(keyring_name):
            item = get_item(keyring_name, id)
            if item is not None:
                keyring_items.append(item)

    return keyrings

def export_chrome_to_firefox(to_file):
    """
    Finds Google Chrome passwords and exports them to an XML file that can be
    imported by the Firefox extension "Password Exporter"
    """
    keyrings = get_gnome_keyrings()
    items = []
    item_set = set()
    for keyring_name, keyring_items in keyrings.items():
        for item in keyring_items:
            if (not item['display_name'].startswith('http')
                and not item['attributes'].get('application', '').startswith('chrome')):
                continue
            items.append(item)

            attribs = item['attributes']
            item_def = (attribs['signon_realm'],
                        attribs['username_value'],
                        attribs['action_url'],
                        attribs['username_element'],
                        attribs['password_element'],
                        )
            if item_def in item_set:
                sys.stderr.write("Warning: duplicate found for %r\n\n" % (item_def,))
            item_set.add(item_def)

    xml = items_to_firefox_xml(items)
    file(to_file, "w").write(xml)

def items_to_firefox_xml(items):
    doc = Element('xml')
    entries = Element('entries',
                      dict(ext="Password Exporter", extxmlversion="1.1", type="saved", encrypt="false"))
    doc.append(entries)
    for item in items:
        attribs = item['attributes']
        url = urlparse.urlparse(attribs['signon_realm'])
        entries.append(Element('entry',
                               dict(host=url.scheme + "://" + url.netloc,
                                    user=attribs['username_value'],
                                    password=item['secret'],
                                    formSubmitURL=attribs['action_url'],
                                    httpRealm=url.path.lstrip('/'),
                                    userFieldName=attribs['username_element'],
                                    passFieldName=attribs['password_element'],
                                    )))
    return lxml.etree.tostring(doc, pretty_print=True)

def get_item(keyring_name, id):
    try:
        item = gnomekeyring.item_get_info_sync(keyring_name, id)
    except gnomekeyring.IOError as e:
        sys.stderr.write("Could not examine item (%s, %s): %s\n" % (keyring_name, id, e.message))
        return None
    return {
        'display_name': item.get_display_name(),
        'secret': item.get_secret(),
        'mtime': item.get_mtime(),
        'ctime': item.get_ctime(),
        'attributes': gnomekeyring.item_get_attributes_sync(keyring_name, id),
        }


def fix_attributes(d):
    return {str(k): str(v) if isinstance(v, unicode) else v for k, v in d.items()}


def import_keyrings(file_p, file_name):
    keyrings = json.loads(file_p.read())

    for keyring_name, keyring_items in keyrings.items():
        try:
            existing_ids = gnomekeyring.list_item_ids_sync(keyring_name)
        except gnomekeyring.NoSuchKeyringError:
            sys.stderr.write("No keyring '%s' found. Please create this keyring first" % keyring_name)
            sys.exit(1)

        existing_items = [get_item(keyring_name, id) for id in existing_ids]
        existing_items = [i for i in existing_items if i is not None]

        for item in keyring_items:
            if any(items_roughly_equal(item, i) for i in existing_items):
                print "Skipping %s because it already exists" % item['display_name']
            else:
                nearly = [i for i in existing_items if items_roughly_equal(i, item, ignore_secret=True)]
                if nearly:
                    print "Existing secrets found for '%s'" % item['display_name']
                    for i in nearly:
                        print " " + i['secret']

                    print "So skipping value from '%s':" % file_name
                    print " " + item['secret']
                else:
                    schema = item['attributes']['xdg:schema']
                    item_type = None
                    if schema ==  u'org.freedesktop.Secret.Generic':
                        item_type = gnomekeyring.ITEM_GENERIC_SECRET
                    elif schema == u'org.gnome.keyring.Note':
                        item_type = gnomekeyring.ITEM_NOTE
                    elif schema == u'org.gnome.keyring.NetworkPassword':
                        item_type = gnomekeyring.ITEM_NETWORK_PASSWORD

                    if item_type is not None:
                        item_id = gnomekeyring.item_create_sync(keyring_name,
                                                                item_type,
                                                                item['display_name'],
                                                                fix_attributes(item['attributes']),
                                                                item['secret'],
                                                                False)
                        print "Copying secret %s" % item['display_name']
                    else:
                        print "Can't handle secret '%s' of type '%s', skipping" % (item['display_name'], schema)


if __name__ == '__main__':
    if len(sys.argv) == 3:
        if sys.argv[1] == "export":
            export_keyrings(sys.argv[2])
        if sys.argv[1] == "import":
            file_name = sys.argv[2]
            import_keyrings(file(file_name), file_name)
        if sys.argv[1] == "export_chrome_to_firefox":
            export_chrome_to_firefox(sys.argv[2])
    elif len(sys.argv) == 2 and sys.argv[1] == "import" and not sys.stdin.isatty():
        import_keyrings(sys.stdin, "stdin")

    else:
        print "See source code for usage instructions"
        sys.exit(1)

0

Оновлення за 2018 рік : Експорт LastPass просто створює власний файл CSV, який не сумісний з Firefox. Я якось вдалося це зробити, але у мене була стара версія Firefox на моїй машині для Windows, і я не знаю, чи є цілком можливо завантажити стару версію Firefox спеціально.

Сказавши це, я зробив:

  1. Встановіть Python, якщо у вас його немає
  2. Перейдіть до chrome і експортуйте всі паролі у файл csv (назвемо його mypass.csv ).
  3. Перемістіть його на робочому столі.
  4. Увійдіть із мого старого браузера Firefox
  5. Встановити експортера пароля (не працює для нової версії Firefox)
  6. Створіть новий файл за допомогою програми Notepad (Windows) або TextEdit (Mac), назвавши його file.py
  7. скопіюйте наступний фрагмент у новостворений файл:

    file="mypass.csv"
    print("""# Generated by Password Exporter; Export format 1.1; Encrypted: false
    "hostname","username","password","formSubmitURL","httpRealm","usernameField","passwordField" """ )
    # name, url, username, password
    for line in open(file):
        l=line.split(',')
        name = "https://" + l[0]
        url = l[1]
        username = l[2]
        password = l[3].strip()
        print('"'+name+'",'+'"'+username+'",'+'"'+password+'",'+ '"'+url+'",'+'"","",""')
    
  8. Відкрийте термінал, перейдіть в папку Desktop, запустіть python mypass.csv > firefox_pass.csv

  9. Відкрийте Firefox, перейдіть до розділу Безпека - & gt; Імпорт / експорт паролів (доступний лише для старої версії Firefox) - & gt; Імпортувати файл CSV - & gt; виберіть firefox_pass.csv на робочому столі

  10. Дозволити Firefox синхронізувати. Таким чином, всі інші пристрої Firefox (також новіші!) Синхронізуватимуть ваші паролі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.