Tag: Tor

How to install the latest version of Tor on Ubuntu

How to get the latest version of Tor on Ubuntu

The tor package is present in the Ubuntu repositories, but its version may be out of date. This is especially true for Ubuntu distributions released several years ago, even if they have long-term support (LTS).

In new versions of Tor, identified weaknesses and vulnerabilities are eliminated, as well as updating and supplementing the functionality. For this reason, you may need to install the latest version of the tor package.

Like other programs on Linux, you can compile Tor from source, and this article will show you how. Fortunately, the Tor developers maintain a binary repository for Ubuntu and Debian distributions.

In this guide, we will look at two ways to install a fresh version of Tor – from the repositories and from the source code.

How to install Tor from the Tor developers repositories

The Tor Project has its own Debian repository. Debian itself includes an LTS version of Tor. With it, you will not always be able to have the latest and most stable version of Tor. Therefore, it is recommended to install tor from the Tor Project repository.

This section will show you how to enable the Tor package repository on Debian-based Linux distributions.

Prerequisite: Verify the CPU architecture

The package repository offers amd64, arm64, and i386 binaries. Verify your operating system is capable of running the binary by inspecting the output of the following commend:

dpkg --print-architecture

It should output either amd64, arm64, or i386. The repository does not support other CPU architectures.

Note on Raspbian: The package repository does not offer 32-bit ARM architecture (armhf) images (yet). You should either install the version Debian offers (make sure to check out Debian backports, too, as that one has often a more up-to-date Tor package), or build Tor from source.

1. Install apt-transport-https

This step is only required for apt versions below 1.5. Support for https was added in versions of apt 1.5 and later, so currently the apt-transport-https package is kept in the repository for compatibility only and can be removed from the system without consequences.

To check the version of apt use the command

apt --version

On older distributions, you may need to install this package:

sudo apt install apt-transport-https

2. Create a new file in /etc/apt/sources.list.d/ named tor.list.

sudo gedit /etc/apt/sources.list.d/tor.list

Add the following entries:

deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org <DISTRIBUTION> main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org <DISTRIBUTION> main

In these lines, replace <DISTRIBUTION> with your operating system code. Run

lsb_release -c

to find out the operating system code.

The following command will output only the distribution code (the command is suitable for use in scripts):

lsb_release -c | awk '{print $2}'

Note. Starting with Ubuntu Focal, 32-bit applications are no longer supported, so when using sudo apt update, you may encounter the message:

Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://deb.torproject.org/torproject.org focal InRelease' doesn't support architecture 'i386'

To get rid of this message, the entries in the /etc/apt/sources.list.d/tor.list file need to be edited to be in the following format:

   deb     [arch= signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org focal main
   deb-src [arch= signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org focal main

Replace <ARCHITECTURE> with the architecture of your system, which can be viewed with the command

dpkg --print-architecture

For example:

deb [arch=amd64 signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org impish main
deb-src [arch=amd64 signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org impish main

3. Then add the gpg key used to sign the packages by running the following command at your command prompt:

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

4. Install tor and tor debian keyring

It is provided a Debian package to help you keep the latest version of your signing key. To install, use the following commands:

sudo apt update
sudo apt install tor deb.torproject.org-keyring

Source: https://support.torproject.org/apt/tor-deb-repo/

How to compile and install Tor from source on Ubuntu and Debian

This method differs from the previous one from a practical point of view in at least two important points:

  1. You need to keep track of new versions and update Tor yourself
  2. With this method, tor.service files are not created, that is, it will not be possible to manage the service using systemd with commands like
sudo systemctl start tor

To compile tor run the following commands:

sudo apt remove tor
sudo apt update
sudo apt install git make build-essential automake autoconf libevent-dev libssl-dev zlib1g-dev zlib1g asciidoc liblzma-dev libzstd-dev systemd libsystemd-dev pkg-config libnss3-dev
git clone https://github.com/torproject/tor
cd tor
sh autogen.sh
./configure --enable-systemd --enable-nss
make

Note that if the make command throws an error

make: *** No targets specified and no makefile found. Stop.

this means that the previous configure command failed. You need to return to its output and look in the last lines for the name of the missing package or another reason due to which the configuration failed.

After a successful compilation configuration, the installation is done like this:

sudo make install

To start Tor run the command:

tor

A sample configuration file is located at /usr/local/etc/tor/torrc.sample, you can use this as a base to configure Tor:

sudo cp /usr/local/etc/tor/torrc.sample /usr/local/etc/tor/torrc

Should I install Tor from my package manager or build from source?

If you are using Debian or Ubuntu, installing Tor from the Tor Project repository has several advantages:

  1. Your ulimit -n is set to 32768, which is enough for Tor to keep all necessary connections open.
  2. The user profile is created only for Tor, so Tor does not need to be run as root.
  3. An init script is included in the package so that Tor can be configured to start on boot. You can use systemd and systemctl to control the service
  4. Tor works with the --verify-config option, which means that before starting the service, the configuration file will be checked for correctness – this can help you solve problems if the service is not running.
  5. Tor can bind to low-level ports and then lower the privileges of its process.

See also: More Tor manuals

How to connect to Tor with OpenVPN

Connecting to Tor via a VPN is usually used in practice not so much to increase anonymity (although such use takes place), but to bypass the blocking of the Tor network. In some countries, the Tor network is blocked at the state level, so to connect the Tor browser or the Tor service, you must use bridges – intermediate nodes of the Tor network. Instead of bridges, you can connect to the Tor network through a VPN.

In fact, connecting to Tor via a VPN is even easier than using bridges.

Please note that due to the peculiarities of the blocking implementation (for example, blocking is performed only at the level of providers of the last mile), even the VPN of the country in which the Tor network is blocked can be used to bypass the connection blocking to the Tor network.

Signs that the ISP is blocking access to the Tor network are that the connection to Tor stops at the very first stages.

For example, Tor Browser freezes at the inscription:

Connecting to a Tor relay
Tor Browser routes your traffic over the Tor Network, run by thousands of volunteers around the world.

Another possible error:

Loading relay information

When trying to use the Tor service by starting it with the command

sudo systemctl start tor

status check

systemctl status tor

will show that the initial bootstrap stopped at 5%, that is, at the stage of connecting to the relay:

Jan 08 11:21:40 HackWare systemd[1]: Started Anonymizing overlay network for TCP.
Jan 08 11:21:41 HackWare Tor[25392]: Bootstrapped 5% (conn): Connecting to a relay

To connect to the Tor network over a VPN, start by connecting to a VPN server, for example using OpenVPN.

Right after that, you can use the Tor service as usual – no additional configuration is required.

The Tor Browser successfully connects to the Tor network and opens websites.

The tor service successfully establishes a connection to the Tor network.

See also:

How to get web page content and cookies of .onion sites in Python

A program that receives data from the Tor network must work with cookies, for example, in the case of a parser, it can be cURL, PHP script, Python script, and so on.

In the article “Web site parsing in command line” there is an example of working with cookies in cURL, but how to get the content of a web page (HTML code) and cookies of a Tor network site whose names end in .onion?

For the parser to work with the Tor network, you need to specify the data of the local Tor service (port number and “localhost” as IP) as a proxy for accessing the network.

For normal operation with .onion sites, you need to use the Tor DNS servers.

In the Python script, to access .onion sites, you need to use the socks5h protocol to enable the use of remote DNS to resolve hostnames to IP if local DNS resolution fails.

The following code shows the .onion page of the site (URL http://hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion) and cookies:

import requests
import json

proxies = {
	'http': 'socks5h://127.0.0.1:9050',
	'https': 'socks5h://127.0.0.1:9050'
}

session = requests.Session()

data = session.get("http://hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion",proxies=proxies).text

print(data)

print(session.cookies)

A simple PHP script is used as a site that sends HTML code and cookies:

An example of how the code above works – you can see HTML and cookies:

Line

print(session.cookies)

Outputs:

< RequestsCookieJar[< Cookie HackWare-cookie=For%20testing%20purpose%20only for hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion/ >] >

That is, the format is:

< RequestsCookieJar[< Cookie NAME=VALUE for SITE.onion/ >] >

If print (session.cookies) is changed to

print(session.cookies.get_dict())

then the format will be like this:

{'HackWare-cookie': 'For%20testing%20purpose%20only'}

Basically, sites can encrypt cookies. More precisely, in any case, cookies will be sent in the “NAME=VALUE” format. But the VALUE can be encrypted so that only the site will know what to do with it. But in general, the user does not need to think about it – what cookies were get, those are sent by the browser.

How connect to the Tor network via bridge on Linux

Some ISPs are blocking Tor. They can use various approaches, for example, block connections to all IPs of the Tor network, or by analyzing traffic and, if it is identified as belonging to the Tor network, block it.

Repeaters can be used to bypass this blockage. The bridge is one of the types of repeaters. Since not all bridge IP addresses are known, there is a chance to bypass Tor's blocking.

You need to get a list of current IP addresses. To do this, follow the link: https://bridges.torproject.org/options

Select obfs4 and click the Get Bridges Button:

Enter captcha:

You will be given a list of three addresses. Copy one of these lines.

Another way to get bridges is to send an email to bridges@torproject.org. Please note that you must submit an email request using one of the listed services: Riseup, Gmail, or Yahoo.

An example of my lines:

obfs4 185.220.101.103:52103 092D75D78FCBCD4487512FF09D077302B9EA5965 cert=p9L6+25s8bnfkye1ZxFeAE4mAGY7DH4Gaj7dxngIIzP9BtqrHHwZXdjMK0RVIQ34C7aqZw iat-mode=2
obfs4 45.33.1.189:9123 F9DFF618E7BA6C018245D417F39E970C2F019BAA cert=mDZuXuqSTjX1OjN7zLybTYzNi0A21A7G0DRNmW79029cSvLYSOk/KhGftcnmxruTmhRfZQ iat-mode=0
obfs4 199.26.245.64:34623 A30297A915AF69F84A2806E30E34E5856E74970C cert=qZ/wyRxyOjnpvKsoKY6bcpAIFTGhLPLUZiqTJsSlipBAzkDesnmWXOp+rVSXlZcYVu7EBw iat-mode=0

Install the required packages.

In Debian derivatives (Kali Linux, Linux Mint, Ubuntu), this is done with the command:

sudo apt install tor obfs4proxy

On Arch Linux derivatives (BlackArch, Manjaro), this is done with the command:

sudo pacman -S tor obfs4proxy

To the file /etc/tor/torrc

sudo gedit /etc/tor/torrc

Add the following lines:

ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy
Bridge obfs4 185.220.101.103:52103 092D75D78FCBCD4487512FF09D077302B9EA5965 cert=p9L6+25s8bnfkye1ZxFeAE4mAGY7DH4Gaj7dxngIIzP9BtqrHHwZXdjMK0RVIQ34C7aqZw iat-mode=2
UseBridges 1

In the line that starts with Bridge, enter your bridge details.

Start the tor service:

sudo systemctl restart tor

If the service started without errors, look at the Tor log:

sudo journalctl -b --no-pager /usr/bin/tor

Notice the lines that mention the bridge:

Bridge 'LuciferLegend' has both an IPv4 and an IPv6 address. Will prefer using its IPv4 address (45.33.1.189:9123) based on the configured Bridge address.
new bridge descriptor 'LuciferLegend' (fresh): $F9DFF618E7BA6C018245D417F39E970C2F019BAA~LuciferLegend [IYA46CLtoaY0T9Ewjort8NEM9gG4cW6UEt5BUpE1cKg] at 45.33.1.189 and [2600:3c00::f03c:91ff:fe7a:d97d]

If you do not have root rights and cannot edit the /etc/tor/torrc file, then this is not an obstacle to connecting to the Tor network via a bridge.

Create a settings file anywhere you have write permissions:

gedit settings.txt

And copy the following lines into it (replace the bridge parameters with yours):

ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy
Bridge obfs4 77.116.217.120:59126 5A1C6F3FEB89849001EDBFF45C17025E9C6324A3 cert=NyiABUP2ym213/zjXUVcBqe/HaGHnz6no30XXynqkDCFo9+bKTt+8JdWN6zUygHESaVPEw iat-mode=0
UseBridges 1

Run like this:

tor -f settings.txt

As you can see from the following lines, the connection to the Tor network is made using a bridge:

Jun 07 16:57:36.000 [notice] Starting with guard context "bridges"
Jun 07 16:57:36.000 [notice] new bridge descriptor 'tuonenvirta' (cached): $5A1C6F3FEB89849001EDBFF45C17025E9C6324A3~tuonenvirta [LaaGhMZyMDPGvzy5i08NSdaeP+Yik+Fu2Stc1pa/N/E] at 77.116.217.120

How to Configure Tor to Work Through a Bridge Relay and Proxy in Windows

If you want to install Tor as a service on Windows, then you need the Expert Bundle. It can be downloaded from this page of the official website.

From the downloaded archive (in my case, the file is called tor-win32-0.4.5.8.zip), unpack the Tor folder to the root of the C drive.

Configuring Tor to Work Through a Bridge Relay

Theory: Some ISPs are blocking Tor. They can use various approaches, for example, block connections to all IPs of the Tor network, or by analyzing traffic and, if it is identified as belonging to the Tor network, block it.

Repeaters can be used to bypass this blockage. The bridge is one of the types of repeaters. Since not all bridge IP addresses are known, there is a chance to bypass Tor's blocking.

For this to work, you need obfs4 and a list of actual bridge IP addresses. The obfs4 source code can be obtained here:

It is written in the Go language. You can compile executables from source. I'll take the binaries from the Tor Browser. The required files are located in the \Browser\TorBrowser\Tor\PluggableTransports\ folder of your Tor Browser. Copy this folder to C:\Tor\.

You need to get a list of current IP addresses. To do this, follow the link: https://bridges.torproject.org/options

Select obfs4 and click the Get Bridges Button:

Enter captcha:

You will be given a list of three addresses. Copy one of these lines.

Another way to get bridges is to send an email to bridges@torproject.org. Please note that you must submit an email request using one of the listed services: Riseup, Gmail, or Yahoo.

Now add to the C:\Tor\torrc file:

ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec C:\Tor\PluggableTransports\obfs4proxy.exe
Bridge STRING
UseBridges 1

Instead of STRING, insert one of those long lines that we got in the previous step:

It should look something like this:

ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec C:\Tor\PluggableTransports\obfs4proxy.exe
Bridge obfs4 216.218.131.139:443 DC99C664E304326DC2A0CE66F76F3839F796EEC6 cert=OQcT+t2aA5PiY8VYs22O9Cl1bbXL0ZSpyJFFDikcZi3LVHOA4M/qrBhNF9MgxD8IbZLXdA iat-mode=0
UseBridges 1

Let's check:

C:\Tor\tor.exe -f "C:\Tor\torrc"

Output example:

Jul 22 13:24:09.810 [notice] Tor 0.3.3.7 running on Windows 8 with Libevent 2.0.22-stable, OpenSSL 1.0.2n, Zlib 1.2.8, Liblzma N/A, and Libzstd N/A.
Jul 22 13:24:09.812 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jul 22 13:24:09.832 [notice] Read configuration file "C:\Tor\torrc".
Jul 22 13:24:09.842 [warn] Path for GeoIPFile (<default>) is relative and will resolve to C:\WINDOWS\system32\<default>. Is this what you wanted?
Jul 22 13:24:09.842 [warn] Path for GeoIPv6File (<default>) is relative and will resolve to C:\WINDOWS\system32\<default>. Is this what you wanted?
Jul 22 13:24:09.844 [notice] Scheduler type KISTLite has been enabled.
Jul 22 13:24:09.845 [notice] Opening Socks listener on 127.0.0.1:9050
Jul 22 13:24:10.000 [notice] Bootstrapped 0%: Starting
Jul 22 13:24:12.000 [notice] Starting with guard context "bridges"
Jul 22 13:24:12.000 [notice] new bridge descriptor 'Unnamed' (cached): $DC99C664E304326DC2A0CE66F76F3839F796EEC6~Unnamed at 216.218.131.139
Jul 22 13:24:12.000 [notice] Delaying directory fetches: Pluggable transport proxies still configuring
Jul 22 13:24:19.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Jul 22 13:24:19.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Jul 22 13:24:20.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Jul 22 13:24:22.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Jul 22 13:24:22.000 [notice] Bootstrapped 100%: Done

Notice the lines that talk about using the bridge:

Jul 22 13:24:12.000 [notice] Starting with guard context "bridges"
Jul 22 13:24:12.000 [notice] new bridge descriptor 'Unnamed' (cached): $DC99C664E304326DC2A0CE66F76F3839F796EEC6~Unnamed at 216.218.131.139

And the line “Bootstrapped 100%: Done” indicates that the connection was successful.

Note that obfs4proxy.exe is not unloaded after stopping Tor and even after closing the console:

You need to manually stop this process.

To find the PID:

netstat -aon | findstr ":9050"

To add to startup with settings:

C:\Tor\tor.exe --service install -options -f "C:\Tor\torrc"

Connecting to Tor via a proxy

You can connect to Tor through a proxy. The following types of proxies are supported:

  • HTTP
  • SOCKS5
  • SOCKS4

If you are connecting via an HTTP proxy, then use the HTTPSProxy directive:

HTTPSProxy Proxy_IP:8888

Enter the IP address of the proxy server as Proxy_IP, and replace port 8888 with the desired one.

If you need to enter a username and password on the proxy, then do it like this:

HTTPSProxyAuthenticator USER:PASS

Replace USER with your username and replace PASS with your password.

When connecting via a SOCKS5 proxy, add to the configuration file:

Socks5Proxy Proxy_IP:8888

For Proxy_IP, enter the IP address of the SOCKS5 proxy server, and replace the 8888 port with the desired one.

If you need to log in, then the username and password can be entered like this (replace USER and PASS with actual data):

Socks5ProxyUsername USER
Socks5ProxyPassword PASS

When connecting via a SOCKS4 proxy, add to the configuration file:

Socks4Proxy Proxy_IP:8888

For Proxy_IP, enter the IP address of the SOCKS5 proxy server, and replace the 8888 port with the desired one.

SOCKS4 does not support authentication.

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.

Source.

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.
    (default: 127.0.0.1)
  • 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 to download YouTube videos on Windows and Linux (GUI without third party services)

For Linux, there are different ways to download YouTube videos, including command line tools. I will show you a very user-friendly GUI downloader. In fact, this program supports hundreds of sites to automate downloads. Among these sites are file hosting and video sites. Moreover, you are not just given a download link, this program completely automates the process, that is, you can add many links of file hosting or video sites and they will all be downloaded without your further participation.

This is the JDownloader program. It is completely free, open source and runs on both Linux and Windows.

This program uses Java, but you don't need to worry about installing it - the program has its own portable Linux machine.

How to install JDownloader on Linux

So, to install JDownloader on Linux go to the official page: https://jdownloader.org/download/index

Select the Linux version x64 (64-bit) or x86 (32-bit).

The installation archive will be downloaded.

The program is portable and can be installed in any folder. By default, it will offer to install itself in the jd2 directory of the user's home folder. If you don't want to make a mess in your home folder, then I recommend creating a separate directory for your programs. For me it will be the bin directory in the user's home folder, to create it, run the command in the console:

mkdir ~/bin

Also, in the console, go to the folder with the downloaded file, for example, I downloaded to Downloads, go there:

cd ~/Downloads/

And run:

sh JD2Setup_x64.sh

I will not show all the windows, in some of them you just need to click “Next” or accept the license agreement. I will show only those that may raise questions.

When choosing the installation folder, specify the “bin” folder in your home directory:

It says to create an icon on the desktop:

After the installation was completed, I did not find an icon on my desktop, so I go to the folder with the installed program:

cd ~/bin/jd2/

And copy the shortcut to the desktop:

cp JDownloader\ 2.desktop ~/Desktop/

If the language of you operating system is not English, the Desktop folder may have a different name - so edit the command, or drag and drop the file using the graphical file manager.

To download from YouTube (or any other file hosting service), just copy the page address. JDownloader will decrypt the real link and add it to the download:

Please note that you can download video, audio, cover art and subtitles if available. Everything is elementary.

If you need to download a file via the Tor network, then install the tor package on your Linux system:

sudo apt update
sudo apt install tor

and run it:

sudo systemctl start tor.service

And in JDownloader go to Settings → Connection Manager:

Add a new connection, select Socks5 as the Connection Type, enter localhost as the Host, and where the port is 9050:

Save it and switch to this connection:

Loading...
X