Wormhole что это ubuntu

Обновлено: 08.07.2024

This package provides a library and a command-line tool named wormhole , which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical “wormhole codes”: in general, the sending machine generates and displays the code, which must then be typed into the receiving machine.

The codes are short and human-pronounceable, using a phonetically-distinct wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.

Example¶

Installation¶

The easiest way to install magic-wormhole is to use a packaged version from your operating system. If there is none, or you want to participate in development, you can install from source.

MacOS / OS-X¶

Install Homebrew, then run brew install magic-wormhole .

Linux (Debian/Ubuntu)¶

Magic-wormhole is available with apt in Debian 9 “stretch”, Ubuntu 17.04 “zesty”, and later versions:

Linux (Fedora)¶

Linux (openSUSE)¶

Linux (Snap package)¶

Many linux distributions (including Ubuntu) can install “Snap” packages. Magic-wormhole is available through a third-party package (published by the “snapcrafters” group):

Install from Source¶

Magic-wormhole is a Python package, and can be installed in the usual ways. The basic idea is to do pip install magic-wormhole , however to avoid modifying the system’s python libraries, you probably want to put it into a “user” environment (putting the wormhole executable in

/.local/bin/wormhole ) like this:

or put it into a virtualenv, like this:

You can then run venv/bin/wormhole without first activating the virtualenv, so e.g. you could make a symlink from

/bin/wormhole to . /path/to/venv/bin/wormhole , and then plain wormhole send will find it on your $PATH .

You probably don’t want to use sudo when you run pip . This tends to create conflicts with the system python libraries.

On OS X, you may need to pre-install pip , and run $ xcode-select --install to get GCC, which is needed to compile the libsodium cryptography library during the installation process.

On Debian/Ubuntu systems, you may need to install some support libraries first:

$ sudo apt-get install python-pip build-essential python-dev libffi-dev libssl-dev

On Linux, if you get errors like fatal error: sodium.h: No such file or directory , either use SODIUM_INSTALL=bundled pip install magic-wormhole , or try installing the libsodium-dev / libsodium-devel package. These work around a bug in pynacl which gets confused when the libsodium runtime is installed (e.g. libsodium13 ) but not the development package.

On Windows, python2 may work better than python3. On older systems, $ pip install --upgrade pip may be necessary to get a version that can compile all the dependencies. Most of the dependencies are published as binary wheels, but in case your system is unable to find these, it will have to compile them, for which Microsoft Visual C++ 9.0 may be required.

Motivation¶

  • Moving a file to a friend’s machine, when the humans can speak to each other (directly) but the computers cannot
  • Delivering a properly-random password to a new user via the phone
  • Supplying an SSH public key for future login use

Copying files onto a USB stick requires physical proximity, and is uncomfortable for transferring long-term secrets because flash memory is hard to erase. Copying files with ssh/scp is fine, but requires previous arrangements and an account on the target machine, and how do you bootstrap the account? Copying files through email first requires transcribing an email address in the opposite direction, and is even worse for secrets, because email is unencrypted. Copying files through encrypted email requires bootstrapping a GPG key as well as an email address. Copying files through Dropbox is not secure against the Dropbox server and results in a large URL that must be transcribed. Using a URL shortener adds an extra step, reveals the full URL to the shortening service, and leaves a short URL that can be guessed by outsiders.

Many common use cases start with a human-mediated communication channel, such as IRC, IM, email, a phone call, or a face-to-face conversation. Some of these are basically secret, or are “secret enough” to last until the code is delivered and used. If this does not feel strong enough, users can turn on additional verification that doesn’t depend upon the secrecy of the channel.

The notion of a “magic wormhole” comes from the image of two distant wizards speaking the same enchanted phrase at the same time, and causing a mystical connection to pop into existence between them. The wizards then throw books into the wormhole and they fall out the other side. Transferring files securely should be that easy.

Design¶

The wormhole tool uses PAKE “Password-Authenticated Key Exchange”, a family of cryptographic algorithms that uses a short low-entropy password to establish a strong high-entropy shared key. This key can then be used to encrypt data. wormhole uses the SPAKE2 algorithm, due to Abdalla and Pointcheval1.

PAKE effectively trades off interaction against offline attacks. The only way for a network attacker to learn the shared key is to perform a man-in-the-middle attack during the initial connection attempt, and to correctly guess the code being used by both sides. Their chance of doing this is inversely proportional to the entropy of the wormhole code. The default is to use a 16-bit code (use –code-length= to change this), so for each use of the tool, an attacker gets a 1-in-65536 chance of success. As such, users can expect to see many error messages before the attacker has a reasonable chance of success.

Timing¶

The program does not have any built-in timeouts, however it is expected that both clients will be run within an hour or so of each other. This makes the tool most useful for people who are having a real-time conversation already, and want to graduate to a secure connection. Both clients must be left running until the transfer has finished.

Relays¶

The wormhole library requires a “Mailbox Server” (also known as the “Rendezvous Server”): a simple WebSocket-based relay that delivers messages from one client to another. This allows the wormhole codes to omit IP addresses and port numbers. The URL of a public server is baked into the library for use as a default, and will be freely available until volume or abuse makes it infeasible to support. Applications which desire more reliability can easily run their own relay and configure their clients to use it instead. Code for the Mailbox Server is in a separate package named magic-wormhole-mailbox-server and has documentation here. Both clients must use the same mailbox server. The default can be overridden with the --relay-url option.

The file-transfer commands also use a “Transit Relay”, which is another simple server that glues together two inbound TCP connections and transfers data on each to the other (the moral equivalent of a TURN server). The wormhole send file mode shares the IP addresses of each client with the other (inside the encrypted message), and both clients first attempt to connect directly. If this fails, they fall back to using the transit relay. As before, the host/port of a public server is baked into the library, and should be sufficient to handle moderate traffic. Code for the Transit Relay is provided a separate package named magic-wormhole-transit-relay with instructions here. The clients exchange transit relay information during connection negotiation, so they can be configured to use different ones without problems. Use the --transit-helper option to override the default.

The protocol includes provisions to deliver notices and error messages to clients: if either relay must be shut down, these channels will be used to provide information about alternatives.

CLI tool¶

  • wormhole send [args] --text TEXT
  • wormhole send [args] FILENAME
  • wormhole send [args] DIRNAME
  • wormhole receive [args]

Both commands accept additional arguments to influence their behavior:

  • --code-length WORDS : use more or fewer than 2 words for the code
  • --verify : print (and ask user to compare) extra verification string

Library¶

The wormhole module makes it possible for other applications to use these code-protected channels. This includes Twisted support, and (in the future) will include blocking/synchronous support too. See docs/api.md for details.

The file-transfer tools use a second module named wormhole.transit , which provides an encrypted record-pipe. It knows how to use the Transit Relay as well as direct connections, and attempts them all in parallel. TransitSender and TransitReceiver are distinct, although once the connection is established, data can flow in either direction. All data is encrypted (using nacl/libsodium “secretbox”) using a key derived from the PAKE phase. See src/wormhole/cli/cmd_send.py for examples.

Development¶

To set up Magic Wormhole for development, you will first need to install virtualenv.

Once you’ve done that, git clone the repo, cd into the root of the repository, and run:

Now your virtualenv has been activated. You’ll want to re-run source venv/bin/activate for every new terminal session you open.

To install Magic Wormhole and its development dependencies into your virtualenv, run:

If you are using zsh, such as on macOS Catalina or later, you will have to run pip install -e .'[dev]' instead.

While the virtualenv is active, running wormhole will get you the development version.

Running Tests¶

Within your virtualenv, the command-line program trial will run the test suite:

This tests the entire wormhole package. If you want to run only the tests for a specific module, or even just a specific test, you can specify it instead via Python’s standard dotted import notation, e.g.:

Developers can also just clone the source tree and run tox to run the unit tests on all supported (and installed) versions of python: 2.7, 3.4, 3.5, and 3.6.

Troubleshooting¶

Every so often, you might get a traceback with the following kind of error:

If this happens, run pip install -e .[dev] again.

Other¶

License, Compatibility¶

This library is released under the MIT license, see LICENSE for details.

This library is compatible with python2.7, 3.4 (non-Windows-only), 3.5, and 3.6 .


Обзоры

В этой статье мы рассмотрим инструменты мониторинга с открытым исходным кодом для Linux:

  • Prometheus
  • Grafana
  • Elastic search
  • Nagios Core
  • Zabbix
  • Cacti
  • Icinga
  • MRTG
  • Netdata
  • Sensu
  • Pandora FMS


Ключевые особенности:

Преимущества:

  • В Prometheus есть вкладки, которые обслуживают сотни сервисов и микросервисов.
  • Работает как единый сервис, чтобы управлять всеми инстансами.
  • Prometheus использует несколько режимов, используемых для поддержки построения графиков и информационных панелей.


Ключевые особенности:

Преимущества:


Ключевые особенности:

Бэкэнд-компоненты Elasticsearch включают

Преимущества:

  • Elasticsearch выполняет поиск по индексу, благодаря чему он может добиться быстрого ответа при поиске.
  • Elasticsearch отслеживает состояние кластера.
  • В Elasticsearch мы можем включить самоконтроль.
  • Мы также можем легко включить мониторинг хостов Elasticsearch с помощью Metric beat.


Ключевые особенности:

Преимущества:

  • Nagios построен на архитектуре сервер/агенты, которая упрощает взаимодействие с серверами.
  • С Nagios может быть выполнено быстрое обнаружение сбоев сервера и сетевых протоколов.
  • В Nagios доступно 3500 различных дополнений для мониторинга ваших серверов.
  • Использование Nagios экономит наше время, так как мониторинг всего осуществляется на одной платформе.


Ключевые особенности:

Типы мониторинга, выполняемые Zabbix:

  1. Мониторинг сети
  2. Мониторинг сервера
  3. Облачный мониторинг
  4. Мониторинг приложений
  5. Мониторинг служб

Zabbix имеет сквозное шифрование и хорошую аутентификацию, и благодаря этому Zabbix имеет надежную защиту.

В Zabbix есть несколько веток, поэтому распределенный мониторинг возможен одновременно.

Преимущества:

  • Zabbix разработан для масштабирования от небольших сред до больших сред.
  • Zabbix доверяют такие мировые бренды, как Dell, HP, Salesforce, T Systems и т. Д.
  • Zabbix имеет высокую доступность, потому что у него несколько серверов, таких как прокси-серверы, поэтому нагрузка распределяется.


Ключевая особенности:

Преимущества:

  • Cacti- это управление на основе политики. по которой выбранный администратор создает и назначать пользователей.
  • Cacti можно расширить для любого источника с помощью сценариев оболочки.
  • Cacti имеет гибкие источники данных.
  • Распределение удаленных данных может быть также выполнено с помощью Cacti.


Ключевые особенности:

Преимущества:


Ключевые особенности:

Используя Netdata, мы можем отслеживать:

  1. Сервер
  2. Системные приложения
  3. Контейнеры
  4. Веб-приложения
  5. Виртуальные машины
  6. Базы данных
  7. Устройства IOT.

Мы можем контролировать 1000 устройств с помощью Netdata.

Нам нужно будет установить плагин python для мониторинга баз данных PostgreSQL.

Преимущества:

  • Netdata представляет собой инструмент мониторинга с открытым исходным кодом.
  • Netdata также может контролировать определенные устройства SNMP.
  • Netdata имеет хорошие интерактивные веб-дашборды.
  • Netdata работает быстро и эффективно.
  • Netdata имеет открытый исходный код и не зависит от платформы.
  • Использование ОЗУ, мониторинг оптимизации ядра становится очень простым с помощью Netdata.


Ключевые особенности:

Преимущества:

  • Инструмент мониторинга Sensu является портативным.
  • Простота использования
  • Инструмент для мониторинга Sensu быстрый.


Ключевые особенности:

Используя Pandora FMS, мы можем отслеживать:

  • Сеть
  • Логи
  • Базы данных
  • Облака
  • Приложения
  • Серверы
  • IPAM
  • SAP
  • Интернет вещей

Он может выполнять как удаленный мониторинг, так и мониторинг на основе агентов, установленных на серверах.

Преимущества:

  • Pandora FMS имеет версию с открытым исходным кодом.
  • У него также есть также версия Enterprise, которая используется многими ИТ-компаниями.
  • Версия Pandora FMS с открытым исходным кодом и корпоративная версия регулярно обновляются каждый месяц.
  • Имеет прямой доступ с консоли.

Заключение:

Мы рассмотрели инструменты мониторинга с открытым исходным кодом для Linux-Prometheus, Grafana, Elastic search, Nagios Core, Zabbix, Cacti, Icinga, MRTG, Netdata, Sensu, Pandora FMS.



Anything in here will be replaced on browsers that support the canvas element


23 апреля состоялся релиз Ubuntu версии 20.04 с кодовым названием Focal Fossa, являющимся следующим выпуском Ubuntu для долгосрочной поддержки (LTS) и является продолжением Ubuntu 18.04 LTS, выпущенной в 2018 году.

Немного про кодовое имя. Слово «Focal» означает «центральная точка» или «самая важная часть», то есть связано с понятием средоточия, центром каких-либо свойств, явлений, событий, а «Fossa» имеет корень «FOSS» (Free and Open-Source Software — свободное и открытое программное обеспечение) и по традиции именования версий Ubuntu названиями животных означает Фосса — самое крупное хищное млекопитающее из семейства виверровых с острова Мадагаскар.

Разработчики позиционируют Ubuntu 20.04 как важное и успешное обновление с поддержкой в течение следующих 5 лет для настольных компьютеров и серверов.

Ubuntu 20.04 явилась логическим продолжением Ubuntu 19.04 «Disco Dingo» и Ubuntu 19.10 «Eoan Ermine». В версиях для настольных компьютеров, следуя последним тенденциям, появилась темная тема. Таким образом, в Ubuntu 20.04 есть три варианта стандартной темы Yaru:

Ключевые изменения

Ubuntu 20.04 основана на ядре 5.4, которое вышло в свет 24 ноября 2019 года. В этой версии были реализованы несколько важных нововведений, о которых мы расскажем ниже.

Инженеры Canonical провели тестирование различных алгоритмов сжатия для ядра и начального загрузочного образа initramfs, пытаясь найти компромисс между наилучшим сжатием (меньшим размером файла) и временем распаковки. Алгоритм сжатия без потерь lz4 показал наиболее заметные результаты и был добавлен в Ubuntu 19.10, что позволило ей сократить время загрузки по сравнению с предыдущими выпусками (Ubuntu 18.04 и 19.04). Этот же алгоритм сохранится в Ubuntu 20.04.

Linux Lockdown Kernel

Функция Lockdown увеличивает безопасность ядра Linux, ограничивая доступ к функциям, которые могут разрешить выполнение произвольного кода через код, предоставляемый пользовательскими процессами. Проще говоря, даже учетная запись суперпользователя root не может изменить код ядра. Это позволяет уменьшить ущерб от потенциальной атаки, даже когда учетная запись root скомпрометирована. Таким образом, повышается и общая безопасность операционной системы.

exFAT

Файловая система Microsoft FAT не позволяет передавать файлы размером более 4 ГБ. Чтобы преодолеть это ограничение, Microsoft создала файловую систему exFAT (от англ. Extended FAT — «расширенная FAT»). Теперь вы можете отформатировать, например, USB-накопитель в exFAT при помощи встроенной поддержки файловой системы exFAT.

WireGuard

Хотя Ubuntu 20.04 не будет использовать ядро 5.6, по крайней мере сразу, она уже сейчас использует бэкпорт WireGuard в ядре 5.4. WireGuard — это новое слово в индустрии VPN, поэтому включение WireGuard в ядро уже сейчас дает преимущество Ubuntu 20.04 в облачном направлении.

Исправлен баг с квотами CFS и теперь многопоточные приложения могут работать быстрее. Добавлен драйвер позволяющий работать с сенсорами температуры и напряжения процессоров линейки Ryzen.

Использование Kubernetes

Canonical реализовала в Ubuntu 20.04 полную поддержку Кubernetes 1.18 с поддержкой Charmed Kubernetes, MicroK8s и kubeadm.

Установка Kubectl в Ubuntu 20.04:

Использование SNAP

Canonical продолжает продвигать универсальный формат пакета — snap. Это еще более очевидно в выпуске Ubuntu 20.04. Если попытаетесь запустить программу, которая не установлена, то в первую очередь ее предложат установить при помощи:


Улучшенная поддержка ZFS

Хотя Линусу Торвальдсу может не нравиться ZFS, она все еще остается популярной файловой системой и добавлена её экспериментальная поддержка с Ubuntu 19.10.
Она достаточно удобна и стабильна для хранения данных, тот же домашний архив или же серверное хранилище на работе («из коробки» умеет больше, чем тот же LVM). ZFS поддерживает размеры разделов до 256 квадриллионов Зеттабайт (отсюда буква «Z» в наименовании) и может обрабатывать файлы размером до 16 Эксабайт.

ZFS выполняет контроль целостности данных, учитывая то, как они размещены на диске. Функция копирования при записи гарантирует, что используемые данные не будут перезаписаны. Вместо этого новая информация записывается в новый блок, а метаданные файловой системы обновляются, чтобы указывать на него. ZFS позволяет создавать снапшоты (снимки файловой системы), которые отслеживают внесенные изменения в файловую систему и обмениваются с ней данными, чтобы сэкономить дисковое пространство.

ZFS присваивает контрольную сумму каждому файлу на диске и постоянно проверяет его состояние по ней. Если она обнаружит, что файл поврежден, то попытается автоматически восстановить его. В программе установки Ubuntu появился отдельный пункт, который позволяет использовать ZFS. Более подробнее с историей ZFS и ее особенностями можете ознакомиться в блоге It's FOSS.

Прощай Python 2.X

Третья версия Python была представлена еще в 2008 году, но даже 12 лет оказалось недостаточно для того, чтобы проекты на Python 2 адаптировать к ней.
Еще в Ubuntu 15.10 была сделана попытка отказаться от Python 2, но его поддержка продолжилась. И сейчас 20 апреля 2020 года вышел Python 2.7.18, который является последним выпуском ветки Python 2. Обновлений для него больше не будет.

Ubuntu 20.04 больше не поддерживает Python 2 и использует Python 3.8 в качестве версии Python по-умолчанию. К сожалению, в мире осталось много проектов, работающих с Python 2, и для них переход на Ubuntu 20.04 может оказаться болезненным.

Последнюю версию Python 2 можете поставить одной командой:


Помимо Python 3.8, разработчики могут оценить обновленный набор инструментов, который включает:

  • MySQL 8,
  • glibc 2.31,
  • OpenJDK 11,
  • PHP 7.4,
  • Perl 5.30,
  • Golang 1.14.

Прощайте 32 бита

Уже несколько лет Ubuntu не предоставляет ISO-образы для 32-битных компьютеров. Сейчас существующие пользователи 32-битных версий Ubuntu могут перейти на Ubuntu 18.04, но до Ubuntu 20.04 обновиться уже не получится. То есть, если сейчас используете 32-битную Ubuntu 18.04, то сможете оставаться с ней до апреля 2023 года.

Как обновиться

Обновиться до Ubuntu 20.04 c предыдущих версий проще простого — достаточно выполнить следующие команды:

Wormhole Securely Share Files in Linux

It is public knowledge that if you want to get most things done quickly and securely you should use the Command Line Interface. Of course, there exist nifty apps with speedy workflows but in some cases, the CLI still rules. This is one such case.

Wormhole is a CLI-based application with which you can securely send text, files and even folders (which will be automatically zipped) to virtually anyone via the CLI.

Imagine a base case scenario: you want to send a couple of files to a friend, thousands of miles away. You launch a new terminal window using Hyper (wink), open a wormhole, and after entering a couple of words, hit enter.

Your friend on the other end launches his terminal, opens a corresponding wormhole and enters a code to authenticate his access to the files. Easy!

On Security

With regards to how secure it is to use Wormhole the GitHub page in reads:

The wormhole tool uses PAKE “Password-Authenticated Key Exchange” [that] can then be used to encrypt data. wormhole uses the SPAKE2 algorithm.

The wormhole library requires a “Rendezvous Server”: a simple WebSocket-based relay that delivers messages from one client to another. This allows the wormhole codes to omit IP addresses and port numbers. The URL of a public server is baked into the library for use as a default, and will be freely available until volume or abuse makes it infeasible to support.<

The file-transfer commands use a “Transit Relay”, which is another simple server that glues together two inbound TCP connections and transfers data on each to the other. The wormhole send file mode shares the IP addresses of each client with the other (inside the encrypted message), and both clients first attempt to connect directly. If this fails, they fall back to using the transit relay.

How to Install and Usage Wormhole in Linux

On Debian 9 and Ubuntu 17.04+, you can install Wormhole using apt command below.

On older versions of the Debian/Ubuntu, you need to install following required packages to get the latest version of Wormhole.

On Fedora distribution, you can get using following commands.

Once the installation is complete you can begin sending files immediately.

Clementine - A Modern Music Player and Library Organizer

To send a file use this command.

A code will be generated during the sending process and that is what you will pass on to you intended recipient.

Wormhole Send Files

Wormhole Send Files

To receive a file use this command:

Both the sender and receiver will get notifications on indicating the progress of the file transfer or if the process encounters any errors on the way.

I think wormhole is a nifty app; especially for those comfortable with opening their terminal every now and then (and keyboard masters).

Читайте также: