Chrome stopped support for NPAPI. We are using plug-ins that used NPAPI to run cmd commands from web browser but now its not working on chrome.
I want to know if there are any alternatives to NPAPI for opening windows cmd or communicating with windows file system from client browser.
First, this is a really bad idea. A really bad idea. I really hope you mean that it was used to execute very specific applications, and not just arbitrary commands.
Second, FireBreath2 is in the works (firebreath's refactor branch) and uses native messaging on chrome to allow things similar to what many plugins did, including this application. Please don't use it to do bad things.
Related
We're having some issues running our Electron-based app on Debian 10 as it uses Chrome runtime, Chrome requires its sandbox to run and, on defaults, Chrome sandbox won't run on Debian.
Surely, basic solution would be to run without sandbox on Debian, but that option has massive security risks that I'm not comfortable with.
There are other options. The one described in Electron docs and oh so many tutorials is enabling kernel.unprivileged_userns_clone flag:
echo kernel.unprivileged_userns_clone = 1 | sudo tee /etc/sysctl.d/00-local-userns.conf
Supposedly that how it works on other desktop distributions, like Ubuntu. Yet there still are security risks that I just don't fully understand. So far I've found several relevant discussions:
https://lwn.net/Articles/673597/
https://forum.mxlinux.org/viewtopic.php?t=54591
But I'm failing to grasp what exactly is the tradeoff here. How does enabling unprivileged_userns_clone affect security? What are these risks exactly? Are there better options to run Chrome sandbox on Debian securely (as we are stuck with it)?
I am writing code that will be deployed to a server. Right now I have to upload the code each time I change it. Is there any way to edit the code live on the server in Visual Studio code?
As there are some extension in the editor who provide that function this can be done in VS Code very simple. Just search in extensions for Keyword 'FTP' ...
Two Examples:
https://marketplace.visualstudio.com/items?itemName=humy2833.ftp-simple
https://marketplace.visualstudio.com/items?itemName=lukasz-wronski.ftp-sync
Both are very popular.
At the moment I personally use FTP-Simple. But have a look on your own. It depends on the things you wonna do. And don't worry ... it's a little bit tricky at the beginning to figure out how to setup and how they work ... but when you are in it works fine.
It depends what hosting you are deploying to. You can SSH into your server with most providers and use a command line editor such as nano or vim. Keep in mind, this won't keep the version on your computer up to date and the changes will be overwritten if you redeploy. Alternatively, If you have a VPS and want to edit the files in an IDE on your local computer, maybe a file transfer system like FTP or SMB would work. I don't suggest it though, there are huge security issues with them.
For Azure web apps, I've found that the Azure plugin for VScode is a quick and easy way to deploy my app. It's not quite real time but it's very easy to redeploy after updating. https://code.visualstudio.com/docs/azure/extensions
This is what I use to connect remotely to a couple Raspberry Pis, and a home server.
https://code.visualstudio.com/docs/remote/ssh
I developed an extension that communicates with a host (also developed by me), as provided by the https://developer.chrome.com/extensions/nativeMessaging example, and it works just fine.
Now I need to distribute my host with my extension and I couldn't find in Distributions how can I package my host along my extension. Are there any examples of how can I do it? Or must I distribute my host elsewhere?
I couldn't find in Distributions how can I package my host along my extension.
Support for this has been requested and turned down by Chrome developers.
I would recommend reading that thread for some insights in how native hosts are supposed to work according to them.
Or must I distribute my host elsewhere?
That's the idea. You need an installer hosted somewhere else.
wOxxOm's proposal is not going to work seamlessly, since a Native host cannot function without registering it with the system (e.g. adding a registry key on Windows) - something an extension cannot trigger.
It's possible you can still follow the bundle-download-open route for an installer, but I imagine it may get frowned upon by Chrome Web Store.
I've written a Chrome extension and companion native messaging host. I don't have any issues with it failing to start or crashing, but I would like to be able to restart it for updates of the extension. I can't find anything in the documentation or elsewhere regarding this. Is it even possible, or does the browser need to be restarted? Due to the nature of the extension, I'd like to avoid restarting the browser if possible.
Documentation can be found here, but it's not exactly robust.
https://developer.chrome.com/extensions/nativeMessaging
Upon further investigation I have found that restarting the native host application manually is not required. Chrome does this itself on update of the extension. However, that breaks the ability to send messages to the native host application from content scripts that have already been loaded, which was causing the issue I was seeing. Pages can be reloaded to fix messaging.
I see that the lastest versions of Firefox come with a webapprt.exe and webapprt-stub.exe executable. I think that they are for the Open Web Apps system but I would like to know if it's possible to use the WebAppRT container with external made applications. I mean that I could distribute the WebAppRT executable, the shared libs required and my HTML files and deploy it offline without having Firefox installed.
Why?
What do you mean by "external made applications"?
Why don't you just create a web app as explained in Building Web apps - App Center | MDN ?
It will take care of the details and allow your app to reach more platform than doing it manually. For a glance see Platform-specific details of app installation - App Center | MDN
You don't have to do anything special to install apps on different platforms. All the information you need to provide, such as the app name, is contained in the app manifest. Here are some platform-specific details about how apps are installed on each platform. These details assume that Firefox has been installed on the platform.
To make that path easier, you can follow tutorials or clone an existing open-source web app that has something in common to see how it's done.
What did you mean?
If you mean to just manually locally install a some app that you write, the simplest thing to do would be to install any app, look at what's been done and replicate the steps with your app. But what's the point?
My guess is: it will work only if the local OS has a platform to actually execute the app. Then that platform will also be able to install the app properly. So, it will be simpler to you to just make a regular web app and have it installed through standard means.
Or were you thinking of something else?