Установка, настройка и использование анонимного мессенджера tox

uTox

Первый в обзоре (но не первый в рейтинге) — uTox, официальный клиент Tox, рекомендованный разработчиками. На момент написания этой статьи пользователям Linux доступна альфа-версия 0.5.0. К сожалению, в репозиториях Ubuntu бинарного пакета uTox не нашлось: проект еще недостаточно стабилен. Установка uTox несложна для опытного пользователя. Процесс установки идентичен в Ubuntu и в Debian.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

List of all clients

Here is a list of clients available for testing and developing. Click an image to zoom in.

Name Description Screenshot Operating System Support
qTox A Qt graphical user interface for Tox. Windows / OS X / GNU/Linux / BSD
µTox Lightweight Tox client for the desktop. Windows / OS X / GNU/Linux / BSD / Android
Toxic Ncurses-based CLI. Maintained by Jfreegman. GNU/Linux / BSD / OS X
Toxygen Toxygen is cross-platform Tox client written in Python3 Windows / GNU/Linux
TRIfA TRIfA is a Tox client for Android Android
Antox A client for Android. Android (2.3+)
Isotoxin Multiprotocol client for Windows. Windows
jTox A client for Jolla/SailfishOS. SailfishOS
Protox A client for Android written in QML/C++. Android

Features

qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Interface Desktop Desktop CLI Desktop Mobile Mobile Desktop Mobile Mobile
Linux Yes Yes Yes Yes No No No No No
OSX Yes Yes Yes Untested No No No No No
Windows Yes Yes No Yes No No Yes No No
BSD Yes Yes Yes Untested No No No No No
Android No Minimal No No Yes Yes No No Yes
iOS No No No No No No No No No
SailfishOS No No Yes No No No No Yes No
Audio features qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Audio Yes Yes Yes Yes Yes No Yes No No
Audio filtering Yes Yes No No Yes No Yes No No
Audio notifications Yes Yes Yes Yes Yes No Yes No Yes
Group audio Yes Yes No No Yes No Yes No No
Video features qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Desktop sharing Yes Yes No Yes No No Yes No No
Video Yes Yes Yes Yes Yes No Yes No No
Messaging qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
1v1 messages Yes Yes Yes Yes Yes Yes Yes Yes Yes
Chat logs Yes Yes (export possible) Yes Yes Yes Yes Yes Yes Yes
Emoticons Yes No No Yes Yes Yes Yes No Yes
Inline images Semi Yes No Yes Yes Yes Yes No Yes
Message splitting Yes Yes No Yes No Yes Yes Yes Yes
Faux offline messaging Yes Yes Semi Yes Yes Yes Yes Yes Yes
File transfer Yes Yes Yes Yes Yes Yes Yes Yes Yes
File resuming Semi Yes Yes Yes Untested No Yes No Semi
Spell check Yes No No No No Yes Yes No No
Screen/Desktop notifications Semi Yes Yes Unknown Yes Yes Unknown Unknown Yes
Typing notifications Yes Yes Yes Yes Yes Semi Yes Yes Yes
Group chats qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Group chats Yes Yes Yes Yes Yes No Yes No No
Persistent group chats Yes Yes Yes Prealpha Yes No Yes No No
Group chat history Planned No No Unknown Yes No Unknown No No
Group file transfers No No No No No No No No No
Group inline images No No No No No No No No No
Group offline messaging No No No No No No No No No
Group typing notifications No No No No No No No No No
Profile & Contact Management qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Avatars Yes Yes Semi Yes Yes Yes Yes No Yes
Changing nospam Yes No Yes Yes Yes Yes No Yes Yes
Contact aliases Yes Yes No Yes Untested Yes Yes Yes No
Contact blocking Yes No Yes Yes Untested Semi No No No
Name lookups Yes Yes Yes Yes Untested Yes Yes Yes No
Multiprofile Yes No Yes Yes No Yes Yes No Yes
Profile import/export Yes No Semi Yes Yes Yes Yes Yes Yes
Save file encryption Yes Yes Yes Yes Yes No No Yes Yes
tox: URI Yes Yes No No Yes Yes No No No
General qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox
Multilingual Yes Yes No Yes Yes Yes Yes Yes Yes
Proxy support Yes (Socks5 only) Yes Yes (Tor only) No Yes No No
qTox µTox Toxic Toxygen TRIfA Antox Isotoxin jTox Protox

Требую независимости

Я хочу пользоваться мессенджером. Это удобно. Но лично мне надоел поиск разрозненных контактов в куче всяческих программ с различными интерфейсами. Я ненавижу спам и хочу быстро находить точную информацию, когда мне это нужно, мне не нравится тратить свою жизнь на текущую возню с тем комом бесполезной информации, что навязывает современность.

Для меня очень важно иметь независимый от коммерческих интересов отдельных лиц или структур способ коммуникации. Такой способ должен максимально просто и комфортно решать мои повседневные личные задачи, а также задачи моего бизнеса

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

Как сделать универсальный коммуникационный протокол

На самом деле ресурсов в мире достаточно, чтобы сделать жизнь на земле прекрасной  для каждого человека, проблема в том, что деньги и усилия не координируются и расходуются не по оптимальным направлениям, опустим подробности, т.к. одно это потянет на объем войны и мира.

Добиться того, чтобы проект финансировался государством кажется весьма сложным без личного контакта с высокопоставленными чиновниками, хотя технология стратегическая и успех в этой области сопоставим со взятием всего золота в олимпийских играх.

Допустим, мы хотим создать омега-сообщения силами сообщества. Здесь всё-равно нужно иметь ядро разработчиков, которые будут заняты в проекте на полный день. Придётся всё-равно искать финансирование, что само по себе то ещё занятие.

Кажется ситуация патовая, но это не так. Главное правильно разделить её на части. Для начала следует сделать прототип-имитацию и протестировать идею с точки зрения пользователей и бизнес-пользователей. Т.е. внедрить её с ограниченным функционалом в сотне-другой компаний. Для них это будет та же электронная почта, но с внутренним мессенджером. Через короткое время соберется достаточно материала для подтверждения гипотезы или её переработки. Основная работа начнётся на втором этапе. Нужно будет не просто сделать заявленный функционал, а написать его красиво, потому что программисты весьма придирчивы к чужому коду. Разработка стандартов, которыми смогут и захотят пользоваться разработчики по всему миру тоже непростая задача. Проекту нужны самородки, пусть ещё никому неизвестные непризнанные гении, способные в сжатые сроки создавать оптимальные концепции и архитектуру и матерые профессионалы, которые способны довести работу до конца.

Работа с файлами

Прием файлов

tox_file_recv_cb(friend_number, file_number, kind, file_size, filename)

  • friend_number — номер друга (см. «Работа с контактами»).
  • file_number — номер файла, уникальное число в рамках текущего списка принимаемых и передаваемых файлов от данного друга.
  • kind — тип файла:

    • TOX_FILE_KIND_DATA — передаваемый файл является простым файлом.
    • TOX_FILE_KIND_AVATAR — передаваемый файл является аватаром друга.
  • file_size — размер файла. Для TOX_FILE_KIND_AVATAR размер файла равный 0 означает, что у друга не установлен аватар. Размер файла равный UINT64_MAX обозначает неизвестный размер файла (потоковую передачу).
  • filename — имя файла.

filenametox_file_control(friend_number, file_number, control)

  • friend_number — номер друга.
  • file_number — номер файла.
  • control — команда управления файлом:

    • TOX_FILE_CONTROL_CANCEL — отменить прием файла.
    • TOX_FILE_CONTROL_PAUSE — поставить передачу файла на паузу (поддерживается не всеми клиентами).
    • TOX_FILE_CONTROL_RESUME — продолжить передачу файла.

TOX_FILE_CONTROL_RESUMEtox_file_recv_chunk_cb(friend_number, file_number, position, data)

  • friend_number — номер друга.
  • file_number — номер файла.
  • position — текущая позиция в файле.
  • data — чанк данных или None для конца передачи.

position

Передача файлов

tox_file_send(friend_number, kind, file_size, file_id, filename)

  • friend_number — номер друга.
  • kind — значение TOX_FILE_KIND_DATA или TOX_FILE_KIND_AVATAR.
  • file_size — размер файла (специальные значения 0 и UINT64_MAX рассмотрены выше).
  • file_id — уникальный идентификатор файла длиной TOX_FILE_ID_LENGTH, который позволяет продолжить передачу после рестарта ядра или None для автоматической генерации.
  • filename — имя файла.

file_idtox_file_get_file_idtox_hashtox_file_sendtox_file_recv_control_cb(friend_number, file_number, control)

  • friend_number — номер друга.
  • file_number — номер файла.
  • control — команда управления файлом (TOX_FILE_CONTROL_CANCEL, TOX_FILE_CONTROL_PAUSE или TOX_FILE_CONTROL_RESUME рассмотренные ранее).

file_id

tox_friend_send_lossy_packettox_friend_send_lossless_packettox_friend_lossy_packet_cbtox_friend_lossless_packet_cb

Потребности

Итак,

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

Что у нас есть, ну помимо сигнальных костров, барабанов, азбуки морзе? Телефония как-бы ещё бодрячком, но стухает. Электронная почта была изобретена полвека назад. Все это время она неплохо справлялась с возложенными на нее обязанностями, но почта не отвечает требованиям современности. С Джаббером как-то не сложилось, по понятным причинам.  Все популярные мессенджеры в частных руках и имеют существенный базовый изъян — они не дружат друг с другом, тем самым ограничивая свободу общения пользователей.

Installation

Linux

PKGBUILD is available in the repo, to install:

# pacman -S qtox

qTox is available in Gentoo.

To install:

# emerge qtox

openSUSE

qTox is available in openSUSE Factory.

To install in openSUSE 15.0 or newer:

# zypper in qtox

To install in openSUSE 42.3:

# zypper ar -f https://download.opensuse.org/repositories/server:/messaging/openSUSE_Leap_42.3 server:messaging
# zypper in qtox

FreeBSD

Use pkg utility to install binary package:

pkg install qTox

Compiling

Update ports tree:

portsnap fetch update

Compile and install client with all dependencies:

cd /usr/ports/net-im/qTox
make install clean

macOS / OS X

Compiling

The following is a list of some other Tox clients that you may be interested in using.

Popular Tox clients
qTox µTox Toxic Toxygen Antox Antidote

Currently stalled

Preview for saved images only

Messages are not stored, and thus they won’t be sent across client restarts

, Transfers can be paused and resumed, but broken transfers will not be resumed

Supported but not included in builds

Sends typing notifications but does not show received ones

You are only able to set your own avatar, avatars of friends aren’t displayed

You can block, but not unblock contacts

Only by manually specifying which save file should be used.

Работа с контактами

friend_numbertox_friend_request_cb(public_key, message)

  • public_key — публичный ключ друга.
  • message — сообщение от друга типа «Привет, это abbat! Добавите меня в друзья?».

tox_friend_add_norequestfriend_numbertox_friend_by_public_key

  • tox_friend_connection_status_cb(friend_number, connection_status) — изменение состояния соединения друга, где connection_status может принимать значения:

    • TOX_CONNECTION_NONE — друг в offline.
    • TOX_CONNECTION_TCP — друг в online и соединен по TCP.
    • TOX_CONNECTION_UDP — друг в online и соединен по UDP.
  • tox_friend_name_cb(friend_number, name) — изменение ника друга.
  • tox_friend_status_message_cb(friend_number, message) — изменение подписи.
  • tox_friend_status_cb(friend_number, status) — изменение состояния, где status может принимать значения:

    • TOX_USER_STATUS_NONE — доступен («online»).
    • TOX_USER_STATUS_AWAY — отошел.
    • TOX_USER_STATUS_BUSY — занят.
  • tox_friend_message_cb(friend_number, message) — сообщение от друга.
  • tox_friend_read_receipt_cb(friend_number, message_id) — квитанция о получении другом сообщения, отправленного вызовом tox_friend_send_message (см. ниже).

tox_friend_send_messagemessage_id

  • Сообщение не может быть пустым.
  • Сообщение не может быть больше TOX_MAX_MESSAGE_LENGTH (байт), длинные сообщения необходимо разбивать на части.

tox_self_set_typingfriend_number

  • tox_friend_get_connection_status — текущий сетевой статус друга (последнее значение из tox_friend_connection_status_cb).
  • tox_friend_get_name — текущий ник друга (последнее значение из tox_friend_name_cb).
  • tox_friend_get_status_message — текущая подпись друга (последнее значение tox_friend_status_message_cb).
  • tox_friend_get_status — текущий статус друга (последнее значение из tox_friend_status_cb).
  • tox_friend_get_last_online — дата последнего появления в online (unixtime).
  • tox_self_get_friend_list_size — получение количества друзей.
  • tox_self_get_friend_list — получение списка friend_number друзей.
  • tox_friend_delete — удаление друга из списка контактов.

Other clients

The following is a list of some other Tox clients that you may be interested in using.

Popular Tox clients
qTox µTox Toxic Toxygen Antox Antidote

Currently stalled

Preview for saved images only

Messages are not stored, and thus they won’t be sent across client restarts

, Transfers can be paused and resumed, but broken transfers will not be resumed

Supported but not included in builds

Sends typing notifications but does not show received ones

You are only able to set your own avatar, avatars of friends aren’t displayed

You can block, but not unblock contacts

Only by manually specifying which save file should be used.

What is Tox?

Tox is a free (as in liberty and price) peer to peer, distributed, multimedia messenger.

Using existing technologies such as dispersed networking and strong cryptography, Tox can provide a superior instant messaging experience than current market offerings. Files can be shared as fast as you and your partner’s Internet connection allows, audio calls are instantaneous, and there are no arbitrary limits to how many people you can have in a group conversation.

Tox’s goal is to get secure messaging in the hands of everyone because we feel it’s necessary in a world where our privacy is often overlooked; which means our efforts are free of charge with absolutely no strings attached. There are no advertisements; you are not the product and absolutely no data is collected from our users. We are here for altruistic purposes, which is why we rely on the community to help us make Tox better.

It’s not done yet, but we’re open source, so you can try out our current working version at any time! Remember that it is very likely Tox will have bugs or missing features. Please read the before you begin.

If you just want a prebuilt version to play around with, see Binaries.

If you want to contribute to Tox, or prefer to compile your own, check out .

Tox protects your privacy by removing the need to rely on central authorities, concealing your social graph, enforcing end-to-end encryption (with perfect forward secrecy) as the default and only mode of communication, and by making your identity impossible to forge without possessing your personal private key, which never leaves your device.

How do I add Someone?

Look in the profile or settings panel of your client to get your Tox ID which should look something like: 56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE51855D34D34D37CB5

Give yours to your friend and get your friend to add it. That’s it.

If you want a shorter more memorable ID, be sure to read and understand the WARNING.

There are various possibilities like ToxMe which make the contact easier — unfortunately at the unavoidable price of lost protection. Even if you decide to trust the service owner, you still access highly unreliable data supplied by third parties. You may call a contact via a name service and recognize his/her face on the screen but you will not know whether someone else is participating in your conversation behind the scenes. In other words, you lose the confidentiality which Tox otherwise offers.

What happens when I remove someone?

If you remove someone, they will see you go offline, as if you closed client normally. They can’t communicate with you any longer until you add them to your friend list again.

Currently, the only Tox client that supports plugins is Toxygen. However, Toxygen is not as well-maintained as the popular clients, and its development is currently stalled.

Tox makes no attempt to cloak your IP address when communicating with other users, as the whole point of peer-to-peer is to connect you directly to your friends. A workaround does exist in the form of tunneling your Tox connections through Tor. However, a user cannot uncover another user’s IP address using only a Tox ID to find the user in the DHT, the IP address will only be discernible when the users become “friends.”

See Also: .

How to access TOXNET information

Comprehensive Toxicology Information

Help for HSDB Users in PubChem (PDF) Help for HSDB Users in PubChem (Web Page)

Video Tutorial

Toxicology Literature

Help for TOXLINE Users in PubMed (PDF) Help for TOXLINE Users in PubMed (Web Page)

Breastfeeding & Drugs

Help for LactMed Users in Bookshelf (PDF)Help for LactMed Users in Bookshelf (Web Page)

Chemical Information

Help for ChemIDplus Users in PubChem (PDF) Help for ChemIDplus Users in PubChem (Web Page)

PillboxOn January 29, 2021, the National Library of Medicine’s Pillbox program will be retired. This includes the Pillbox drug identification and search websites as well as production of the Pillbox dataset, image library, and application programming interfaces (APIs).

More information about Pillbox can be found in the NLM Technical Bulletin.

Developmental Toxicology Literature

Help for DART Users in PubMed (PDF) Help for DART Users in PubMed (Web Page)

Drug-Induced Liver Injury LiverTox in BookshelfLiverTox has been migrated to BookShelf
Chemical Releases & Mapping TOXMAP was retired.

Underlying data remains accessible through their original resources: Government of Canada National Pollutant Release Inventory (NPRI), U.S. Census Bureau, U.S. EPA Clean Air Markets Program, U.S. EPA Geospatial Applications, U.S. EPA Facilities Registry System (FRS) , U.S. EPA Superfund Program, U.S. EPA Toxics Release Program (TRI), U.S. NIH NCI Surveillance, Epidemiology, and End Results Program (SEER), U.S. Nuclear Regulatory Commission (NRC)

GIS application users can overlay the data in their own GIS applications.

Comparative Toxicogenomics TOXNET’s CTD was retired. Visit CTD at NC State University.
Household Product Safety The content of HPD is available from the original content provider Consumer Product Information Database https://www.whatsinproducts.com/
Occupational Exposure To Chemicals HazMap was retired.The content of Haz-Map is still provided by the original content provider
Dietary Supplement Information

Dietary Supplement Ingredient Database (DSID): The Dietary Supplement Ingredient Database (DSID) (https://dsid.od.nih.gov) provides estimated levels of ingredients in dietary supplement products sold in the United States. These statistically predicted estimates may differ from labeled amounts and are based on chemical analysis of nationally representative products. This site is now being updated and maintained for access by the NIH Office of Dietary Supplements

Dietary Supplement Label Database (DSLD): The Dietary Supplement Label Database (DSLD) (https://dsld.od.nih.gov) includes full label derived information from dietary supplement products marketed in the U.S. with a Web-based user interface that provides ready access to label information. This site is now being updated and maintained for access by the NIH Office of Dietary Supplements

Risk Assessment TOXNET’s IRIS was retired. Visit IRIS at EPA. TOXNET ITER: The content of ITER will be available from the original content provider Toxicology Excellence for Risk Assessment Database http://www.iter.tera.org/
Animal Testing Alternatives ALTBIB
Archived, No Longer Updated

Help for CCRIS Users in PubChem (PDF) Help for CCRIS Users in PubChem (Web Page)

CPDB was retired. Access CPDB data at https://www.toxinfo.io and from the EPA at https://www.epa.gov/chemical-research/distributed-structure-searchable-toxicity-dsstox-database

Help for GENE-TOX Users in PubChem (PDF)Help for GENE-TOX Users in PubChem (Web Page)

Architecture

Core

The Tox core is a library establishing the protocol and API. User front-ends, or clients, are built on the top of the core. Anyone can create a client utilizing the core.
Technical documents describing the design of the Core, written by the core developer irungentoo, are available publicly.

Protocol

The core of Tox is an implementation of the Tox protocol, an example of the application layer of the OSI model and arguably the presentation layer. Implementations of the Tox protocol not done by the project exist.[failed verification]

Tox uses the Opus audio format for audio streaming and the VP8 video compression format for video streaming.

Encryption

Tox uses the cryptographic primitives present in the NaCl crypto library, via libsodium. Specifically, Tox employs Curve25519 for its key exchanges, xsalsa20 for symmetric encryption, and Poly1305 for MACs. Because the tox protocol can be used by many different applications, and because the tox network broadcasts the used client, it is also possible for clients to use additional encryption when sending to clients which support the same features.

Clients

A client is a program that uses the Tox core library to communicate with other users of the Tox protocol. Various clients are available for a wide range of systems; the following list is incomplete.

Name Operating system Written in Development status & comments
Antidote iOS Swift Abandoned (see project’s GitHub page)
Antox Android Scala, Java Abandoned, last update in December 2017
Cyanide Sailfish OS C++ Abandoned, last update in Jan 2017
gTox Linux C++ (GTK+ 3) Abandoned (see project’s GitHub page)
qTox Linux, FreeBSD, OS X, Windows C++ (Qt) Active
TOK iOS, Android Java, Swift, Objective-C Active
Toxic Linux, FreeBSD, OpenBSD, DragonflyBSD, NetBSD, Solaris, OS X C (Ncurses) Active
Toxy Windows C# (WPF) Unmaintained (see project’s GitHub page)
Toxygen Linux, Windows Python (Qt via PySide) Active
TRIfA Android C, Java Active
µTox Linux, FreeBSD, OS X, Windows C Active
xWinTox Linux, FreeBSD, Solaris C/C++ (FLTK) Abandoned, last update in Dec 2015
Isotoxin Windows C++ Abandoned last update in Mar 2018
ratox Linux, BSD, OS X C Active
WebTox Web-based HTML5 (client) + Go (server) Abandoned, last update in Jan 2016

There are also Tox protocol plugins for Pidgin (no longer maintained, but working as of 2018-03-30) and .

Примечания

  1. . Tox-Wiki. Дата обращения 7 ноября 2015.
  2. . Tox-Wiki. Дата обращения 6 августа 2015.
  3. . Tox-Wiki. Дата обращения 6 августа 2015.
  4.  (недоступная ссылка). Дата обращения 6 августа 2015.
  5. . Дата обращения 26 августа 2019.
  6. . Tox-Wiki. Дата обращения 6 августа 2015.
  7. . wiki.tox.chat. Дата обращения 1 июля 2016.
  8. . Github. Дата обращения 3 января 2016.
  9. . GitHub. Дата обращения 12 апреля 2018.
  10. . Github. Дата обращения 7 ноября 2015.
  11. . Tox-Wiki. Дата обращения 6 августа 2015.
  12. . GitHub. Дата обращения 12 апреля 2018.
  13. . Github. Дата обращения 11 мая 2018.
  14. . Tox-Wiki. Дата обращения 7 ноября 2015.
  15. . GitHub. Дата обращения 12 апреля 2018.
  16. . Tox-Wiki. Дата обращения 21 июля 2017.
  17. . GitHub. Дата обращения 12 апреля 2018.
  18. . GitHub. Дата обращения 6 сентября 2017.
  19. . GitHub. Дата обращения 12 апреля 2018.
  20.  (недоступная ссылка). Дата обращения 17 сентября 2015.
  21.  (англ.). GitHub. Дата обращения 24 мая 2018.
  22. . Miranda NG Official Community Forum. watcher. Дата обращения 17 сентября 2015.
  23. (11 July 2015). Дата обращения 12 августа 2015. (англ.)
  24. . lwn.net. Дата обращения 7 февраля 2016.
  25. . Reddit. Sagem. Дата обращения 12 августа 2015. (англ.)
  26. .
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector