I am currently using NPM for developing ReactJS and I just test sample code from git. Eventually when I try to install packages for the first time its work normally, because of some reason I try to upgrading some package and reinstall it but the installation process looks hang.

The package that I try to reinstall is react-scripts. Here is some advice from StackOverflow:

  • Try to remove package-lock.json (https://stackoverflow.com/questions/50522376/npm-install-hangs-on-loadidealtreeloadalldepsintoidealtree-sill-install-loadid)
  • Try to using unix command line (e.g. git bash). (https://stackoverflow.com/questions/64290462/npx-create-react-app-takes-too-long-every-time)
  • Try to using `npm install <package> --verbose` to know the progress
Walkthrough:
    I just try install using verbose and hang after checking several packages. I find the pattern which different between the package that pass the check and package that hang, it was the status code (HTTP Response), package that pass check will response with status code 304 (Not Modified) and for the hang one there is no response. I search some solution on StackOverflow and found this 'https://stackoverflow.com/questions/45433130/npm-install-gets-stuck-at-fetchmetadata' that lead me to checking the npm installation registry domain (registry.npmjs.org) which is the global config of my npm registry.

Figure out:
    I try the url of hang package in the browser, for the first time it return ERR_NETWORK_CHANGED that I know because of DNS Server not correctly response my request. After that I try to ping to make sure my connection and it was fine.

Resolve:
    After several test and check, I try to add static route to my hosts list that direct to the npm registry url. I add this line  at the end of file /etc/hosts.
104.16.20.35 registry.npmjs.org
This is the end because when I try install again (with verbose) it was really smooth and the log is show that not only response with status code of 304, it also show the status code of 200.

How to Scan Nmap Ports

To scan Nmap ports on a  remote system, enter the following in the terminal:

sudo nmap 192.168.0.1

Replace the IP address with the IP address of the system you’re testing. This is the basic format for Nmap, and it will return information about the ports on that system.

In addition to scanning by IP address, you can also use the following commands to specify a target:

To scan a host:

nmap www.hostname.com

To scan a range of IP addresses (.1 – .10):

nmap 192.168.0.1-10

To run Nmap on a subnet:

nmap 192.168.0.1/13

To scan targets from a text file:

nmap –iL textlist.txt

Note: The developers at nmap.org provide a test server that you can experiment on, located at scanme.nmap.org. You can use this to test your Nmap utility.

Scan a Single Port, All Ports, or Series

Nmap commands can be used to scan a single port or a series of ports:

Scan port 80 on the target system:

nmap –p 80 192.168.0.1

Scan ports 1 through 200 on the target system:

nmap –p 1-200 192.168.0.1

Scan (Fast) the most common ports:

nmap –F 192.168.0.1

To scan all ports (1 – 65535):

nmap –p– 192.168.0.1 

Other Types of Nmap Port Scans

Different types of scans can be performed:

To scan using TCP connect (it takes longer, but is more likely to connect):

nmap –sT 192.168.0.1

To perform the default SYN scan (it tests by performing only half of the TCP handshake):

nmap –sS 192.168.0.1

To instruct Nmap to scan UDP ports instead of TCP ports (the –p switch specifies ports 80, 130, and 255 in this example):

nmap –sU –p 80,130,255 192.168.0.1

Run a fast scan on the target system, but bypass host discovery. (Host discovery uses ping, but many server firewalls do not respond to ping requests. This option forces the test without waiting for a reply that may not be coming):

nmap –Pn –F 192.168.0.1 

The nmap utility can be used to detect the operating system of a particular target:

nmap –A 192.168.0.1

It can also be used to probe for the services that might be using different ports:

nmap –sV 192.168.0.1

Note: The –sV option can be tuned to be more or less aggressive in its scan. Use the ––version-intensity 2 option to specify the level of testing. Replace the number 2 with a number from 0 (light testing) to 9 (run all probes). The more intense the testing, the longer the scan will take.

Common Ports

Here is a brief list of standard ports and their designations:

  • 21 – FTP
  • 22 – SSH
  • 25 – SMTP (sending email)
  • 53 – DNS (domain name service)
  • 80 – HTTP (web server)
  • 110 – POP3 (email inbox)
  • 123 – NTP (Network Time Protocol)
  • 143 – IMAP (email inbox)
  • 443 – HTTPS (secure web server)
  • 465 – SMTPS (send secure email)
  • 631 – CUPS (print server)
  • 993 – IMAPS (secure email inbox)
  • 995 – POP3 (secure email inbox)

 

sudo add-apt-repository ppa:eivnaes/network-manager-sstp
sudo apt-get update
sudo apt install network-manager-sstp sstp-client


Source: https://askubuntu.com/questions/1231162/sstp-vpn-on-ubuntu-20-04-cant-install-sstp-network-manager-plugin

Below is deprecated! But I can learn something.

Download sourcenya di: https://sourceforge.net/projects/sstp-client/files/sstp-client/

sudo make install

sudo sstpc <IP_ADDRESS> --user <USERNAME> --password <PASSWORD> --log-level 0 --cert-warn --tls-ext --uuid <UNIQUE_ID/DOMAINNAME> --save-server-route

Check connection using ifconfig, interfacename will be like ppp0

sudo route add default gw <IP_GATEWAY>


 Buka network sharing & internet setting

Change adapter options

Realtek RTL8812AU - Linux (Ubuntu, Kali | Debian)

Source: https://github.com/gnab/rtl8812au

# clone the drivers from git
git clone https://github.com/gnab/rtl8812au.git

# goto folder
cd rtl8812au/

# create the driver from the sources
make

# Check the driver
insmod 8812au.ko # (Sometimes error "File exists"

# copy to lib
cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/

# ?
depmod

# add autoload the driver on boot
echo 8812au | tee -a /etc/modules

# Optional
reboot
echo -e "\nHidden=true\n" | sudo tee --append /etc/xdg/autostart/tracker-extract.desktop /etc/xdg/autostart/tracker-miner-apps.desktop /etc/xdg/autostart/tracker-miner-fs.desktop /etc/xdg/autostart/tracker-miner-user-guides.desktop /etc/xdg/autostart/tracker-store.desktop > /dev/null

gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2  # Default: -1
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false # Default: true

tracker reset --hard   

React Native run attached android on usb, create file path-to-app/android/local.properties with this:

sdk.dir = /Users/USERNAME/Library/Android/sdk

Option 1:

sudo apt update && sudo apt install android-sdk

The location of Android SDK on Linux can be any of the following:

  • /home/AccountName/Android/Sdk

  • /usr/lib/android-sdk

  • /Library/Android/sdk/

  • /Users/[USER]/Library/Android/sdk

Option 2:

  • Download the Android Studio.

  • Extract downloaded .zip file.

    The extracted folder name will read somewhat like android-studio

To keep navigation easy, move this folder to Home directory.

  • After moving, copy the moved folder by right clicking it. This action will place folder's location to clipboard.

  • Use Ctrl Alt T to open a terminal

  • Go to this folder's directory using cd /home/(USER NAME)/android-studio/bin/

  • Type this command to make studio.sh executable: chmod +x studio.sh

  • Type ./studio.sh

Samba Connection

First to know that it's too difficult to share folder and files between host OS windows with macOS guest in virtualbox using default sharing feature in virtualbox consider macos is non-free or non-community stuff. I do second option that is using samba.

  • Change connection on virtualbox into Bridge mode
  • Activate your sharing folder on windows host os, use default folder (Public) locate on C:\Users\Public
  • Go to macOS and open Finder app
  • Click menu Go and choose connect to server
  • Check the windows ip address
  • Insert samba url smb://<ip_address>/Users/Public
  • Insert credential access like username and password (windows account)

Second option using bash command to mount the Public folder into specific path on macOS. Make sure you already create folder as mount point.

#!/bin/bash
mount_smbfs //<username>@<ip_address>/Users/Public </path/to/folder>

# example:
# make mount point folder
## mkdir /Users/mymacOS/Desktop/shared
# connect
## mount_smbfs //mypc@192.168.1.70/Users/Public /Users/mymacOS/Desktop/shared
#!/bin/bash
umount </path/to/folder>

# example
## umount /Users/mymacOS/Desktop/shared

Change the variable with your own.