Skip to main content

Most modern-looking, encrypted and functional in-console onion chat that you control!

Project description

🐲 dragonion

Most modern-looking, encrypted and functional in-console onion chat that you control!

📜 Table of Contents


📝 Note

dragonion IS NOT a chat for everyday use. It is specific application focused on privacy and safety. It can contain functions, that you won't like or don't contain some functions you would like to have in regular chat application. You need to set up [dragonion-server] by yourself or using existing server, hosted by your guild/organisation. We don't provide any official servers.


🛣️ Usage plan

  1. Check [📜 Table of Contents] (optionally)
  2. Read [📝 Note]
  3. Read [🛣️ Usage guide]
  4. Go to [⚙️ Configuration guide], choose your platform, navigate to opted installation method (they are arranged from most to least recommended)
  5. Make sure you have access to an up-to-date service provided by an administrator or friends, or run your own personal service using the [dragonion-server]
  6. Install pre-requirements, install app, run it, checking [💻 Usage guide] if needed

💻 Usage guide

To use dragonion-server, you need to install it first. To do this, you can visit [Configuration guide].

If you have questions that are not described in the documentation, you can chat with [AI based on this repository]

dragonion is textual application. It means, that it works entirely in the terminal, while having a modern design and user experience that does not differ from ordinary applications.

When using the application, you will come across terms such as services and rooms.

  • Services from the user's point of view is a pair of id-key or .auth file that you received from the administrator of your organization/guild or your friends.
  • The so-called rooms are sections of the service that separate users and make their communication private by protecting the rooms with a password. Rooms do not have a "correct" or "incorrect" password. Rooms with the same name and password - the same room, rooms with the same name but different password - different rooms (similarly with other situations, to get into one room with the interlocutors - everyone must enter the same name-password combination)

Let's say that you have a friend who suggested you connect via encrypted dragonion chat. In this case, friend most likely provided you with either two strings (service id and auth string) or an .auth file. Below, we will figure out what to do in each of these situations.

If not, you will most likely have to start the server yourself. It doesn't require any special programming or computer skills, but it can be a little more difficult than starting a chat. Check [dragonion-server] page to get more information about starting your own dragonion service.

After you have received the options for authentication, you need to install dragonion. To do this, you can use the [🔧 Configuration guide] or ask a question to [AI], specifying your platform and choosing the appropriate installation method for yourself.

With the program installed, you can proceed to launch and authenticate. If you have an .auth file, you need to copy it to the working directory of the program or run dragonion from the directory that contains this file. If there are authentication strings, you just need to save them for yourself and paste them into the appropriate fields at startup.

Start app using dragonion command or running executable, you will see user-friendly interface. Remember, that if you do not understand any part of the interface, you can always ask [AI] for help.

dragonion also has cli options to automate startup.

  • --auth or -a specifies service name. If service_name.auth file exists in working directory, first screen with entering auth data will be skipped.
  • --username or -u used to specify username to skip second screen of launch.
  • --connect or -c to start connecting right after application launch and entering user and auth information.
  • --dev-proxy-port is used for development and specifies local proxy port through which the dragonion will connect to the torus to skip the step of starting the internal proxy.

Use /connect and /join room password commands to manage connection. Also, you can get in-application help using /help command in chat input. If something is unclear, use [AI] to figure out what to do in this situation.


🔧 Configuration guide

You can use [pipx] to install dragonion:

pipx install dragonion

Or download pre-built executable:

If you are missing something, you use non-x64 (ARM) or Android system or just want to have more installation options, consider checking sections below.

Windows

Windows guide There are several different ways to install the program available, they are arranged from the most convenient and easily updated, to the less obvious, but perhaps more convenient for you:
Single standalone executable

Single standalone executable

This method provides the ability to download a single executable file that leaves no traces and is convenient for copying or using.

Pre-requirements

Fresh installation

Launch options

  • Run from commandline (Windows Terminal recommended) or by double-clicking executable. If double-clicking, .auth files need to be located near executable, if running from commandline, they need to be located in workdir.

Updating

  • Re-download latest version from link above and replace the file.

[Back to Usage guide]

Installation script

Installation script

This method provides a way to install non-portable, but standalone application, using one installation script

Pre-requirements

Fresh installation

  • Using powershell, navigate to folder where you want to be dragonion installed. In folder where you will run script, dragonion folder will be created.
  • Run:
iwr https://s.kotikot.com/dragonion/w | iex
  • After running this command, press Enter and wait.

Launch options

  • After installation finishes, script will output full installation path (with executable name). You can paste it in terminal to run dragonion.
  • Other option is to copy dragonion.exe from dragonion\Scripts somewhere and launch it. But remember, that you cannot move installation folder, app isn't portable.

Updating

  • Navigate to folder, where dragonion installation folder is located.
  • Run:
iwr https://s.kotikot.com/dragonion/wu | iex

Script mirrors:

Installation:

iwr https://s.kotikot.com/dragonion/w | iex
iwr https://github.com/dragonionx/dragonion/raw/master/scripts/w | iex
iwr https://pastebin.com/raw/ix3LtZqj | iex

Updating:

iwr https://s.kotikot.com/dragonion/wu | iex
iwr https://github.com/dragonionx/dragonion/raw/master/scripts/wu | iex
iwr https://pastebin.com/raw/Z28JDDMi | iex

[Back to Usage guide]

Using pipx

Using pipx

This method provides a way to install dragonion via pipx. It is very fast way of installation and very convenient for using, but has some pre-requirements to install on target system.

Pre-requirements

  • [Python3] (with pip)
  • [pipx], relaunch shell after installation
pip install pipx --user
python -m pipx ensurepath

Fresh installation

pipx install dragonion

Launch options

  • Run dragonion in terminal

Updating

pipx upgrade dragonion

[Back to Usage guide]

Python venv and pip

Python venv and pip

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

Fresh installation

git clone https://github.com/dragonionx/dragonion
cd dragonion
python -m venv venv
venv\Scripts\activate
pip install .

Launch options

  • After fresh install, run dragonion in environment (or python -m dragonion)
  • cd to app folder, run venv\Scripts\activate, than dragonion in environment (python -m dragonion)
  • Run dragonion.exe from venv\Scripts. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

cd to app directory, than

git pull

If there are new changes, run

venv\Scripts\activate
pip install .

[Back to Usage guide]

Building from .whl

Building from .whl

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

Fresh installation

python -m venv dragonion
dragonion\Scripts\activate
pip install dragonion-universal-py3-none-any.whl

Launch options

  • After fresh install, run dragonion in environment (or python -m dragonion)
  • cd to app folder, run dragonion\Scripts\activate, than dragonion in environment (python -m dragonion)
  • Run dragonion.exe from dragonion\Scripts. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

dragonion\Scripts\activate
pip install dragonion-universal-py3-none-any.whl

[Back to Usage guide]

Linux

Linux guide Installation methods depend on your processor architecture. Choose the one that suits you. In sections, different ways to install the program are arranged from the most convenient and easily updated, to the less obvious, but perhaps more convenient for you:
x64
Using pipx

Using pipx

This method provides a way to install dragonion via pipx. It is very fast way of installation and very convenient for using.

Pre-requirements

  • python3, python3-pip, python3-venv

Fresh installation

  • Install pipx and relaunch shell
pip install pipx --user
python3 -m pipx ensurepath
  • Install dragonion
pipx install dragonion

Launch options

  • Run dragonion in terminal

Updating

pipx upgrade dragonion

[Back to Usage guide]

Single standalone executable

Single standalone executable

This method provides the ability to download a single executable file that leaves no traces and is convenient for copying or using.

Pre-requirements

  • No special requirements found on regular distros

Fresh installation

Launch options

  • Run from commandline dragonion-linux, .auth files should be located in workdir

Updating

Re-download latest version from link above and replace the file.

[Back to Usage guide]

Installation script

Installation script

This method provides a way to install non-portable, but standalone application, using one installation script.

Pre-requirements

  • python3 python3-pip python3-venv wget

Fresh installation

  • Using your shell, navigate to directory where you want to be dragonion installed. In folder where you will run script, dragonion dir will be created.
  • Run:
. <(wget -qO- https://s.kotikot.com/dragonion/l)
  • After running this command, press Enter and wait.

Launch options

  • After installation finishes, script will output full installation path (with executable name). You can paste it in terminal to run dragonion.
  • Also, after installation you will be in dragonion environment, so you can run dragonion as command. To deactivate it, you can run deactivate, and to activate again, use . dragonion/bin/activate
  • Other option is to copy dragonion from dragonion\bin somewhere and launch it. But remember, that you cannot move installation dir, app isn't portable.

Updating

  • Navigate to directory, where dragonion installation dir is located.
  • Run:
. <(wget -qO- https://s.kotikot.com/dragonion/lu)

Script mirrors:

Installation:

. <(wget -qO- https://s.kotikot.com/dragonion/l)
. <(wget -qO- https://github.com/dragonionx/dragonion/raw/master/scripts/l)
. <(wget -qO- https://pastebin.com/raw/LdrRBEYB)

Updating:

. <(wget -qO- https://s.kotikot.com/dragonion/lu)
. <(wget -qO- https://github.com/dragonionx/dragonion/raw/master/scripts/lu)
. <(wget -qO- https://pastebin.com/raw/XRSA9wUz)

[Back to Usage guide]

Python venv and pip

Python venv and pip

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv
  • git

Fresh installation

git clone https://github.com/dragonionx/dragonion
cd dragonion
python3 -m venv venv
. venv\bin\activate
pip install .

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . venv\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from venv\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

cd to app directory, than

git pull

If there are new changes, run

. venv\bin\activate
pip install .

[Back to Usage guide]

Building from .whl

Building from .whl

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv

Fresh installation

python3 -m venv dragonion
. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . dragonion\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from dragonion\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

[Back to Usage guide]

arm

ARM

Tor does not provide expert bundles for arm systems (except macOS). You need to install tor through your package manager, which is indicated in the pre-requirements

Using pipx

Using pipx

This method provides a way to install dragonion via pipx. It is very fast way of installation and very convenient for using.

Pre-requirements

  • python3, python3-pip, python3-venv
  • tor

Fresh installation

  • Install pipx and relaunch shell
pip install pipx --user
python3 -m pipx ensurepath
  • Install dragonion
pipx install dragonion

Launch options

  • Run dragonion in terminal

Updating

pipx upgrade dragonion

[Back to Usage guide]

Installation script

Installation script

This method provides a way to install non-portable, but standalone application, using one installation script.

Pre-requirements

  • python3 python3-pip python3-venv wget
  • tor

Fresh installation

  • Using your shell, navigate to directory where you want to be dragonion installed. In folder where you will run script, dragonion dir will be created.
  • Run:
. <(wget -qO- https://s.kotikot.com/dragonion/l)
  • After running this command, press Enter and wait.

Launch options

  • After installation finishes, script will output full installation path (with executable name). You can paste it in terminal to run dragonion.
  • Also, after installation you will be in dragonion environment, so you can run dragonion as command. To deactivate it, you can run deactivate, and to activate again, use . dragonion/bin/activate
  • Other option is to copy dragonion from dragonion\bin somewhere and launch it. But remember, that you cannot move installation dir, app isn't portable.

Updating

  • Navigate to directory, where dragonion installation dir is located.
  • Run:
. <(wget -qO- https://s.kotikot.com/dragonion/lu)

Script mirrors:

Installation:

. <(wget -qO- https://s.kotikot.com/dragonion/l)
. <(wget -qO- https://github.com/dragonionx/dragonion/raw/master/scripts/l)
. <(wget -qO- https://pastebin.com/raw/LdrRBEYB)

Updating:

. <(wget -qO- https://s.kotikot.com/dragonion/lu)
. <(wget -qO- https://github.com/dragonionx/dragonion/raw/master/scripts/lu)
. <(wget -qO- https://pastebin.com/raw/XRSA9wUz)

[Back to Usage guide]

Python venv and pip

Python venv and pip

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv
  • git
  • tor

Fresh installation

git clone https://github.com/dragonionx/dragonion
cd dragonion
python3 -m venv venv
. venv\bin\activate
pip install .

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . venv\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from venv\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

cd to app directory, than

git pull

If there are new changes, run

. venv\bin\activate
pip install .

[Back to Usage guide]

Building from .whl

Building from .whl

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv
  • tor

Fresh installation

python3 -m venv dragonion
. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . dragonion\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from dragonion\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

[Back to Usage guide]

MacOS

MacOS guide
Using pipx

Using pipx

This method provides a way to install dragonion via pipx. It is very fast way of installation and very convenient for using.

Pre-requirements

  • python3, python3-pip, python3-venv

Fresh installation

  • Install pipx and relaunch shell
brew install pipx
pipx ensurepath
  • Install dragonion
pipx install dragonion

Launch options

  • Run dragonion in terminal

Updating

pipx upgrade dragonion

[Back to Usage guide]

Single standalone executable

Single standalone executable

This method provides the ability to download a single executable file that leaves no traces and is convenient for copying or using.

Pre-requirements

  • No special requirements found on regular distros

Fresh installation

Launch options

  • Run from commandline dragonion-darwin, .auth files should be located in workdir

Updating

Re-download latest version from link above and replace the file.

[Back to Usage guide]

Installation script

Installation script

This method provides a way to install non-portable, but standalone application, using one installation script.

Pre-requirements

  • python3 python3-pip python3-venv wget curl

Fresh installation

  • Using your shell, navigate to directory where you want to be dragonion installed. In folder where you will run script, dragonion dir will be created.
  • Run:
bash <(curl -sL https://s.kotikot.com/dragonion/m)
  • After running this command, press Enter and wait.

Launch options

  • After installation finishes, script will output full installation path (with executable name). You can paste it in terminal to run dragonion.
  • Also, after installation you will be in dragonion environment, so you can run dragonion as command. To deactivate it, you can run deactivate, and to activate again, use . dragonion/bin/activate
  • Other option is to copy dragonion from dragonion\bin somewhere and launch it. But remember, that you cannot move installation dir, app isn't portable.

Updating

  • Navigate to directory, where dragonion installation dir is located.
  • Run:
bash <(curl -sL https://s.kotikot.com/dragonion/lu)

Script mirrors:

Installation:

bash <(curl -sL https://s.kotikot.com/dragonion/m)
bash <(curl -sL https://github.com/dragonionx/dragonion/raw/master/scripts/m)
bash <(curl -sL https://pastebin.com/raw/4whxpEFD)

Updating:

bash <(curl -sL https://s.kotikot.com/dragonion/mu)
bash <(curl -sL https://github.com/dragonionx/dragonion/raw/master/scripts/mu)
bash <(curl -sL https://pastebin.com/raw/DkPhhTyv)

[Back to Usage guide]

Python venv and pip

Python venv and pip

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv
  • git

Fresh installation

git clone https://github.com/dragonionx/dragonion
cd dragonion
python3 -m venv venv
. venv\bin\activate
pip install .

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . venv\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from venv\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

cd to app directory, than

git pull

If there are new changes, run

. venv\bin\activate
pip install .

[Back to Usage guide]

Building from .whl

Building from .whl

This method provides a way of installation using python in virtual environment and installing application from repo.

Pre-requirements

  • python3 python3-pip python3-venv

Fresh installation

python3 -m venv dragonion
. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

Launch options

  • After fresh install, run dragonion in environment (or python3 -m dragonion)
  • cd to app folder, run . dragonion\bin\activate, than dragonion in environment (python3 -m dragonion)
  • Run dragonion from dragonion\bin. You can also copy it anywhere you want, but remember that data and config files are saved near executable file

Updating

. dragonion\bin\activate
pip install dragonion-universal-py3-none-any.whl

[Back to Usage guide]

Android

Termux guide

Due to the nature of Termux, installation can be a little tricky, so we have simplified the installation process for you by creating a specific pre-requirements termux guide.

pkg install python python-pip libexpat git rust binutils tor
pkg upgrade

Now, navigate to [guide for Linux ARM systems] (Linux -> arm) and choose desired installation way. They all apply for termux also if pre-requirements above are installed.


📃 Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dragonion-1.0.0-py3-none-any.whl (42.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page