-
-
Save calraith/5ea698d022dfe77d3927e75af7cdea75 to your computer and use it in GitHub Desktop.
# Copy your Tampermonkey storage.js into the same directory as this script. | |
# It'll extract the user scripts from storage.js and write them as .user.js files | |
# in the current working directory. | |
add-type -as System.Web.Extensions | |
$JSON = new-object Web.Script.Serialization.JavaScriptSerializer | |
$obj = $JSON.DeserializeObject((gc storage.js)) | |
foreach ($key in $obj.keys) { | |
foreach ($val in $obj[$key].value) { | |
if ($val -match "\r?\n//\s+@name\s+(.+)\r?\n") { | |
$val | out-file ("{0}.user.js" -f $matches[1]) | |
} | |
} | |
} |
TY so much!
I wish there was an upvote in github to let more users know about this!
@calraith Where is this so-called Tampermonkey storage.js file located? The one I found at %appdata%\Opera Software\Opera Stable\Extensions\dhdgffkkebhmkfjojejmpbldmpobfkfo\4.7.54_0\storage.js
is just 13 KB of JavaScript, not JSON. So I get the same error as @BangDroid and @Remonell.
@calraith Where is this so-called Tampermonkey storage.js file located? The one I found at
%appdata%\Opera Software\Opera Stable\Extensions\dhdgffkkebhmkfjojejmpbldmpobfkfo\4.7.54_0\storage.js
is just 13 KB of JavaScript, not JSON. So I get the same error as @BangDroid and @Remonell.
I guess this script did nothing. The actual scripts should be in User Data\Default\Local Extension Settings
and stored in db not some random storage.js.
My storage.js file begins like the following:
(function() { Registry.require(["promise"], function() { var f = rea.FEATURES,
JSONLint validator also tells me that the very first character is faulty. The open bracket.
@calraith How does your storage.js begin?