Guest User

Script for editing Firefox bookmarklets

a guest
Jan 14th, 2022
437
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. REM Script for editing Firefox bookmarklets
  2. @echo off
  3. echo.
  4.  
  5. set bookmarkId=%1
  6. if [%bookmarkId%] NEQ [] GOTO EditBookmark
  7.  
  8. REM --- READ AND SHOW BOOKMARKLETS FROM FIREFOX SQLITE DB
  9. echo !!! Replace USERNAME on the next line and delete this one
  10. set placesDb=C:\Users\USERNAME\AppData\Roaming\Mozilla\Firefox\Profiles\zyp8ydid.default\places.sqlite
  11. sqlite3 %placesDb% " select substr('  ' || b.id || '             ', 1, 12), b.title, k.keyword from moz_bookmarks b left join moz_keywords k on b.fk = k.place_id left join moz_places p on p.id = b.fk where p.url like 'javascript:%%' order by b.title;"
  12.  
  13. REM --- ASK BookmarkId
  14. echo.
  15. set bookmarkId=
  16. set /p bookmarkId="Enter Bookmark ID: "
  17. if [%bookmarkId%] == [] GOTO End
  18.  
  19. :EditBookmark
  20.  
  21. REM --- READ place id AND url from FIREFOX DB
  22. sqlite3 %placesDb% " select p.id from moz_bookmarks b left join moz_places p on p.id = b.fk where b.id = %bookmarkId%"> bookmarklet-tmp.id
  23. set /p placeId=<bookmarklet-tmp.id
  24. del bookmarklet-tmp.id
  25. sqlite3 %placesDb% " select p.url from moz_bookmarks b left join moz_places p on p.id = b.fk where b.id = %bookmarkId%"> bookmarklet-tmp.js
  26. set /p url=<bookmarklet-tmp.js
  27.  
  28. REM --- CLEAR CODE (javascript:, %20, % 20)
  29. powershell -Command "(gc bookmarklet-tmp.js) -replace '%%20', ' ' | Out-File -encoding ASCII bookmarklet-tmp-1.js"
  30. powershell -Command "(gc bookmarklet-tmp-1.js) -replace '%% 20', ' ' | Out-File -encoding ASCII bookmarklet-tmp.js"
  31. powershell -Command "(gc bookmarklet-tmp.js) -replace 'javascript:', '' | Out-File -encoding ASCII bookmarklet-tmp-1.js"
  32. del bookmarklet-tmp.js
  33. ren bookmarklet-tmp-1.js bookmarklet-tmp.js
  34.  
  35. REM --- BACKUP ?
  36. REM copy bookmarklet-tmp.js bookmarklet-bak.js
  37.  
  38. REM --- BEAUTIFY, EDIT AND MINIFY AGAIN
  39. js-beautify -x bookmarklet-tmp.js> bookmarklet-tmp-pretty.js
  40. call vim bookmarklet-tmp-pretty.js
  41. echo|set /p=javascript:> bookmarklet-tmp.js
  42. js-beautify -s 0 -e "" -c "" bookmarklet-tmp-pretty.js>> bookmarklet-tmp.js
  43. powershell -Command "(gc bookmarklet-tmp.js) -replace 'javascript: ', 'javascript:' | Out-File -encoding ASCII bookmarklet-tmp-1.js"
  44. del bookmarklet-tmp.js
  45. ren bookmarklet-tmp-1.js bookmarklet-tmp.js
  46.  
  47. REM --- PRINT RESULT AND COPY TO CLIPBOARD
  48. cls
  49. echo.
  50. cat bookmarklet-tmp.js
  51. cat bookmarklet-tmp.js|clip
  52. echo.
  53.  
  54. REM !!! NOR WORKING !!! --- CALCULATE HASH AND UPDATE FIREFOX DB
  55. REM // https://gist.github.com/boppreh/a9737acb2abf015e6e828277b40efe71
  56. REM python firefox-url-hash.py bookmarklet-tmp.js> bookmarklet-tmp.hash
  57. REM set /p urlHash=<bookmarklet-tmp.hash
  58. REM del bookmarklet-tmp.hash
  59. REM echo sqlite3 %placesDb% " update moz_places set url = readfile('bookmarklet-tmp.js'), url_hash = %urlHash% where id = %placeId%; "
  60. REM del bookmarklet-tmp.js
  61. REM del bookmarklet-tmp-pretty.js
  62.  
  63. :End
Advertisement
Add Comment
Please, Sign In to add comment