Make nodejs server platform dependent - node.js

Can we make a nodejs server platform dependent. Like it must only run on linux system with a specific version which can't be catched by other developer easily.

Related

developing an IIS webapp on linux

I know linux does not support IIS, since it requires Windows to exist on your machine.
I'm developing a .net core application, that needs to run in the end on an IIS server. This needs to stay as is, since it's the clients application I'm developing.
Currently my workstation is running Windows, so developing and hosting the application on local server is easy and straight forward using IISExpress.
To be honest I don't like Windows, since it has so many unknown parts running and doing weird stuff, is pretty slow and I don't have the customizability that I want, so I would prefer to use a linux based operating system.
There comes the problem - running IIS based applications is not possible on a local maschine using a linux operating system.
My first idea was to create an IIS docker and publish my application there, but that won't also work, since docker uses parent operating system kernel and IIS docker app requires a Windows based parent system.
The second idea was to use an external server, host IIS there and publish (or remote develop) the app there, but that gives me another system to worry about.
My ideal solution would be fully localized. IIS app running on the same machine.
Does anyone have experience with similar situations?
What would be the best solution here?

Linux snap application

I want to monitor by FANOTIFY the Linux applications installed by snap but I was not able to do this, just applications installed by "apt-get" or "yum". The documentation is very weak and this task is a must to make my application suitable for all situations. Do you have any suggestion?

How to run node js server on Win CE ARM embedded device?

I have a device that has an ARM processor and runs Win CE OS.
Now I have got a requirement to implement a node js server inside the device.
The same requirement was implemented on another ARM device that was running Linux
Since node is compiled for Linux they were able to run a node js server inside the device.
But there is no Win CE compatible version of node available
Is that not done yet or am i missing something?
I read about Microsoft chakracore, but I didnot understand much.
Does anybody know how to run node on Win CE running devices.
Any kind of leads/help is appreciated. Thanks
Windows CE provides an implementation of the Win32 API that is someway compatible with the full-Win32 version implemented on Windows desktop operating systems.
It also provides C/C++ libraries but, as you know, evil is in the details and those implementations can be considered a subset of those you have on the desktop and missing a single function or feature can force you to re-implement a huge amount of code to work around the limitation.
Windows CE is also meant to run on resource-limited devices with a limited amount of RAM and processing power and, honestly, node.js does not seem to exactly target this kind of platforms.
First I would like to understand if the requirement makes sense and why there is a need to mix a small real-time OS like CE with a huge interpreted and resource-hungry monster like nodejs.
windows CE has not been updated in over 3 years it is unreasonable to expect node.js to work as is on top of CE. windows on arm however (used by windows phone, windows Iot, and the ill fated surface RT) can run this https://github.com/nodejs/node-chakracore. Windows on arm only accepts thumb2 instructions, so you won't be able to use regular node.js.
This is b\c v8 just in time compiler does not produce thumb2 instructions. more reading material here: https://blogs.msdn.microsoft.com/ntdebugging/2014/05/15/understanding-arm-assembly-part-2/

Launching a program straight from OS

I am developing a program similar to xbmc but only for movies. I was wondering if there is any very simple operating system that will basically just boot and run the program I am developing? Similar to what openelec does for XBMC. I can run it on windows but I want to be able to put it on a machine like raspberry pi without having to have a whole windows or linux OS.
I hope that makes sense.
Take a look at the rather slim linux distributions specialized in embedded systems, like firewalling distros and so on.
Then, if it is a graphical application you have to make sure you boot into runlevel 5 (graphics) and configure your application as login shell for the default user.
You might also be interested in two services the openSUSE project offers: the Open Build Service (OBS) and SUSE Studio:
OBS allows you to automatically get packages of your application built and packaged, ready for use in a number of wide spread distributions.
Studio allows you to go a step further and create a custom distribution for your own purpose: you can call it 'your' operating system, completely preconfigured for your purpose, with all requried software and your own application installed. You just have to download a CD image afterwards!

RPC from Windows to linux

Is there some (working) example how to create RPC from windows to linux?
Client should be windows NT application, server is linux.
It needs to be MSRPC.
No Corba, no XML-RPC, SUN-RPC etc
MSDN says this:
RPC can be used in all client/server applications based on Windows
operating systems. It can also be used to create client and server
programs for heterogeneous network environments that include such
operating systems as Unix and Apple.
Unfortunately after spending few hours on google I'm giving up.
My expectation:
Linux node should have samba installed, because their MSRPC implementation works.
Using IDL file I generate stubs for both client and server
Client is built using MSVC
Server is build using gcc with some includes/libraries from samba (or other libs)
Linux node must have such RPC port mapper
Can someone point me out?
I think you have 2 possible ways to deal with this:
1- You can try using DCOM with wine, which means that you will actually write your code for windows, but at the same time you can test your results in the process and avoid using WinAPI calls that wine is not able to handle properly. This approach will allow you to generate stubs code from your IDL files.
2- You can try using Samba RPC Pluggable Modules, but I am afraid in this case the RPC communication will be more primitive.
Edit:
It seems there are many other ways. I found a list of libraries in DCOM-Wikipedia, j-Interop for example looks particularly promising.

Resources