Prerequisites
- Python3 package
- Selenium webdriver (pip3 install -U selenium, pip3 install webdriver-manager
In this blog you can find technical matter related to information security. Other than that Linux server configuration, Nginx configuration, high availability techniques etc...
This blog shows how to get intensity histogram of an image.
https://sltechgeekx.blogspot.com/2022/06/how-to-installing-opencv-from-source.html
https://sltechgeekx.blogspot.com/2022/06/how-to-convert-rgb-image-to-gray.html
There are lots of commercial and open source tools to benchmark your web server. In this blog I and going to demonstrate benchmark your web server with CIS benchmark policies. Any one can freely download CIS documents.
CIS Download URL: https://www.cisecurity.org/benchmark/nginx
"The CIS Benchmarks are distributed free of charge in PDF format to propagate their worldwide use and adoption as user-originated, de facto standards. CIS Benchmarks are the only consensus-based, best-practice security configuration guides both developed and accepted by government, business, industry, and academia."
Download benchmark scrip: https://github.com/viduranga0006/nginx-benchmark
This is a bash shell script. You have to run it with supper user. Once you execute, you have to select relevant category. At the end it will list summary of benchmark results.
There are many many ways to convert RGB image to gray color. In this blog, I am wring a C++ code to do this.
Open Eclipse C/C++ and create a new C++ Project call “ConvertImageToGrayscale”
File -> New -> C++ Project
Right Click on the Project -> Properties -> C/C++ Build -> Settings -> Includes
Add opencv installed path
Include opencv libs to your project
/** ConvertImageToGrayscale.cpp** Created on: Jun 15, 2022* Author: viduranga*/#include <opencv2/opencv.hpp>#include <unistd.h>#ifndef __has_includestatic_assert(false, "__has_include not supported");#else# if __cplusplus >= 201703L && __has_include(<filesystem>)# include <filesystem>namespace fs = std::filesystem;# elif __has_include(<experimental/filesystem>)# include <experimental/filesystem>namespace fs = std::experimental::filesystem;# elif __has_include(<boost/filesystem.hpp>)# include <boost/filesystem.hpp>namespace fs = boost::filesystem;# endif#endifusing namespace cv;using fs::current_path;int main(int argc, char** argv){char* ImageFile = argv[1];Mat original_image; /* mat object for storing original_image */original_image = imread( ImageFile, IMREAD_COLOR ); /* read ImageFile */if( argc != 2 || !original_image.data ){printf( " No image data \n " );return -1;}char *cwd = get_current_dir_name(); /* Get Current working Directory */std::string CurrentWorkingDirectory(cwd);std::string InputFilePath(ImageFile);std::string input_filename = InputFilePath.substr(InputFilePath.find_last_of("/\\") + 1); /* Get Path of input file */std::string input_folder_path = InputFilePath.substr(0,InputFilePath.find_last_of("\\/")); /* Get Folder Path of input file */std::string OutputFile;if (input_filename != InputFilePath){OutputFile = input_folder_path.append("/greyImage-");}else {OutputFile = CurrentWorkingDirectory.append("/greyImage-");}OutputFile = OutputFile.append(input_filename);Mat gray_image; /* mat object for storing gray_image */cvtColor( original_image, gray_image, COLOR_BGR2GRAY ); /* convert image from color to gray */imwrite( OutputFile, gray_image );namedWindow( "Original Image", WINDOW_AUTOSIZE ); /* set window name for Original Image */namedWindow( "Gray Image", WINDOW_AUTOSIZE ); /* set window name Gray Image */imshow( "Original Image", original_image ); /* show window containing original_image */imshow( "Gray Image", gray_image ); /* show window containing gray_image */waitKey(0); /* to exit */return 0;}
OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products.
apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd ~/opencv_build/opencvmkdir build && cd build
Set up the OpenCV build with CMake
cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D INSTALL_C_EXAMPLES=ON \-D INSTALL_PYTHON_EXAMPLES=ON \-D OPENCV_GENERATE_PKGCONFIG=ON \-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \-D BUILD_EXAMPLES=ON ..
make -j8
Install OpenCV
make install
pkg-config --modversion opencv4
Problem: In some client environment, according to organization policy, http request should go through the proxy server. If Java application need to access outside HTTP or HTTPs url, we have to pass them through the proxy.
Solution: We can set proxy server IP and port in java bat or .sh file as a parameter.
HTTP Proxy
"D:\App Servers\Feeder-NEW\jdk1.8.0_151\bin\java" -Xmx2048m -Xms2048m -DAlert=true -Dhttp.proxyHost=192.168.33.34 -Dhttp.proxyPort=8080 -DExchange=A -DLogFeed -classpath SVR_-9.10.020.jar;.\lib\* com.regional.feeder.xstream.com
HTTPS Proxy
"D:\App Servers\Feeder-NEW\jdk1.8.0_151\bin\java" -Xmx2048m -Xms2048m -DAlert=true -Dhttps.proxyHost=192.168.33.34 -Dhttps.proxyPort=8080 -DExchange=A -DLogFeed -classpath SVR_-9.10.020.jar;.\lib\* com.regional.feeder.xstream.com
Reference URL:
https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html
In this blog I am going to demonstrate how to generate a self-sign certificate for your local domain for testing purpose.