|
I'm searching for an open source endpoint security management server solution.
I want to be able to control endpoints in a network and be able to perform all/most of the following:
* get info about users and machines in the network (with or w/out AD, focused on Desktops & Laptops, later Smartphones, Tablets, Servers, other devices)
* deploy and update my security software remotely
* collect data and notifications from endpoints to the server
* multi-platform support
* can run from common OSs like Linux and Windows
* can manage common OSs endpoints: Windows, Linux, Android & macOS
* should have a dashboard and admin pages with notifications for me and others
* easily customizable (preferably coded in PHP/Python or any easy-to-code language, extendible via plugins, etc...)
nice to have:
* integrates to other security systems (SIEM, Logs, etc...)
* permissive license (preferably not GPL)
* support installation as SaaS (to manage from cloud, containers, etc...)
thanks!
|
|
|
|
|
1. Rationale
Null references are considered to be one of the most expensive mistakes in IT design. It's not surprising that there are numerous efforts to solve it. Here are a couple of examples from the Java world:
* Kotlin fights it at the language level
* many tools try to report it as early as possible, for example, IntelliJ IDEA can be configured to warn us about a possible NPE.
Moreover, when the code below is compiled by the IDE, it automatically inserts null-checks, i.e. given the code snippet below
public void service(@NotNull String input) {
}
Resulting bytecode looks like if it's compiled from the following source:
public void service(@NotNull String input) {
if (input == null) {
throw new NullPointerException("Argument for <a href="https:
}
}
Kotlin really solves the problem but Java is still a very popular language, so, we have to deal with nullable values. It's not always convenient to use IntelliJ build system for compiling sources to get that null-checks and the code which explicitly ensures preconditions via checkNotNull() or explicit if (input == null) { throw new NullPointerException("<description>") } also looks not that appealing.
More common setup is to configure a build through Gradle/Maven/Ant. It would not harm to get IDE tips on possible null-related problems and that auto-generated runtime checks without explicitly putting them into code.
Current tool solves the second problem - it allows to add null-checks into *.class files during compilation based on source code annotations.
2. License
The project is licensed by MIT.
3. Design
The whole project is based on a Javac extension. It plugs into the compilation process and automatically inserts null-checks into the resulting bytecode. That can be used either explicitly from the command line or from Maven/Ant. Also, there is a Gradle plugin which simplifies the configuration for Gradle projects.
4. Usage
5. Settings
Even though it's possible to use the plugin with the default setup, there are a number of configuration options. They are described here
6. Project Resources
The documentation is available here.
The project is hosted on GitHub.
modified 14-Nov-17 1:43am.
|
|
|
|
|
The above post should start with a link to the actual tool.
Rest of the verbiage makes it difficult to find it and I think that the actual link doesn't even work.
|
|
|
|
|
Thank you for the feedback!
I've corrected the links.
About the post organization - not sure that it would be better to give a link without explaining what the tool is.
Regards, Denis
|
|
|
|
|
What I meant was that someone might quickly read the content or not even care and just want to look at the tool. So the link to the tool should be first followed by the existing content.
|
|
|
|
|
|
Which is the most reliable free antivirus for USB flash drives that resides and runs from the device itself and doesn't need to be installed on the computer?
|
|
|
|
|
See reddit[^]. Which is "the best" is not known, nor are there tests to see who of those is the most reliable - if they did, it would be outdated the moment it is published.
Most of the antivirus-applications catch over 95% of known virii/malware. Most bootable rescue-disks contain multiple applications to scan your computer. If you are having with creating a bootable USB-key using an ISO-file, then look here[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
DOSBOX (currently v.0.74)
DOSBox, an x86 emulator with DOS[^]
Speaks for itself ... and everything works. Running Windows x64 and have legacy 16-bit programs that you never manage to find time to reprogram? This is 'yer next download.
|
|
|
|
|
A nice free editor full of possibilities: Atom[^]
Looks like it comes from the people of GitHub.
|
|
|
|
|
Just discovered that compression tool.
It works very well, it makes it easy to work with multiple file formats...
It is ugly (icons are terrible).
It is 100% free.
I can't see a reason for not using it and to replace WinZip/WinRar...
|
|
|
|
|
In case you have more than one monitor and you usually move the mouse from one monitor to the other one...
This small utility could help: Multi Monitor Mouse[^]
It looks like it allow you to set mouse buttons, keys... to switch monitors easily without having to move along all the monitors width and avoiding colliding with the invisible walls between different size monitors.
See it working here[^].
Enjoy.
modified 16-Aug-17 6:10am.
|
|
|
|
|
Quickhash GUI - Cross-platform data hashing tool for Windows, Linux and OSX[^] handy little tool to figure out MD5, SHA1, SHA256, SHA512 and xxHash hashes for downloaded files and ISO's.
ImageUSB - Write an image to multiple USB Flash Drives[^] which will not only allow you to write images to/take images from USB Drives it also allows you to Zero out the USB so you can get the full capacity back if you have a Linux image on the USB hiding the bulk of the capacity.
Michael Martin
Australia
"I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible."
- Mr.Prakash One Fine Saturday. 24/04/2004
|
|
|
|
|
|
http://owl.phy.queensu.ca/~phil/exiftool/
|
|
|
|
|
Link does not seem to work, and is not clickable.
|
|
|
|
|
I was just looking for an EXIF viewer in c++...
- Michael Haephrati מיכאל האפרתי
|
|
|
|
|
|
In the course of investigating tools for reporting when a Windows computer is "ready for work," I discovered that there is no prepackaged way to cause a WAV file to play in a batch file or other script. Though I found a solution), it was still in source code form, and was pretty Spartan. Since I have access to a good C compiler, I copied it off into a new Visual Studio project, converted the signature so that it would accept wide character inputs, and dressed it up a bit. The result is SoundOff.exe, available in binary form, from [^]](https://github.com/txwizard/SoundOff/blob/master/SoundOff_Binary.ZIP).
The source code is available under a three-clause BSD license from GitHub - txwizard/SoundOff: System Utility to Play a Windows Sound (.WAV) File in a Script. If you clone the project, you get not only the source for that program, but the C/C++ headers that define every entry point in the ten DLLs that come with it. Some of those will be discussed in forthcoming articles.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
Here is a sample windows script (VBS) file that will play a sound file - wav or mp3
Dim oPlayer
Set oPlayer = CreateObject("WMPlayer.OCX")
' define the location / name of the file, or parameterize it for use in a bat file
' Play audio mp3 file
oPlayer.URL = "C:\Users\you\Desktop\Sounds\toilet.mp3"
'OR a wav file
oPlayer.URL = "C:\Users\you\Desktop\Sounds\applause.wav"
oPlayer.controls.play
While oPlayer.playState <> 1 ' 1 = Stopped
WScript.Sleep 100
Wend
' Release the audio file
oPlayer.close
|
|
|
|
|
Though I could easily have implemented it as a Visual Basic script, I prefer a compiled EXE because its use does not depend upon a working Visual Basic Scripting interpreter, which is not a given in some locked down environments.
Nevertheless, for fun, below is my improved implementation, which took maybe an hour to cobble together and test.
<pre lang="vb"> Option Explicit
' ============================================================================
'
' Script Name: SoundOff.VBS
'
' Objective: Cause a shell script to play a sound file to completion.
'
' Command Arguments: SoundFileName = Name of sound file to play
'
' Remarks: This script is a port of SountOff.exe.
'
' ----------------------------------------------------------------------------
' Revision History
' ----------------------------------------------------------------------------
'
' Date By Synopsis
' ---------- --- -------------------------------------------------------------
' 2018/05/28 DAG Script created, tested, and deployed
' ============================================================================
const ARGS_NONE = 0
const ARRAY_FIRST_ELEMENT = 0
const ERROR_SUCCESS = 0 ' The status code variable is initialized with the standard Windows "success" status code.
const ERROR_NEEDS_CSCRIPT = 1 ' Status code 1 is reserved for scripts run in Wscript that require CScript.
const ERROR_NO_ARGS = 2 ' Status code 2 is reserved for scripts that require one or more command line arguments to report being called without any.
const ERROR_FILE_NOT_FOUND = 3
const SLEEP_TIME_100_MILISECS = 100
const WMP_PLAY_STATE_STOPPED = 1
dim intExitCode : intExitCode = ERROR_SUCCESS ' Anticipate success.
dim oArgs : Set oArgs = WScript.Arguments
dim iArgLast : iArgLast = oArgs.Count
if iArgLast > ARGS_NONE then
dim sFileSpec : sFileSpec = oArgs ( ARRAY_FIRST_ELEMENT )
dim oFSO : set oFSO = CreateObject ( "Scripting.FileSystemObject" )
if oFSO.FileExists ( sFileSpec ) then
dim oPlayer : Set oPlayer = CreateObject ( "WMPlayer.OCX" )
oPlayer.URL = sFileSpec ' Define the location / name of the file.
oPlayer.controls.play
While oPlayer.playState <> WMP_PLAY_STATE_STOPPED
WScript.Sleep SLEEP_TIME_100_MILISECS
Wend ' While oPlayer.playState <> WMP_PLAY_STATE_STOPPED
oPlayer.close ' Release the audio file.
else
intExitCode = ReportFileNotFound ( sFileSpec )
end if ' if oFSO.FileExists ( sFileSpec ) then
else
intExitCode = ShowSyntax ( )
end if ' if iArgLast > ARGS_NONE then
WScript.Quit ( intExitCode )
function ReportFileNotFound ( psFileSpec )
' ------------------------------------------------------------------------
'
' Function Name: ReportFileNotFound
'
' Synopsis: Display brief instructions about the syntax, and return
' a nonzero status code, which becomes the return value of
' the script.
'
' Arguments: psFileSpec = Name of file that cannot be found
'
' Returns: The return value is always ERROR_NO_ARGS.
'
' Remarks: This script displays its entire message at once, so that
' it behaves appropriately when run by WScript.exe. Since
' the script is otherwise silent, this adjustment of my
' standard practice permits it to run in either host.
' ------------------------------------------------------------------------
WScript.Echo Wscript.ScriptName & ": sound file " & psFileSpec & " cannot be found."
ShowSyntax = ERROR_FILE_NOT_FOUND
end function ' ReportFileNotFound
function ShowSyntax ( )
' ------------------------------------------------------------------------
'
' Function Name: ShowSyntax
'
' Synopsis: Display brief instructions about the syntax, and return
' a nonzero status code, which becomes the return value of
' the script.
'
' Arguments: None
'
' Returns: The return value is always ERROR_NO_ARGS.
'
' Remarks: This script displays its entire message at once, so that
' it behaves appropriately when run by WScript.exe. Since
' the script is otherwise silent, this adjustment of my
' standard practice permits it to run in either host.
' ------------------------------------------------------------------------
WScript.Echo "Usage: " & Wscript.ScriptName & " SoundFileName" & vbNewLine & vbNewLine & "where SoundFileName = Name of sound file to play"
ShowSyntax = ERROR_NO_ARGS
end function ' ShowSyntax
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
The barycenter symbol is the circle with alternating quarter sections as dark & white, and is the what is at the middle of the BMW automobile logo.
I've been looking around for this and have not been able to find it. It would seem that it has to be included in some font somewhere.
|
|
|
|
|
If you are looking something like below you can try below HTML entities code -
⊕ ( Code - ⊕ ) Circled plus
⊗ ( Code - ⊗) Circled times
modified 20-Sep-20 21:01pm.
|
|
|
|
|
RegOwnershipEx 1.0.0.2 from WinAero (non-commercial personal site of Sergey Tkachenko): [^]. Available in about twenty different languages, including Arabic and Asian languages.
Video demo here: [^].
Features include:Quote: Take ownership and provide full access to selected Registry key.
Restore ownership feature allows you to restore the ownership and access rights that you have changed early. i.e. this is opposite of "take ownership".
Registry browser for easy Registry key selection.
Favorites - for quick access to your favorite Registry locations. It is shared with Favorites menu of Registry Editor!
Registry jump feature - you can open the selected key in Registry Editor. It is a very handy option when you read some tweaking related article and want to jump to the key mentioned in article. Simply copy-paste it into RegOwnershipEx.
Shortcuts for root keys - you may use HKCU instead of HKEY_CURRENT_USER, HKLM instead of HKEY_LOCAL_MACHINE and so on.
Multi language support - you will be able to translate the application into your native language by a simple ini file.
When you open RegOwnershipEx, it analyses your clipboard content. If you copied a Registry path before launching the app, it will be pasted in RegOwnershipEx automatically!
Also, there is a useful /J command line argument. Here is how you can use it. You can copy the path to a Registry key to the clipboard and launch the app as RegOwnershipEx.exe /J
the ability to paste a Registry path with square brackets. You can copy such a path from a REG file and paste it in the app. It will be processed correctly. This also saves you time, since you can just copy the whole line from a REG file without editing.
«When I consider my brief span of life, swallowed up in an eternity before and after, the little space I fill, and even can see, engulfed in the infinite immensity of spaces of which I am ignorant, and which know me not, I am frightened, and am astonished at being here rather than there; for there is no reason why here rather than there, now rather than then.» Blaise Pascal
|
|
|
|
|
We have been doing lots of typing and copy and paste ever since computers were invented, but we have never seen any tool that extends the clipboard that we use daily. I would like to introduce the new MluSmarEdit which is a tool to extend your ordinary clipboard. This tool enables you to copy up to 10 different texts and paste any of them anytime you want to. Its like having 10 clipboards in one computer. We know that normally you only copy once to a clipboard and when copying again your previous copied data will be overwritten and when you need it again while you are typing that long document or multiple documents you have to copy that again. Well thanks to MCSIDevelopers for their new free MluSmartEdit which enables you to copy 10 different texts and paste them as many as required at any order.
The tool is very easy to use, all you need to do is to check your system tray and see if the MluSmartEdit is active or not. If the icon is green it means its active but if the icon is black it means the the tool is inActive to make it active you need to right click on it and click Start then begin copying or pasting. Remember what you copied while the MluSmartEdit was not active will not be available on the list to paste.
Download it from our websiteor directly.
Your feedback as well as suggestions are welcome.
MCSIDevelopers developing future systems today.
|
|
|
|