Chromium vagy Chrome jelszavak átvétele Firefox-ba

Ha csak egy egyszerű keresést hajtunk végre az interneten azt illetően, hogy hogyan lehet Chrome vagy Chromium böngészőből a jelszavakat Firefox-ba átvinni, angolul közel 2 millió eredményre, magyarul kb. 200.000 eredményre lelünk, 99%-ban azonban a találatok csak arról szólnak, hogy valahol, valamikor, valaki már felvetette a kérdést, hogyan lehet Chrome-ból, vagy annak nyílt forráskódú változatából a jelszavakat exportálni, majd Firefox valamilyen változatában importálni.



Chrome vagy Chromium jelszavak és
felhasználónevek átvétele Firefox-ba

Jelen pillanatig, az itt, általam ajánlott megoldás előtt, csak részmegoldások születtek, amelyeknek használatához több lépés, több program használata, esetenként több órás bütykölés, törekvés, magyarán mondva, kínlódás szükséges ahhoz, hogy a Chrome böngésző jelszavakat lehessen átvinni firefox-ba, és a megoldások - még azok a nehezek is - kizárólag csak angol vagy más idegen nyelven íródtak.

Minden olyan felhasználó, akár egyszerű alapszintű internetező is, aki több ideje használja a Chrome vagy Chromium böngészőt, tudja, hogy valamikor, pl. 3 évvel ezelőtt, egy csodálatosan gyors, felhasználóbarát böngésző volt, de ahogy az idő múlt-telt, a Chromium és a Chrome is egy egyre erősebb processzort, egyre több memóriát, egyre újabb gépet követelő böngésző lett, amivel a közember a régebbi gépén lassacskán nem tud semmire se menni, egyes oldalak egyenesen bezáródnak, bizonyos helyekre, megszokott weblapokra rá sem lehet menni, más lapok pedig csak részlegesen, vagy hibásan nyílnak meg, az állandó automatikus frissítése, háttérben egyre agresszívebben beékelődő folyamatai pedig lassítják, butítják a gépet, még lezárt böngészővel is.

A megoldás, legtöbb esetben, csakis egy másik böngésző használata marad, mert megfelelő beállítási, személyreszabhatósági lehetőségek nélkül, jelszavak és felhasználónevek exportálási lehetősége nélkül a Chrome vagy Chromium böngészők mai változatai csak terhet jelentenek - sajnos - úgy a felhasználók, mint a számítógépeik számára.

Az itt ajánlott megoldás legelső sorban LINUX alapú számítógépek felhasználóinak szól, a műveletek végrehajtásához szükséges programok egyelőre windows környezetben nem elérhetőek, DE !!! semmi gond valójában, mert egy linux rendszerindító lemez segítségével minden további nélkül végrehajthatóak, telepítés nélkül, windowszon való végrehajtás esetében azonban lehet, hogy szükség van egy átlagosnál nagyobb hozzáértéssel rendelkező szakemberre, míg linux környezetben, az egyszerű felhasználói ismeretek, talán elegendőek hozzá.


Az alábbi parancsok debian/ubuntu/linux mint/peppermint/kiwi linux/easy peasy, stb. alapú linux rendszereken minden további nélkül végrehajthatóak, de tudomásom szerint red hat/fedora/suse stb. alapú rendszereken is meg van a lehetőség rá.

Az alábbi megoldás a chrome/chromium jelszavak és felhasználónevek exportálására, és utólag, a firefox-ba való átvételükre feltételezi, hogy a linux parancsok végrehajtásában, terminálban, ismeretes vagy ! Nem kell magas színtű rendszergazdai ismereted legyen, de ismerned kell a terminál és a linux parancssor környezetet.

Első sorban, tudni kell, hogy a chromium jelszavak egy nem ilyen módon megjelölt, de Sqlite alapú adatbázisban vannak tárolva. Ezeknek exportálása egy CSV vagy szöveg típusú file-ba nem nehéz feladat, feltéve, hogy az exportálási műveletet annak a felhasználónak a terminálba való belépésével hajtjuk végre, akinek a felhasználó fiókja alatt levő chromium jelszavait akarjuk átvenni utólag firefox-ba (vagyis, ha a linux desktop-ba való bejelentkezéskor "user1"- ként jelentkezel be, ezzel a "user1"-el kell belépned a terminálba is, hogy megszerezhesd a jelszavakat)

Másodsorban, tudni kell, hogy a Chromium/Chrome böngészők NEM szinkronizálnak rendszeresen az online tárhelyekkel, tehát, előbb rá kell kényszeríteni a böngészőt arra, hogy egy teljes szinkronizálást az online és a helyi tárhely között létrehozzon.


Ehhez előszőr győződjünk meg, hogy a böngészőnek NINCSENEK háttérben futó folyamatai. Ha vannak engedélyezett folyamatai, akkor a Gnome2-ben, Mate-ben, Cinnamon-ban, KDE-ben, XFCE-ben, ha jól be van a környezet állítva, az értesítési területen megjelenik a böngészőnek egy ikonja, amire ha ráhelyezzük (nem kattintunk, csak ráhelyezzük !) az egérkurzort, megjelenik az értesítés, miszerint a böngésző háttérfolyamatai a böngésző utolsó ablakának bezárása után is futhatnak.

Ha megvan ez az ikon az értesítési területen ("notification area"), akkor kattintsunk rá a jobb egérgombbal, és kapcsoljuk ki a háttérfolyamatok engedélyezését, majd kattintsunk ismét és válasszuk a kilépést. Várnunk kell majd ismét pár másodpercet, hogy a merevlemez a még kilépőben levő háttérfolyamatokat, gyorsítótárat, stb. fizikailag kiírja a merevlemezre, és a böngésző összes folyamatát lezárja.

Ajánlatos a terminálban ellenőrizni, pl.

ps xa | grep chrom

(szándékosan nem e-vel a végén, nem "chrome", hogy a chrome-ot is, a chromium-ot is "kihalászza")

vagy hasonló paranccsal, hogy csakugyan bezáródott az összes böngészőfolyamat.

Utána, kényszerítsük a szinkronizálást az alábbi paranccsal:

/usr/bin/chromium-browser %U –password-store=basic

Ezt lehet akár a futtatás parancs ablakba (pl. Gnome2 környezetben vagy Mate-ben, ALT+F2)  beírni, vagy direkt a terminálba (persze a grafikus felületből indított terminálba !). A böngésző elindulásával elkezdődik a szinkronizálás is, és ha van lehetőség a merevlemez tevékenységét jelző LED kijelzőt követni, a jelszavak és felhasználónevek mennyiségétől, netkapcsolat sebességétől, stb. függően, eltarthat egy ideig. Ajánlatos és érdemes kivárni a folyamatot, amíg a szinkronizálás folyik, NE CSINÁLJUNK SEMMI EGYEBET a böngészővel, nem szabad böngészni, beállítgatni, stb.

Pár perc után zárjuk be ismét a böngészőablakot és győződjünk meg róla, hogy a böngészőhöz tartozó háttérfolyamatok mind bezáródtak. NE ZÁRJUK le "kill" vagy hasonló paranccsal a böngésző folyamatait, mert az az adatbázisait használhatatlan állapotba helyezi. Várjuk meg a folyamatok végét.

Miután a folyamatok bezáródtak, ellenőrizzük az sqlite létezését, pl.
sqlite3 és enter, vagy man sqlite3 parancsokkal.
Ha belépett az interaktív sqlite3 parancsvonal, .exit (pont és exit egymás után, szünet nélkül), és enterrel lehet kilépni belőle.

Ha nincs telepítve, akkor telepíteni kell pl.
sudo apt-get install sqlite3
vagy hasonló paranccsal, linux disztribúciótól függően.

Ha megvan az sqlite-unk, akkor az exportáláshoz ajánlatos egy teljesen különálló könyvtárat létrehozni erre a célra, pl. "chrpassbackup", vagy "jelszoexport" vagy valami hasonlót, és lépjünk abba a könyvtárba a további parancsok végrehajtásához.

Terminálban:

mkdir jelszoexport
cd jelszoexport

Lemásoljuk a böngésző adatbázisát, hogy semmiképp ne azon dolgozzunk az sqlite-al, hanem egy másolaton, a következő paranccsal:


cp ~/.config/chromium/Default/Login\ Data ./logins.sqlite

Ezzel most van egy logins.sqlite adatbázisunk amiben benne van minden felhasználónevünk és jelszavunk. Exportáljuk a jelszavakat az alábbi paranccsal:

sqlite3 -noheader -csv -separator ‘,’ logins.sqlite “SELECT * FROM logins” >logins.txt

Ezzel most van egy "logins.txt" nevű file-unk, a megfelelő tartalommal, és ezen a file-on fogunk végrehajtani egy PHP szkriptet, hogy a Firefox által értelmezhető jelszó és felhasználónév-páros XML formátumba alakítsuk. A php parancsfile azonban NEM BÖNGÉSZŐBEN, hanem ugyancsak a terminál parancssorában kell végrehajtani, tehát a php-cli* csomag (valamilyen verziószámú php parancsvonal értelmező) kell legyen telepítve. Ha nincs telepítve, telepítsük pl.

sudo apt-get install php5-cli

vagy

sudo apt-get install --install-recommends --fix-missing php5-cli

paranccsal.

Ha már van php, az alábbi kód tartalmat mentsük le pl. parse_me.php néven
---- php file tartalma innen ----
<?php
#betöltjük a logins.txt file-t halmazként
$lines=file(‘logins.txt’);
#átfésüljük és összevonjuk a többször megjelenő vonalakat/értékeket
$lines=array_unique($lines);
#létrehozunk egy új, firefox által majd értelmezhető XML file-t
#figyelem ! hagyjuk az ANGOL KIFEJEZÉSEKET ANGOLUL !!!!
$handle=fopen(“chromium_pass_export.xml”,”w+”);
$passex_header=’<xml>’ . “\n” . ‘<entries ext=”Password Exporter” extxmlversion=”1.1″ type=”saved” encrypt=”false”>’ . “\n”;
fwrite($handle,$passex_header);
#betöltjük a halmaz elemeit és kezdjük átrendezni és exportálni
foreach($lines as $key => $value)
{
#minden string_value egy sor, ami ‘,’ jellel feldarabolható !
$array=explode(“,”,$value);
#kezdjük összerakni az új szöveghalmazokat és kezdjük beírni az új file-ba
$newline=’<entry host=”‘;
$thehost = str_replace(“=”,”%3d”,$array[0]) ;
$thehost = str_replace(“&”,”%26″,$thehost);
$newline .= $thehost . ‘”‘;
if(empty($array[3]) || $array[3]==’”"‘)
{
$newline .=’ user=”"‘ ;
}
else
{
$newline .=’ user=”‘ . str_replace(‘”‘,”,$array[3]) . ‘”‘;
}
if(empty($array[5]) || $array[5]==’”"‘)
{
$newline .=’ password=”"‘;
}
else
{
$newline .=’ password=”‘ ;
$thepass=str_replace(‘”‘,”,$array[5]) ;
$thepass=str_replace(“%”,”%25″,$thepass);
$thepass=str_replace(“&”,”%26″,$thepass);
$newline .= $thepass . ‘”‘;
}
if(empty($array[1]) || $array[1]==’”"‘)
{
$newline .=’ formSubmitURL=”"‘;
}
else
{
$newline .=’ formSubmitURL=”‘;
$theurl= str_replace(“=”,”%3d”,$array[1]) ;
$theurl = str_replace(“&”,”%26″,$theurl);
$newline .= $theurl . ‘”‘;
}
$newline .=’ httpRealm=”"‘;
if(empty($array[2]) || $array[2]==’”"‘)
{
$newline .=’ userFieldName=”"‘;
}
else
{
$newline .=’ userFieldName=”‘ . str_replace(‘”‘,”,$array[2]) . ‘”‘;
}
if(empty($array[4]) || $array[4]==’”"‘)
{
$newline .=’ passFieldName=”" />’ . “\n” ;
}
else
{
$newline .=’ passFieldName=”‘ . str_replace(‘”‘,”,$array[4]) . ‘” />’ .”\n”;
}
fwrite($handle,$newline);
}
$passex_footer=’</entries>’ . “\n” . ‘</xml>’;
fwrite($handle,$passex_footer);
fclose($handle);
?>
 ---- php file tartalma idáig ----

Namost, néhány fontos megjegyzés: első sorban, az epxortált mezők, elnevezések SORRENDJE és NEVE kötelező, hogy úgy legyen, ahogyan a szkript-ben van, mert ellenkező esetben, a firefox azon kiegészítője, amely majd be tudja a jelszavakat importálni, nem fogja felismerni. Másodsorban, a egyes URL értékeket tartalmazó mezők megfelelő kódolása (pl. & jel helyett %26, stb.) is kötelező, mert ezek nélkül nem lesz a célfile az illető jelszókezelő kiegészítő által elvárt XML standardnak megfelelő, és nem lehet importálni. Tehát, be kell a szkriptben látható formátumot tartani !

Ha lementettük a parse_me.php  file-unkat, akkor futtassuk a következő parancsot a terminálban - persze ugyanabban könyvtárban, ahol voltunk , ahol az exportált szövegfile-unk található ! - :

php parse_me.php

Processzor sebességtől, jelszavak mennyiségétől, stb. függően, eltarthat egy ideig :)
A Firefox beállításaiban - az angol nyelvű felületen -
itt található és így néz ki, a megfelelő kiegészítő telepítése után,
a jelszavak exportáló és importáló gombja. A helye magyar felületen is
ugyanitt lesz, csak ... magyarul
(Ez inkább vicc volt, az én esetemben, egy nem túl erős Celeron procis gépen, 400 jelszóval és felhasználónévvel mindössze 1 másodpercet sem tartott !)

Amint a prompt visszatért a terminálba, az XML file-unk készen van, és telepíthetjük a firefox-ban a megfelelő eszköztárat az importálásukra.

Indítsuk el a firefox böngészőt, majd hívjuk elő a kiegészítőkezelőt CTRL+SHIFT+A billentyűkombinációval vagy az "eszközök-kiegészítők" menüből. Keressünk rá a "password exporter" kiegészítőre vagy menjünk egyenesen az illető kiegészítő honlapjára a mozillánál, IDE

Telepítsük teljes bizalommal, ha még nincsen böngészőnkben telepítve, indítsuk újra a böngészőt, és a beállítások ablakunk biztonság fülében megjelenik most már egy jelszavak exportálása/importálása gomb is. Kattintsunk erre a gombra, majd a megjelenő dialógus ablakban válasszuk a jelszavak importálása funkciót, böngésszünk gépünkön abba könyvtárba, amelyet a cikk eleje fele létrehoztunk erre a célra, válasszuk az ímént elkészített XML  file-t és importáljuk.

Pár másodpercen belül rendelkezésünkre fog állni firefox-ban, az összes olyan jelszó és felhasználónév, amely chrome-ban vagy chromium-ban is rendelkezésünkre állt.

Természetesen, a fentebbi szkriptek, parancsok, a megoldás tovább tökéletesíthető, pl. a parancsok is egy bash szkriptbe menthetőek, mint pl. az alábbi 3 sort

cp ~/.config/chromium/Default/Login\ Data ./logins.sqlite
sqlite3 -noheader -csv -separator ‘,’ logins.sqlite “SELECT * FROM logins” >logins.txt
php parse_me.php

lementhetjük pl. egy "get_chr_pass" bash szkript-be, és végrehajthatóvá tesszük

chmod +x get_chr_pass

paranccsal, s akkor, továbbvihetővé válik, és más gépen is egyszeri végrehajtásával, megoldottuk a jelszavak exportálását és az XML file megalkotását, majd utólag firefoxban telepítjük az illető kiegészítőt és importálunk.

Ha meg direkt a 2 file-t akarja valaki letölteni, aminek segítségével az itt, fentebb leírtakat, mind végre tudja hajtani, itt vannak a hivatkozások, a saját, angol nyelvű blogom tárhelyén.

Figyelem !!!  NE BAL GOMMBAL KATTINTSUNK rájuk !!! Jobb-klikk, és mentés más néven, vagy hivatkozás mentése mint... ellenkező esetben, nem lesz belőle letöltés :)


get_chr_pass

parse_me.php

Remélem, a megoldás sok embertársamnak segítségére lesz. Ha bármilyen kérdésed merül fel, kedves olvasó, nem sikerül valamilyen okból a fentebb leírtakból valami, elakadsz, segítségre van szükséged, hagyj egy kommentárt és amint tehetem, válaszolok, és megpróbálok segíteni.

Nem utolsó sorban pedig, ha sikerültek a műveletek, és belátod, hogy hasznodra volt, oszd meg ezt a cikket barátaiddal, ismerőseiddel, rokonaiddal, facebookon, google pluszon, twitteren, stb., hogy másnak is hasznára válhasson.

Várom a hozzászólásokat, véleményeket, a kommentárdobozban !

Keresés ebben a blogban