Month: April 2021

Tor environment variables

Where can I see a complete list of Tor environment variables such as TOR_SKIP_LAUNCH, TOR_TRANSPROXY and others?

The following information is the official Tor FAQ, with not yet accepted the pull request. This change adds a description of the Tor environment variables.


Which environment variables does Tor Launcher respect?

Following settings can be changed but be aware that this is not recommended and can harm your anonymity.

In the default situation (without TOR_CONFIGURE_ONLY and without TOR_SKIP_LAUNCH), Tor Launcher starts tor and then issues a TAKEOWNERSHIP command via tor's control port so that the tor process will automatically exit when Tor Launcher's control port connection is closed. That way we have a much lower risk of an old tor process hanging around if the browser is killed or if it crashes. But when TOR_CONFIGURE_ONLY=1 and TOR_SKIP_LAUNCH=1 are set, Tor Launcher does not TAKEOWNERSHIP (the assumption being that if Tor Launcher did not start the tor process, it is someone else's problem to control its life cycle).

  • TOR_SKIP_LAUNCH: if set to 1, do not start a tor process, and, unless TOR_CONFIGURE_ONLY is set to 1, do to not try to configure Tor (that is, do not make a control port connection). Values other than 1 have no effect
    (default: false)
  • TOR_CONFIGURE_ONLY: if set to 1, do not start Tor but try to connect via the control port to configure Tor. Tor Launcher will not try to become the primary controller. Values other than 1 have no effect.
    (default: false)
  • TOR_FORCE_NET_CONFIG: if set to 1, display the Tor Network Settings wizard at startup (the value of the extensions.torlauncher.prompt_at_startup hidden preference is ignored). Values other than 1 have no effect. Used by Tails.
    (default: false)
  • TOR_TRANSPROXY: if set to 1, enables Torbutton's transparent proxy mode, which is used if you have a Tor Router or some other set up that does not require that the browser connect to Tor via a SOCKS proxy.
    (default: false)
  • TOR_CONTROL_PASSWD: if this is not set or if it is an empty string, Tor Launcher will generate a random password.
    (default: empty)
  • TOR_CONTROL_COOKIE_AUTH_FILE: if TOR_CONTROL_PASSWD is set, its value is used as the password. If TOR_CONTROL_PASSWD is not set but TOR_CONTROL_COOKIE_AUTH_FILE is, then the cookie contained in the file that TOR_CONTROL_COOKIE_AUTH_FILE points to is used to authenticate to tor. If neither one is set, a random password is generated and used.
    (default: empty)
  • TOR_CONTROL_HOST: if set, it becomes part of the CONTROLPORT setting.
  • TOR_CONTROL_PORT: if set, it replaces the default CONTROLPORT.
    (default: 9151)
  • TOR_SOCKS_HOST: if set, it becomes part of the SOCKSPORT setting
    (default: empty)
  • TOR_SOCKS_PORT: if set, it replaces the default SOCKSPORT
    (default: 9050)

There are Firefox preferences that correspond to some of the environment variables. If an env variable is set the equivalent preference setting is overwritten:

  • TOR_SKIP_LAUNCH=1: extensions.torlauncher.start_tor=false (default: true)
  • TOR_CONFIGURE_ONLY=1: extensions.torlauncher.only_configure_tor=true (default: false)
  • TOR_FORCE_NET_CONFIG=1: extensions.torlauncher.prompt_at_startup=true (The default value of extensions.torlauncher.prompt_at_startup is true but Tor Launcher automatically changes it to false after a successful Tor bootstrap, and automatically changes it to false after a failed bootstrap. So this one is not useful to set manually.)

How do I know if I am behind NAT? (SOLVED)

What is NAT

NAT is a technology that allows multiple devices to access the Internet using the same IP address. By the way, NAT is already being applied in your local network, which has a router – it is thanks to this that all your devices can access the global network and each of them does not need to have an external IP.

As you can imagine, this is a commonly used technology. Perhaps you have been using it for many years without even knowing about it. It really brings a lot of benefits, but it has a drawback – it allows one-way connections. That is, if your computer has initialized an Internet connection, then it will send it to the router, the router will do two things: 1) remember that the request came from a specific device and 2) send this request to the Internet. When the answer comes, the router still “remembers” that this request was made for a specific device on the local network, and will send a response to this particular device. And this happens every time.

But if a new network request comes to the router from the global network (not a response to a request, namely a new request), then the router simply does not know who it is intended for on the local network (if port forwarding is not configured). Therefore, the router does nothing with this incoming request. Many ISPs also use NAT. And it works according to exactly the same principle – your network requests go to the global network and you get network responses without any problems, but new requests from the Internet to your computer cannot go through NAT.

Therefore, if you want to run a network service on your home computer (for example, a web server) and want to be accessible from the Global Internet, then you need to make sure that your computer is not behind a NAT network of the Internet service provider.

How do I know if my ISP is using NAT

In fact, it is not easy to say with complete certainty whether a computer is behind NAT, but there are indirect indications that make it highly likely that an ISP is using NAT for its users.

Finding Local IP Addresses in a Network Route

With the help of tracerouting, you can find out through the nodes with which IP addresses network traffic passes.

To start tracerouting in Windows, open the command prompt (to do this, press Win+x and select “Windows PowerShell”) and run the command:

Test-NetConnection -TraceRoute

To start tracerouting on Linux, run the command:


Related: Tracerouting tools and methods

If among the IP addresses through which network traffic passes, you see those included in the following ranges, then most likely you are behind NAT:

  • ( -
  • ( -
  • ( -
  • ( -

In this screenshot, there are two IP addresses from the specified ranges at once: and is a router (as mentioned above, the router also uses NAT, so if you connect your computer to the ISP's network through a router, then you need to configure port forwarding.

And the other IP belongs to the local network of the ISP. Since local (private) IP addresses are non-routable, it is highly likely that NAT is being used.

The following screenshot shows a router and as many as three local IPs from the range. Again, it can be argued that NAT is in use.

This screenshot shows a router (, but there are no local ones among the following IPs. Does this mean that the ISP is not using NAT? Not. If there are local IP addresses, then almost certainly there is NAT, but if there are no local IP addresses, then NAT may or may not be present.

Therefore, one more test needs to be done.

Traceroute to yourself

The “Traceroute to me” service allows you to indirectly determine that the ISP is using NAT.

Service address:


On the service page, you can run a tracerouting from the server to your computer. The tracerouting result will indirectly determine if your ISP is using NAT.

If all nodes are shown in the trace results, as in the screenshot below, then this means that you have a public IP address with a probability of 100%.

If the trace ends with lines

25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

as in the screenshot below:

This means that most likely your computer is behind NAT.

But the above is not always true – the trace may not show the hosts for other reasons, not only because of NAT.


By combining the two, you can determine with a high degree of probability whether NAT is being used on your network connection.

How to find out all DNS records of sites behind CloudFlare

How to list all DNS records for a domain

Using the dig command, you can display all types of DNS records for the specified domain at once, but it does not work in all cases:

dig ANY

To query all types of DNS records, but limiting the number of displayed sections only by the response section, add the “+noall +answer” options:

dig ANY +noall +answer

How to list all DNS records for a domain behind CloudFlare

It works fine in most cases. But for some sites in the DNS server settings it is forbidden to display a full list of records, examples of such sites are all sites behind CloudFlare.

As a result, for example, for the site (hidden behind CloudFlare), the usual method fails to get the contents of DNS records:

dig ANY

You can see the answer section, apparently it is a reference to some documentation:		3787	IN	HINFO	"RFC8482" ""

Considering that requests for single records cannot be prohibited, and also taking into account that the number of DNS records is finite, you can enumerate them all one by one:

dig A +short
dig AAAA +short
dig SOA +short
dig MX +short


You can also use the online service on the or website, where a new method has been added to obtain all DNS records for a specific site. The essence of the method is a full enumeration; queries are made to the DNS server for each type of record. As a result, it is now possible to get a complete list of DNS records even for sites behind CloudFlare.

Service address:

Its mirror:

Enter the site address, select “Enumeration” as the method.

An example of getting all DNS records for a site behind CloudFlare:

DNS records SVCB and HTTPS are displayed for all sites – regardless of whether the system administrator set them or not. Their value repeats the contents of the A record.

All chrome://* pages. Most useful chrome:// pages

You may have noticed in Google Chrome pages whose URL starts with chrome://, for example, chrome://downloads. What are these pages? How can I find all their addresses? Which ones are really useful? This article will answer all of these questions.

What are chrome://* pages for?

chrome:// pages perform one or another function for the user when the output is large enough (for example, the list of downloads, the history of visited pages), and also provide access to the internal options of the web browser.

How to find out all pages like chrome://*

To list all addresses that start with chrome://, in the address bar of your web browser, enter:


There are quite a few of them – you can start getting to know them yourself by simply clicking on the links, or continue reading – we have selected for you the most useful and interesting service pages of Google Chrome.

Daily tasks



Show all chrome://* pages.


Lists applications


Offline running dinosaur game


Download List


Links to help pages


History of visited pages


Bookmark manager


Managing Web Browser Extensions


Web browser settings



New blank tab

Browser fine tuning


Omnibox (address bar, search bar) settings


Experimental flags (capabilities) of the browser, here they can be turned on or off

Computer hardware


Detecting (network) USB devices and configuring port forwarding


A plug log and other events with devices


Information about the used video card and software extensions and settings


Information about Bluetooth, including a list of devices previously connected to the computer (and not necessarily they were somehow used with a web browser).


Data on USB devices connected to the computer



Web Browser Database Information


URL auto-completion list


Ranking sites by user engagement


Web Browser Crash Information


Checking if the web browser is controlled externally


List of software components of the web browser


In opens tab with engagement information


The graph of the relationship of open tabs


Information about open tabbed audio usage, last download, and more


A variety of histograms


Internal web browser process data


Policy Information


Information about cached site files


Information about the settings for safe opening sites


Sandbox status


Internal account login information


Internal information about the translator's work


Pages that are shown on the main window of the web browser, suggested pages


System diagnostic data


Details of the web browser

Browser messages


List of browser messages


List of network errors



Maintaining and saving a log of network activity


Internal network settings


Reset browser DNS cache


Resetting sockets


User engagement when browsing sites


Internal sync data. A sync dump and sync search tool


Process tracing


Display of ongoing user actions


What is the error ERR_NETWORK_CHANGED

The ERR_NETWORK_CHANGED error shows the Google Chrome web browser when it was unable to load the site page due to the change in network parameters. More specifically, the web browser initiated the connection and the remote host responded, but before the page was loaded, something changed on the network.

Your connection was interrupted
A network change was detected.

ERR_NETWORK_CHANGED means that changes have occurred in the your local network, as a result of which already established connections cannot be continued, that is, they are broken, but there are no obstacles to establishing new connections.

Examples of situations where ERR_NETWORK_CHANGED is the norm, that is, when the network is really changing:

  • reconnecting to a Wi-Fi hotspot
  • connecting to another Wi-Fi hotspot
  • VPN connection established
  • reconnection to another Cellular Network base station
  • switch from wired to wireless network connection or vice versa
  • changing the used network adapter – for example, the computer is connected to Wi-Fi, and then connects to a wired network, as a result, the wired network adapter starts to be used, it also becomes the default gateway
  • the computer's IP address has changed

That is, in these situations, ERR_NETWORK_CHANGED is inevitable if you continue to use the network when reconnecting. If at the time of reconnection you are not using the network, then you will not notice anything.

ERR_NETWORK_CHANGED error often occurs when connecting to Wi-Fi

But there is a strange situation when, without reconnections, when using the same Wi-Fi Access Point, the ERR_NETWORK_CHANGED error occurs.

The likely cause of the error is interference from other wireless access points. At 2.4 GHz, wireless routers can use 13 channels. Moreover, the router itself can choose the most suitable (that is, the least loaded) channel, or you can set the channel manually.

Routers of the same type can be configured to use the same channel by default, for example, channel 1, as a result, the frequencies of this channel are overloaded and Wi-Fi networks begin to interfere with each other. You can fix this problem by changing your router settings.

Go to the control panel of your router – to do this, open one of the following addresses in your web browser:

If none of the addresses worked, then refer to the documentation of your router.

Enter the username and password – if you have not changed it, then often this is the pair admin:admin, admin:password, if this does not work, then refer to the documentation of your router.

Find the Wi-Fi network settings section, find the channel settings:

And switch to another channel, or select “Auto”:

Save your settings. It may take a little time for the router to apply the settings. As for client devices (phones, computers), they do not need to configure anything – they will automatically determine the correct channel and switch to it.

The opposite situation is possible – the “network change” error appears due to the fact that the router in the automatic selection mode often changes channels. In this case, set a fixed channel. To do this, select the channel on which the connection is the fastest and most stable (this should be the least busy channel, but you will not be able to check this by conventional means).

Write in the comments if this method helped you to cope with the ERR_NETWORK_CHANGED error. If it doesn't help, then check if this error disappears if you use Wi-Fi closer to a wireless router – if it really helps, then due to insufficient signal strength (router or your device), you have an unstable connection. In this case, you can rearrange the router (or client device), or even replace the router with a more powerful one with external antennas.

How to clear DNS and other caches in Google Chrome

Caching is an excellent technology, the essence of which is that once received files (images, scripts, HTML code) or data (DNS answers), can be reused (the user opens the same page, or the entire site uses the same JavaScript library) and no need to request or query and wait for data from the server again. Instead, a local (cached) copy is used, which reduces the time it takes to open the page and reduces the amount of transferred data – this is especially true with slow Internet connections.

If everything works fine, then we don't think about caches and caching, but if there is a failure in the Internet connection, then an annoying problem with opening pages appears that is difficult for the user to find the causes of the problem.

The page loads endlessly, although the Internet is available

If, when opening the page, your computer disconnected and then reconnected to the Internet, if it changed the connection network (Wi-Fi Access Point or Cellular Network base station), an ERR_NETWORK_CHANGED error occurred, a connection to a VPN network was made, or another situation related to a temporary loss of connection, then the corrupted data gets into the cache.

As a result, the connection to the network was restored long ago, other web browsers are able to open all URLs, including the problematic one, even Google Chrome itself can open other sites, but cannot open a page that was unsuccessfully saved in the cache, as a result of which there is endless page load which ends in failure.

If you've come across this at least once, then you understand how annoying it is. And the page is stored in the cache for a long time, so the option “wait 1 minute” will not work.

Google Chrome has several caches and it is problematic to answer the question in advance – which one should we clear to solve the problem? Therefore, we will clear them all in turn, starting with the least affecting our convenience, until the problem is resolved.

How to clear DNS cache in Google Chrome

In the address/search bar of your web browser, enter chrome://net-internals/#dns and click the “Clear host cache” button.

Sometimes, after flushing DNS, you also need to clear the socket pool, for this go to the chrome://net-internals/#sockets tab

Some users also prefer to clear the operating system cache when doing this.

On Windows, to flush the DNS cache at the command prompt, run:

ipconfig /flushdns

On OS X, to flush the DNS cache at the command line, run:

sudo killall -HUP mDNSResponder

How to clear the cache of sites in Google Chrome

The previous method does not always help – some even write that it stopped working in regular web browsers and only works in Google Chrome OS. If this also did not help you, then proceed to clearing the site cache.

To clear the cache of sites on Google, go to Settings → You and Google → Privacy and security group → Clear browsing data.

Or just in the address bar of your browser go to the chrome://settings/clearBrowserData tab

By default, the “Cached images and files” option is checked. This is a milder option – practically nothing will change for you, moreover, sometimes it is advisable to clear this cache in order to free up disk space from unnecessary files.

Click the Clear data button. This method helped me fix the problem with infinite page loading.

If even this did not help you, then select “Cookies and other site data”. In this case, you will be logged out of the sites, that is, you will need to log in again.


Which of these methods helped you? Write in the comments your situations with the problem of infinite loading of the site and how you solved it.

How to change the language of Google Chrome and Chromium on Linux

If you look at the process of changing the language in Google Chrome or Chromium in Windows, then everything is quite simple there: you need to enter chrome://settings/languages in the address bar of the browser, or you can use the menu: Settings → Advanced → Languages. Then expand the “Language” item, select the desired language and click on the three vertical dots opposite it. Then just click “Display Google Chrome in this language”:

But if you open Google Chrome or Chromium in Linux, then the inscription “Display Google Chrome in this language” is missing:

The inscription “Display Google Chrome in this language” not showing

Since Google Chrome and Chromium on Linux lacks the “Display Google Chrome in this language” menu, the question arises – how to change the browser language in Linux?

Apparently, it is impossible to change the language in the graphical interface – but it can be done on the command line.

To change the language, you need to assign the appropriate value to the environment variable LC_MESSAGES. For example, changing the language to English:

export LC_MESSAGES=en_US.UTF-8

Changing the language to Russian:

export LANG=ru_RU.UTF-8

Change language to French:

export LANG=fr_FR.UTF-8

After that, launch the Chromium browser:


Or Chrome:


In order not to remember and not to enter commands on the command line every time, you can create a file and copy into it:


export LC_MESSAGES=en_US.UTF-8

If you want Chrome to start this way, replace chromium with google-chrome-stable.

Make this file executable. After that, you will be able to launch the web browser in the language you need with a double click.

For Chrome, there is an additional ability to change the language without changing the value of the LC_MESSAGES variable – you can use the --lang option, after which specify the two-letter code of the desired language:

google-chrome-stable --lang=en

Please note that if the web browser is already open, then regardless of the specified option, a new window will be opened within the current session, that is, with the same interface language with which the first window was opened.

Is it possible to change the language of Google Chrome and Chromium on Linux in the GUI?

All attempts to find an option to change the language in the Web Browser Settings or in the experimental settings available in the chrome://flags/ tab were unsuccessful. Apparently, it is impossible to change the browser language in the graphical interface. If you know this method, then write it in the comments!

Permanent message “Briefly unavailable for scheduled maintenance. Check back in a minute.” (SOLVED)

When updating plugins, themes or WordPress engine, the site is automatically closed for users and instead they see the message “Briefly unavailable for scheduled maintenance. Check back in a minute”.

This is normal and the site reopens immediately after the update is complete. But if the updates were interrupted, for example, due to your unstable Internet connection, then the website unavailable message will not disappear. This article will guide you on how to fix the problem after an interrupted WordPress update.

How to update WordPress and plugins

To check available updates and update the WordPress engine, plugins and themes go to WordPress Admin Panel → Dashboard → Updates:

Or click on the two arrows in the form of a circle – the number shows the amount of available updates. If you do not see this icon, then there are no updates – all files are up to date.

How to fix “Briefly unavailable for scheduled maintenance. Check back in a minute”

If the update was interrupted – for example, you closed the page before the updates were completed, or you lost your Internet connection, or you received the ERR_NETWORK_CHANGED message in your web browser, then you can fix the problem by having access to the file system of the site.

1. First, wait a while to make sure that the updates are actually complete and that the message does not disappear automatically.

2. Go to the site folder

3. In the root directory (folder) of the site, find and delete the .maintenance file

Note that files starting with a dot are considered hidden on Linux systems. Therefore, if you have opened the correct folder, but you do not see this file, try to enable the display of hidden files in the file manager settings.

How to fix “Another update is currently in progress”

In some situations, for example, if you wait a long time after an unsuccessful update, the message that the site is unavailable for maintenance disappears and it seems that everything starts working as before, but when you try to perform the WordPress update, a message appears:

WordPress auto-update failed to complete – please try again.

Update WordPress

Another update is currently in progress.

This message will not disappear on its own. To correct this error, follow the steps above – that is, locate and delete the .maintenance file.   

How to fix “Configuration File (php.ini) Path” no value (SOLVED)

The phpinfo function shows complete information about the PHP environment, including which modules are enabled, where the configuration files are located, with which options the PHP binaries were compiled, and much more.

To use this function in the web server folder create a file and copy to it:


phpinfo ();

Save the file and open it in a web browser.

Why Configuration File (php.ini) Path has no value

As the name of the item “Configuration File (php.ini) Path” implies, this is the path to the configuration file php.ini. The php.ini file is important because it enables and disables modules, sets limits on the use of system hardware resources, and makes all other PHP settings.

As you can see in the screenshot, “Configuration File (php.ini) Path” is defined as “no value", that is, it is not set. You might think that something was done wrong and PHP works without modules.

But in fact, PHP and the web server on the computer from which the screenshot was taken are working as expected. Pay attention to the next item “Loaded Configuration File” after the highlighted line, it contains the value C:\Server\bin\PHP\php.ini, that is, the configuration file is loaded.

As for the “Configuration File (php.ini) Path”, the path to the file where php.ini is searched for by default is written here – this value is specified when compiling PHP, you do not need to worry about it.

That is, you need to pay attention only to the “Loaded Configuration File”, because if there is also “no value”, then it really means that the php.ini configuration file is not loaded and not used.

If some modules do not work, then carefully check the contents of php.ini – have you really uncommented the required lines?

After making changes to the php.ini file, remember to restart the web server for the changes to take effect.