I have to use a certain Chrome extension for work and it is able to detect other extensions that I have installed. I really need to use another extension but my work extension is able to detect it and won't let me work. It's just a ridiculous rule and I was wondering if there is anyway around it. Is there anyway to block extensions from detecting other extensions that I have installed?
Related
I have some Chrome extensions installed and I can use them fine in normal run.
But when I use Selenium to drive Chrome to a page, I see "Chrome is being controlled by automated test software." and I don't have access to those extensions that I have installed. What are some easy ways to have access to the extensions in this kind of scenario? Is there some setting in Chrome perhaps that enables extensions in every mode?
Yes, there are a series of flags you'r need to set up to achieve that.
You can also simply use Selenium-Profiles or undetected-chromedriver for that. Those libraries additionally are undetected by sites like cloudfare and google.
Background
I've been using the crx-hotreload package to auto-reload my chrome extensions during development because it's annoying to have to click the refresh button on the Extensions page every time you make a change; however, this package doesn't work with MV3 because it uses the chrome.runtime.getPackageDirectoryEntry method, which seems to have been removed from chrome.runtime in MV3. I can't find documentation to confirm that it was removed, but it's not there when I try to use it.
Questions
Does anyone know how to get access to all the files in the extension directory in Chrome Extension Manifest Version 3?
Or generally, is there a better way that I can hot-reload my chrome extensions during development that would work for MV3?
This is one of many things based on DOM capabilities of background pages that are removed from ManifestV3 because service workers don't have DOM. For example, getPackageDirectoryEntry is using the old nonstandard FileSystem API in its returned value.
As to why, apparently the switch to service workers simplifies the internal source code in Chromium, even if it doesn't provide any real improvements for extension authors or users.
At this point all you can do is present a convincing use case and ask Chromium developers via https://crbug.com to implement an alternative API.
Everybody can download chrome extension, edit and reupload, how i can protect my chrome extension and what i need to do if i see someone reupload my chrome extension?
You can't bulletproof-protect it. The only thing you can reasonably guarantee to be unique is the extension ID for published items - but any checks you would do against it can be circumvented.
It's not a technical problem. It's a social/legal problem.
If you see someone doing it, you should use the Report Abuse function of the Web Store.
What other does is to load the "actual" code of their extension remotely (via CDN)
The code that is packaged with chrome extension just act as loader or their "real" extension code.
See Streak's InboxSDK (sdk to build chrome extensions for gmail). It uses the same concept. https://www.inboxsdk.com/docs/
I'm diving into the world of Chrome Extension development, primarily because there is a very small feature that is missing in Chrome that I miss dearly. The context-menu option to "Set as background/wallpaper" like that found in Firefox. Sounds trivial, but it's convenient.
I have most of the "basic" stuff worked out with the manifest file, am able to install it, even managed to get it to show up as a context menu item.
The problem obviously is that I am wanting to mess with a user's OS-level settings which is extremely difficult because of security issues (fully understand this).
I found an extension that allowed this in older versions of Chrome, and it looked like the developer used some type of .dll and C++ to accomplish this.
I'm not really sure how to make this work.
Since that Chrome doesn't allow these kind of manipulations (such as your PC's settings), you will need to create a native application that will run beside your extension. When the user chooses the image from your extension and selects "use as wallpaper", you will use the native messaging API to send a message to your desktop application, that will set the wallpaper (and do whatever else you can't do within a chrome extension) for you.
You can use the chrome.wallpaper app api to set the wallpaper after using the messaging api to send the image from your extension.
I have built an extension for all four major browsers like firefox(.xpi), chrome(.crx),
safari(.safariextz) and IE(.exe). I am able to install these extension separately. But I need one setup for all four extension. Can anybody guide me how to create one setup project for all four extensions?
You can use any kind of installer to perform this task.
On Windows I use NSIS it has functions/plugins that allow you to write to registries, manipulate files, detect Browser versions etc. Which are basically the only things you need to install a browser extension