Jump to content

Mypal 68 in Windows XP - Custom Buttons and Extensions


Recommended Posts

11 hours ago, AstroSkipper said:

The perfect method to transfer custom search engines from one profile to another one is using the extension mozlz4-edit by copying the code of the desired, custom search engine entries from the file search.json.mozlz4 of the source profile and pasting it into the file search.json.mozlz4 of the target profile. Of course, the syntax and the structure of the search.json.mozlz4 file must be observed. I did it, and it works perfectly. :thumbup

Yup. Great tool. Unfortunately. after a few restarts (maybe a crash), the deleted items come back. That is why I keep a backpup of the cleaned up search.json, that I add on every launch to the profile (idem with extension.json (if yo hav a stable set of addons). Cheers!

 

Link to comment
Share on other sites


11 hours ago, dmiranda said:

Yup. Great tool. Unfortunately. after a few restarts (maybe a crash), the deleted items come back. That is why I keep a backpup of the cleaned up search.json, that I add on every launch to the profile (idem with extension.json (if yo hav a stable set of addons). Cheers!

 

I can't confirm any crashes or problems after editing the file search.json.mozlz4 using the extension mozlz4-edit:no: What I have edited remains the same no matter how often I restart Mypal 68. :P Actually, there is no need to add anything to the profile when launching. If so, your installation or your profile is presumably faulty. :dubbio: But keeping backups is always a good idea. :thumbup

Edited by AstroSkipper
Update of content
Link to comment
Share on other sites

13 hours ago, AstroSkipper said:

I can't confirm any crashes or problems after editing the file search.json.mozlz4 using the extension mozlz4-edit.

Neither do I. What I say is that upon a crash (due to media overload or other reasons) happens, though, on restart, when I care to check, I ussually find breave, mokkej, ddg and qwant back in extensions.ini and search.json.mosl4.  Something in the process of recreating these files puts them back in. Normal behavior in modern (or more or less modern browsers). Cheers

Link to comment
Share on other sites

20 minutes ago, dmiranda said:

Neither do I. What I say is that upon a crash (due to media overload or other reasons) happens, though, on restart, when I care to check, I ussually find breave, mokkej, ddg and qwant back in extensions.ini and search.json.mosl4.  Something in the process of recreating these files puts them back in. Normal behavior in modern (or more or less modern browsers). Cheers

Ok! That's indeed a normal behaviour of modern Firefox versions. In any case, all added, custom search engines remain the same after restarting Mypal 68 if nothing bad or unusual happens.

Link to comment
Share on other sites

22 hours ago, dmiranda said:

Unfortunately. after a few restarts (maybe a crash), the deleted items come back.

I read your statement again. Now, I think I have understood what you have done. suisjebete.gif You deleted one or more of the four search engines Brave, Qwant, DuckDuckGo and Mojeek in the file search.json.mozlz4, with which Mypal 68.13.7b is now delivered by @feodor2 as default, by using the extension mozlz4-edit. That doesn't work, of course. :no: The easiest way to get rid of them is removing them in the Options dialogue of Mypal 68. If you do so, they will remain hidden until you restore the default settings one day. :P 

Edited by AstroSkipper
Link to comment
Share on other sites

58 minutes ago, AstroSkipper said:

You deleted one or more of the four search engines Brave, Qwant, DuckDuckGo and Mojeek in the file search.json.mozlz4, with which Mypal 68.13.7b is now delivered by @feodor2 as default

I also deleted them from extensions.ini. However, on a crash (leading to a rebuild of said items) they comeback. In search.json, they remain hidden (but are there). In extensions.ini they also comeback, active (as seen in about:support). I don't think this is feodoer's making. It is the stock mozilla. I haven't yet found the root for this re-creation.

Link to comment
Share on other sites

As per the registry items at HKEY_USERS\S-yourpresonalregistryhive\Software\Theodor2, you can delete them and then they recreated with no value (which I prefer, telemetry wise). I'd personally would like to get rid of the source of it, that has nothing to do with feodoro2, but with mozilla's learning of spyware from chrome.

Link to comment
Share on other sites

28 minutes ago, dmiranda said:

I also deleted them from extensions.ini. However, on a crash (leading to a rebuild of said items) they comeback. In search.json, they remain hidden (but are there). In extensions.ini they also comeback, active (as seen in about:support). I don't think this is feodoer's making. It is the stock mozilla. I haven't yet found the root for this re-creation.

The default search engines are inside the second omni.ja file in the subfolder browser. The exact location in this special archive file is chrome/browser/search-extensions. From there, Mypal 68 can restore its default search engines if necessary.

Edited by AstroSkipper
Link to comment
Share on other sites

44 minutes ago, AstroSkipper said:

I don't think this is feodoer's making. It is the stock mozilla. I haven't yet found the root for this re-creation.

The current selection of standard search engines can only have been made by the developer of Mypal 68 who is of course @feodor2. Compared to his previous versions of Mypal 68, the available search engines have changed from time to time which was also discussed in the issues of Mypal 68. However, the process of restoring these available, default search engines is of course an original Firefox feature.

Edited by AstroSkipper
Update of content
Link to comment
Share on other sites

On 12/14/2023 at 1:22 PM, NotHereToPlayGames said:

Agreed!

I've been of the same thought for the past couple of years.  I heavily modify my Serpent 52 and the ability to modify-to-liking 360Chrome is why I don't see myself ditching either it or Serpent 52 for a very long time.

Since I'm normally on Win10, I don't use Serpent there, but I've also ditched Basilisk and didn't come back to it even after its development was taken over. Just don't like having to use huge extension to revert that Australis mess of UI to how it was before, and even with CTR addon, I remember there were quirks. Didn't even Tobin say at some point Australis GUI code is a mess of spaghetti code?

Still, regardles whether you use Pale Moon/New Moon/Basilisk/Serpent/whatever, it's still plagued by issues everyone complained about back before Mozilla radically the overhauled browser. It's like tweakability has to come with CPU usage spikes, memory leaks, sluggishness with prolonged use.

No one suffers with these issues while browsing the web...Chromium has minimal customization as far as browser behavior goes, but basics just work. Though considering existence and performance of Vivaldi, it doesn't have to be either one or another.

Edited by UCyborg
Link to comment
Share on other sites

3 hours ago, UCyborg said:

Since I'm normally on Win10, I don't use Serpent there, but I've also ditched Basilisk and didn't come back to it even after its development was taken over. Just don't like having to use huge extension to revert that Australis mess of UI to how it was before, and even with CTR addon, I remember there were quirks. Didn't even Tobin say at some point Australis GUI code is a mess of spaghetti code?

Athough your post is actually quite off-topic in my thread about Mypal 68 :dubbio:, I can't agree with your judgement of Serpent. The CTR extension, which is available in a special version for Serpent, works perfectly and transforms a lot in this browser as it used to be. And of course, there is also the possibility to change the look and functionality of Serpent considerably via userChrome.css or scripts. Not to mention the many other extensions that exist for this browser. spanachee.gif

Edited by AstroSkipper
Link to comment
Share on other sites

1 hour ago, UCyborg said:

No doubt that you can.

smilie_e_004.gif

1 hour ago, UCyborg said:

BTW, you're still a KeePass user, right? Do you use any extension in Mypal 68 to connect to KeePass?

Of course, I have been using KeePass for many years and still do so in these days. In Mypal 68, I use the extension Kee (formerly KeeFox). It does its job as advertised. Here is a link: https://addons.mozilla.org/en-US/firefox/addon/keefox/

Link to comment
Share on other sites

Yes, I know it, 'been using it for a long time, though I've recently gravitated towards KeePassXC-Browser extension on browsers supporting web extensions. Its specialty, it supports filling one time passcodes. It requires KeePassNatMsg plugin, its configuration is very similar to the old KeePassHttp plugin, but it also downloads separate .exe as the communication mechanism uses Native Messaging Host.

On XP x64, I had to modify the plugin to not request TLS 1.2 as XP x64 doesn't do TLS 1.2 and normal XP x86 doesn't either unless you do POSReady 2009 Updates. Presumably the following isn't required if you have an update that adds TLS 1.2. When you download the ZIP with source code from GitHub, you just have to extract KeePassNatMsg folder, inside you open /NativeMessaging/NativeMessagingHost.cs, where you have to modify this piece of code:

protected NativeMessagingHost()
{
    // enable TLS 1.2
    System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)3072;
}

I changed it like so:

protected NativeMessagingHost()
{
    // enable TLS 1.2 if possible
    try
    {
        System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)3072;
    }
    catch
    {
    }
}

Also changed:

public Version GetLatestProxyVersion()
{
    var web = new System.Net.WebClient();
    var latestVersion = web.DownloadString(string.Format("{0}/raw/master/version.txt", GithubRepo));
    Version lv;
    if (Version.TryParse(latestVersion, out lv))
    {
        return lv;
    }
    return null;
}

To:

public Version GetLatestProxyVersion()
{
    try
    {
        var web = new System.Net.WebClient();
        var latestVersion = web.DownloadString(string.Format("{0}/raw/master/version.txt", GithubRepo));
        Version lv;
        if (Version.TryParse(latestVersion, out lv))
        {
            return lv;
        }
    }
    catch (Exception ex)
    {
         MessageBox.Show(ParentForm, "An error occurred attempting to check for the latest version of the proxy application:" + Environment.NewLine + ex.ToString(), "Proxy Version Check Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    return null;
}

The latter doesn't really help setting things up, just outputs an error message in case of error connecting to GitHub rather than crashing KeePass. Then you just follow the procedure at https://keepass.info/help/v2_dev/plg_index.html to build PLGX file. You basically just have to call KeePass.exe from command-line to build PLGX file, using parameter --plgx-create with the full path to KeePassNatMsg folder with plugin source code should suffice. I was in the folder with KeePassNatMsg and called KeePass from there, just in case as it should be a sure way for *.plgx file to end up in the same folder where you have the folder with source code.

Then you install .*plgx file as usual, placing it in C:\Program Files\KeePass Password Safe 2\Plugins (or wherever you have KeePass) folder and launching KeePass, then you can configure it through Tools->KeePassNatMsg Options... and install Native Messaging Host. Any time you open dialog, it connects to GitHub to check for updates for the host *.exe, you must have working TLS 1.2 on the OS level, on XP x64 at least, it'll only work through proxy like Proxomitron to handle encrypted connection.

While this was sufficient to get KeePassXC-Browser extension working on Chrome 115 XP backport everyone's talking about these days, I couldn't get the Firefox extension running, I modified its manifest.json to require lesser version of Firefox, it's set at 96.0, I put it at 68.0 (which I'm not sure if it's accurate, even with the following patches...), then copied Object.hasOwn polyfill at the beginning after 'use strict'; line in few files inside background folder that have a reference to Object.hasOwn. This got the options dialog running, but it complains about inability to encrypt the message and asks if KeePassXC is running.

The polyfill was put in:

  • /background/events.js
  • /background/keepass.js
  • /background/page.js

The polyfill itself:

if (!Object.hasOwn) {
  Object.defineProperty(Object, "hasOwn", {
    value: function (object, property) {
      if (object == null) {
        throw new TypeError("Cannot convert undefined or null to object")
      }
      return Object.prototype.hasOwnProperty.call(Object(object), property)
    },
    configurable: true,
    enumerable: false,
    writable: true
  })
}

There should be a better place to put it in, but that can be figured out after changing whatever is required to get the core functionality working.

Edited by UCyborg
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...