7 @item Возможность работы на 32-х битных платформах. @emph{sync/atomic}
8 библиотека имеет особенности из-за которых предыдущие версии паниковали.
14 @item Добавлена возможность требования @ref{Timesync, синхронизации
15 времени}. Она добавит временные метки в PRP аутентификацию сообщений
16 рукопожатия, не позволяя повторить ранее перехваченные пакеты и получить
17 ответ от сервера, делая его видимым для DPI.
23 @item Исправлен небольшой баг связанный с тем что @command{newclient.sh}
24 ловил "Passphrase:" приглашение и помещал его в примерный вывод YAML.
25 Просто заменил вывод приглашения ввода парольной фразы с stdout на
32 @item Возможность ввода парольной фразы напрямую из терминала
33 (пользовательский ввод), без использования файлов с ключами. Утилита
34 @command{storekey.sh} удалена.
40 @item Сервер конфигурируется через @url{http://yaml.org/, YAML} файл.
41 Очень удобно иметь комментарии и шаблоны, по сравнению с JSON.
42 @item Несовместимая с предыдущими версиями замена функции
43 @emph{HSalsa20} на @emph{BLAKE2b} в коде рукопожатия.
50 @item Новый опциональный @ref{Encless, нешифрованный режим} работы.
51 Технически к исходящим пакетам не применяются функции шифрования,
52 поэтому вас не могут вынудить выдать ключи шифрования или привлечь к
53 ответственности за использования шифрования.
54 @item @ref{MTU} конфигурируются относительно каждого пользователя отдельно.
55 @item Упрощённая схема дополнения полезной нагрузки, экономия в один байт.
56 @item Возможность указать название TAP интерфейса явно, без
57 использования up-скриптов.
58 @item @command{govpn-verifier} утилита теперь может использовать @ref{EGD}.
64 @item Исправлена некритичная ошибка при которой сервер мог упасть если
65 скрипт запуска (up.sh) не выполнился успешно.
71 @item Вместо PBKDF2 используется
72 @url{https://password-hashing.net/#argon2, Argon2d} алгоритм хэширования
74 @item Идентификатор клиента хранится внутри проверяльщика (verifier),
75 тем самым упрощая конфигурирование сервера и код.
81 @item Сообщения рукопожатия могут быть зашумлены: их длина скрывается.
82 Теперь они неотличимы от транспортных сообщений.
83 @item Распараллеленная обработка клиентов на стороне сервера.
84 @item Гораздо более высокая общая производительность.
85 @item Конфигурирование сервера единственным JSON файлом.
91 @item Возможность использовать @ref{Network, TCP} сетевой транспорт.
92 Сервер можно слушать одновременно на UDP и TCP сокетах.
93 @item Возможность использовать @ref{Proxy, HTTP прокси} (через CONNECT
94 метод) для доступа к серверу. Сервер может эмулировать поведение HTTP
96 @item Обновлённая Poly1305 библиотека с исправлениями для ARM.
97 @item Версия Go 1.5+ сильно рекомендуется из-за вопросов
102 @subsection Релиз 3.4
104 @item Возможность использовать внешний @ref{EGD} совместимый PRNG.
105 Теперь вы можете использовать GoVPN даже на системах с плохим
107 @item Опция @option{-noncediff} удалена. Она заменена на хранилище уже
108 замеченных nonce-ов в памяти, тем самым полностью убирая возможность
109 атак перепроигрывания без потерь производительности связанных с
110 перетасовкой пакетов.
114 @subsection Релиз 3.3
116 @item Совместимость со старым GNU Make 3.x. Прежде только BSD Make и GNU
117 Make 4.x поддерживались.
118 @item @file{/dev/urandom} используется для правильного генерирования
119 идентификатора клиента под GNU/Linux системами. Прежде,
120 @file{/dev/random} мог выдать меньше ожидаемого количества данных.
124 @subsection Релиз 3.2
126 @item Детерминированная сборка: коммиты исходного кода зависимых
127 библиотек фиксированы.
128 @item Для сборки из исходного кода, соединение с Интернетом больше не
129 требуется: все зависимые библиотеки включены в tarball релизов.
130 @item Совместимость с FreeBSD Make. GNU Make не обязателен больше.
134 @subsection Релиз 3.1
136 @item Публичные ключи Диффи-Хельмана кодируются алгоритмом Elligator
137 перед отправкой, делая их неотличимыми от случайных строчек,
138 предотвращая определение удачного подбора ключа дешифрования при
139 переборе паролей (используемых для создания DSA публичных ключей).
140 Однако это в среднем потребляет в два раза больше энтропии при
141 генерировании клюей DH.
145 @subsection Релиз 3.0
147 @item EKE протокол заменён на Augmented-EKE и статичный симметричный
148 (обе стороны его имеют) pre-shared ключ заменён на верификатор на
149 стороне сервера. Это требует на 64 байта больше трафика рукопожатия,
150 добавляет Ed25519 зависимость с соответствующими расходами на подпись и
151 проверку, PBKDF2 зависимость и вычисления на стороне клиента.
153 A-EKE с PBKDF2 верификаторами устойчивы к атакам по словарю. Можно
154 использовать легко запоминаемые человеком парольные фразы вместо
155 статичных ключей. Верификаторы на стороне сервера не могут быть
156 использованы для аутентификации (скомпрометированный сервер не даст
157 возможность масксироваться под пользователя).
159 @item Изменена структура транспортных сообщений: добавлена длина
160 полезной нагрузки. Это увеличивает накладные расходы на два байта, но
161 сообщения сердцебиения стали меньше.
163 @item Возможность скрывать размер полезной нагрузки за счёт добавления
164 шума, мусора во время передачи данных. Каждый пакет дополняется до
165 максимального размера MTU.
167 @item Возможность скрывать факты появления пакетов полезной нагрузки, за
168 счёт константного по скорости трафика. Это также включает в себя
172 Опции конфигурации @option{-timeout}, @option{-noncediff}, @option{-noise},
173 @option{-cpr} настраиваются по-клиентно.
177 @subsection Релиз 2.4
179 @item Возможность запуска встроенного HTTP-сервера отвечающего JSON-ом с
180 статистикой обо всех подключённых клиентах.
181 @item Документация явно лицензирована под GNU FDL 1.3+.
185 @subsection Релиз 2.3
187 @item Пакеты рукопожатия стали неотличимыми от случайных данных. Теперь
188 весь GoVPN трафик это шум для человека по середине.
190 @item Сообщения рукопожатия стали меньше (16% сокращения трафика).
192 @item Злоумышленник не может создать обманных пакеты рукопожатия которые
193 заставят сервер генерировать приватный DH ключ, предотвращая потребление
194 энтропии и ресурсоёмкие вычисления.
198 @subsection Релиз 2.2
200 @item Исправлены deadlock-и на некоторые каналы.
204 @subsection Релиз 2.1
206 @item Восстановлена сборка под GNU/Linux системами.
210 @subsection Релиз 2.0
212 @item Добавлена идентификация клиентов.
213 @item Поддержка одновременно нескольких клиентов одним сервером.
214 @item Скрипты up/down для каждого клиента.
218 @subsection Релиз 1.5
220 @item Шифрование/обфусцирование nonce-ов.
224 @subsection Релиз 1.4
226 @item Оптимизации производительности.
230 @subsection Релиз 1.3
232 @item Возможность сердцебиения.
233 @item Возможность пересогласования (rehandshake).
234 @item Опциональные up/down скрипты.
238 @subsection Релиз 1.1
240 @item Поддержка FreeBSD.
244 @subsection Релиз 1.0
246 @item Первый стабильный релиз.