Рефакторинг до 7.2
continuous-integration/drone/pr Build is failing Details

pull/2/head
acetone 2022-01-16 13:10:50 -05:00
parent db5b5fe56d
commit 4cad0e0fb1
9 changed files with 136 additions and 136 deletions

View File

@ -1,31 +1,31 @@
# 🧬 Архитектура проекта
Да, можно было бы использовать кубернетес. Но зачем, если иммутабельность обеспечивается NixOS?
**Стек**: [NixOS](https://nixos.org/), python, flutter
**Стек**: [NixOS](https://nixos.org/) и python (бэкенд), flutter (пользовательское приложение).
## Мобильное приложение
Flutter/Dart выбрали из-за скорости и плавности работы UI и кроссплатформенности.
Flutter/Dart выбрали из-за скорости и плавности работы UI, а также их кроссплатформенность очень соблазнительна.
## Бэкэнд
NixOS + Python. NixOS выбран из-за воспроизводимости, python из-за универсальности и популярности.
## Сервис-провайдеры
Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем в будущем партнерства.
Нам не платит ни один сервис-провайдер! Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем.
### Хостинг
[Hetzer](https://www.hetzner.com/) выбрали из-за низкой цены и приемлемый уровень сервиса, качественного REST API. Не был замечен в проблемах с приватностью и сбором данных.
Кандидаты:
- Свой личный железный сервер. Сейчас наш основной приоритет.
- Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes)
- OVH
- Scaleway
- DigitalOcean
- Свой личный железный сервер. Сейчас наш основной приоритет;
- Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes);
- OVH;
- Scaleway;
- DigitalOcean.
Еще есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где ВЫ не платите, обычно ВЫ — товар.
Еще есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где Вы не платите, обычно Вы — товар.
### DNS
[Cloudlare](https://cloudflare.com) надежность, бесплатность. Вероятно, собирает данные, иначе сложно объяснить зачем бесплатно проксировать чужой трафик. В нашем случае используем только как DNS-сервер и ничего не проксируем. В будущем заменим на self-hosted DNS, как только решим проблему надежности.
### Хранилище резервных копий
[Backblaze](https://www.backblaze.com/) бесплатно или в разы дешевле AWS. Не замечен в сборе данных. [Публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа на котором работает. А также [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, т.к. данные шифруются, а сервис-провайдер видит только ip вашего сервера, но не домашний.
[Backblaze](https://www.backblaze.com/) бесплатно и в разы дешевле AWS. Не замечен в сборе данных. [Публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа, на котором работает. Также, [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надежный и проверенный. В будущем, возможно, заменим на self-hosted решение или p2p. Сейчас это не основной приоритет, так как данные шифруются, а сервис-провайдер видит только IP-адрес Вашего сервера (а не домашний).

View File

@ -1,11 +1,11 @@
# 🤩 Возможности
Главное — **контроль собственной цифровой жизни**. Ваши коммуникации, данные, метаинформация принадлежат **только вам**!
Главное — **контроль собственной цифровой жизни**. Ваши коммуникации, данные и метаинформация принадлежат **только Вам**!
Для этого мы реализовали:
* Разворачивание IT-инфраструктуры без специальных знаний с мобильного телефона
* Массу необходимых и просто полезных [сервисов](services.md).
* Автоматическое резервное копирование
* Автоматическое обновление
* Включение и выключение сервисов
* SSH-доступ для опытных пользователей
* 🗓️ Автоматическое добавление ресурсов на сервер: диск, память, процессор
* Разворачивание IT-инфраструктуры без специальных знаний с мобильного телефона;
* Массу необходимых и просто полезных [сервисов](services.md);
* Автоматическое резервное копирование;
* Автоматическое обновление;
* Включение и выключение сервисов;
* SSH-доступ для опытных пользователей;
* Автоматическое добавление ресурсов на сервер: диск, память, процессор.

View File

@ -1,13 +1,13 @@
# 👋 Введение
[SelfPrivacy](https://selfprivacy.org) — мобильное [приложение](https://f-droid.org/en/packages/pro.kherel.selfprivacy/) разворачивает сервер с готовыми к использованию сервисами:
- Электронная почта
- Парольный менеджер
- Мессенджер
- VPN
- Файловое хранилище
- Конференции
- Электронная почта;
- Менеджер паролей;
- Мессенджер;
- VPN;
- Файловое хранилище;
- Конференции...
- ... и многие другие [сервисы](services.md)
## ⚠️ Beta
Текущий релиз пока не готов к повседневному использованию неквалифицированным пользователем.
Текущий релиз не готов к повседневному использованию неквалифицированным пользователем. Работа продолжается, никто не намерен отступать!

View File

@ -1,14 +1,14 @@
# 🔋Мотивация
Каждый пользователь интернета вынужден пользоваться централизованными сервисами жертвуя приватностью и личными свободами:
- Соглашается с непонятными лицензиями
- Терпит рекламу
- Отдает свои данные неизвестно кому
- Оказывается в "[рекомендательном пузыре](https://ru.wikipedia.org/wiki/Пузырь_фильтров)"
- Подвергается цензуре, блокировкам
Многие из нас вынуждены пользоваться централизованными сервисами корпораций, жертвуя приватностью и личными свободами. Практически каждый пользователь интернета
- Соглашается с непонятными лицензиями;
- Терпит рекламу;
- Отдает свои данные неизвестно кому;
- Оказывается в "[рекомендательном пузыре](https://ru.wikipedia.org/wiki/Пузырь_фильтров)";
- Подвергается цензуре и блокировкам.
Мы так не хотим. Хотим цифровой независимости и [неприкосновенности](privacy.md) наших данных.
Мы так не хотим! Наша борьба — движение за независимость и [неприкосновенность](privacy.md) наших данных.
**Наша миссия — предложить альтернативу. Ваши сервисы - ваши правила**:
- Никаких лицензионных соглашений, рекламы, слежки, телеметрии, банов и цензуры
- Ваши данные хранятся на вашем сервере и принадлежат только вам
**Наша миссия — предложить альтернативу. Ваши сервисы Ваши правила**:
- Никаких лицензионных соглашений, ограничивающих права Пользователей; никакой рекламы, слежки, телеметрии, банов и цензуры;
- Нулевое доверие: Ваши данные хранятся на Вашем сервере и принадлежат только Вам.

View File

@ -1,20 +1,20 @@
# Политика
# Политика
Наша миссия гуманитарная — реализация права на неприкосновенность и конфиденциальность частной жизни любому желающему.
Наша миссия гуманитарная — реализация права на неприкосновенность и конфиденциальность частной жизни.
Мы не занимаемся политикой, не поддерживаем и не состоим в политических партиях, никого не осуждаем и не участвуем в конфликтах.
Мы не занимаемся политикой, не поддерживаем и не состоим в политических партиях, никого не осуждаем и не участвуем в конфликтах.
## Политика конфиденциальности
Мобильное приложение полностью автономно, не подгружает никаких данных с сайтов, не содержит треккеров, взаимодействует только с вашим сервером.
Мобильное приложение полностью автономно, не подгружает никаких данных с сайтов, не содержит трекеров, взаимодействует только с вашим сервером.
Сервер взаимодействует с инфраструктурой NixOS
Сервер взаимодействует с инфраструктурой NixOS.
Рекомендуемые клиентские приложения взаимодействуют только с вашим сервером. Исключения:
- [Delta.Chat](messenger.md) при использовании публикации геолокации [вынужден](https://support.delta.chat/t/tracker-on-android-app/1814) использовать mapbox
- Есть вопросы к [bitwarden](pass.md) мобильному приложению. Вроде есть библиотеки отслеживающего програмного обеспечения, но трафик не анализировали пока, может не активны.
- [Delta.Chat](messenger.md) при использовании публикации геолокации [вынужден](https://support.delta.chat/t/tracker-on-android-app/1814) использовать mapbox;
- Есть вопросы к мобильному приложению [bitwarden](pass.md). Оно использует библиотеки отслеживающего програмного обеспечения, но трафик пока не анализировали, вероятно, подозрительной активности нет.
## Наши web-ресурсы
Вы оставляете массу своих данных при посещении любого сайта. Как минимум IP, как максимум все виды трекинга.
Мы **не используем трекинг** ни в каком виде, ни на одном из наших публичных сервисов.
Но **мы агрегируем access-логи**, чтобы понимать сколько у нас пользователей и из какой страны. Все IP посетителей хранятся в виде подсетей (x.x.x.0) и не могут вас однозначно идентифицировать. Но рекомендуем использовать средства анонимизации трафика, так как мы не гарантируем, что провайдер нашего сервера не собирает метаинформацию.
Вы оставляете массу своих данных при посещении любого сайта. Как минимум — IP-адрес, как максимум — версию ОС и браузера, разрешение экрана, данные о производительности Вашего устройства и некоторое другое.
Мы **не используем трекинг** ни в каком виде ни на одном из наших публичных сервисов.
Но **мы агрегируем access-логи**, чтобы понимать сколько у нас пользователей и из какой страны. Все IP-адреса посетителей хранятся в виде подсетей (x.x.x.0) и не могут вас однозначно идентифицировать. Рекомендуем использовать средства анонимизации трафика при повышенном уровне паранойи, так как мы не гарантируем, что провайдер нашего сервера не собирает метаинформацию, также как и Ваш — не мониторит посещение свободолюбивого ресурса.

View File

@ -2,21 +2,21 @@
_Невозможность доступа к информации третьей стороной. Это наш главный приоритет!_
- Сервер арендован вами, принадлежит только вам
- **Никаких** телеметрий, куков, логов, лицензий, модерации, пользовательских соглашений, трекингов и т.д.
- Все соединения с сервером надежно зашифрованы
- VPN
- Сервер арендован вами, принадлежит только вам;
- **Никакой** телеметрии, куков, логов, проприетарных лицензий, модерации, ущемляющих пользовательских соглашений и т.д.;
- Все соединения с сервером надежно зашифрованы;
- VPN.
## 🗓️ Как еще будем повышать приватность?
- Шифрование данных на сервере
- Установка **SelfPrivacy Server** на железный ПК (intel nuc / rpi4)
- DNS-resolver
- Приватный транспорт межсерверного взаимодействия (yaggdrasil)
- Резервное копирование в децентрализованное хранилище ([Tahoe-LAFS](https://tahoe-lafs.org) или [NextCloud p2p](https://nextcloud.com/blog/beta-of-peer-to-peer-nextcloud-backup-app-now-available-for-testing/))
- Шифрование данных на сервере;
- Установка **SelfPrivacy Server** на железный ПК (intel nuc / rpi4);
- DNS-resolver;
- Приватный транспорт межсерверного взаимодействия ([Yggdrasil](https://yggdrasil-network.github.io/));
- Резервное копирование в децентрализованное хранилище ([Tahoe-LAFS](https://tahoe-lafs.org) или [NextCloud p2p](https://nextcloud.com/blog/beta-of-peer-to-peer-nextcloud-backup-app-now-available-for-testing/)).
## ⚠️ Ограничения
Виртуальный сервер не является исключительно приватным. Сервис-провайдер технически имеет доступ к памяти и диску вашего сервера. При этом виртуальный сервер куда более приватен, чем централизованные публичные сервисы!
🗓️ Мы работаем над тем, чтобы SelfPrivacy Server можно было установить на свой сервер дома
🗓️ Мы работаем над тем, чтобы SelfPrivacy Server можно было установить на свой сервер дома.
![Privacy explanation](privacy.svg)

View File

@ -5,50 +5,50 @@ _дорожная карта развития проекта_
## ↗️ Векторы развития проекта
_в порядке убывания приоритета_
- [Конфиденциальность](privacy.md)
- [Безопасность](security.md)
- [Доступность (UI/UX)](accessibility.md)
- [Функциональность](services.md)
- [Автономность](autonomy.md)
- [Анонимность](anon.md)
- [Маркетинг](marketing.md)
- [DevOps](deploy.md)
- [Конфиденциальность](privacy.md);
- [Безопасность](security.md);
- [Доступность (UI/UX)](accessibility.md);
- [Функциональность](services.md);
- [Автономность](autonomy.md);
- [Анонимность](anon.md);
- [Коммерческая привлекательность](marketing.md);
- [DevOps](deploy.md).
## 🗓️ План
### v0 (2020) 🏁
- [x] Разворачивание сервера с мобильного телефона
- [x] Автоматическое резервное копирование
- [x] Автоматическое обновление
- [x] Включение и выключение сервисов
- [x] Управление пользователями
- [x] Системные логи внутри приложения
- [x] Отображение статусов загрузки сервера
- [x] SSH-доступ для опытных пользователей
- [x] Разворачивание сервера с мобильного телефона;
- [x] Автоматическое резервное копирование;
- [x] Автоматическое обновление;
- [x] Включение и выключение сервисов;
- [x] Управление пользователями;
- [x] Системные логи внутри приложения;
- [x] Отображение статусов загрузки сервера;
- [x] SSH-доступ для опытных пользователей.
### v1 (2021)
- [ ] <система поддержки контрибьюторов>
- [ ] Автоматическое разворачивание из резервной копии
- [ ] Автоматическое расширение диска
- [ ] Автоматическое добавление памяти
- [ ] Шифрование диска
- [ ] Автоматический откат неудачных обновлений
- [ ] Биометрическая аутентификация
- [ ] Запуск на Apple Store и Google Play
- [ ] <можно удалять gmail>
- [ ] <коллаборативные сервисы DNS-slave, p2p backup>
- [ ] <система поддержки>
- [ ] <система поддержки контрибьюторов>;
- [ ] Автоматическое разворачивание из резервной копии;
- [ ] Автоматическое расширение диска;
- [ ] Автоматическое добавление памяти;
- [ ] Шифрование диска;
- [ ] Автоматический откат неудачных обновлений;
- [ ] Биометрическая аутентификация;
- [ ] Запуск на Apple Store и Google Play;
- [ ] <можно удалять gmail>;
- [ ] <коллаборативные сервисы DNS-slave, p2p backup>;
- [ ] <система поддержки>.
### v2 (2021-2022)
- [ ] Установка сервисов по запросу
- [ ] Поддержка не только облачного сервера, но и hardware (предположительно Rpi4)
- [ ] Управление несколькими серверами из одного мобильного приложения
- [ ] Формирование интерфейса сервиса на стороне бэкэнда (json)
- [ ] Рефакторинг UI/UX
- [ ] Обезличивание дебаг-лога для помощи пользователям без раскрытия конфиденциальных данных
- [ ] <понятная система хранения ключей>
- [ ] <можно в энтерпрайз>
- [ ] Установка сервисов по запросу;
- [ ] Поддержка не только облачного сервера, но и hardware (предположительно Rpi4);
- [ ] Управление несколькими серверами из одного мобильного приложения;
- [ ] Формирование интерфейса сервиса на стороне бэкэнда (JSON);
- [ ] Рефакторинг UI/UX;
- [ ] Обезличивание дебаг-лога для помощи пользователям без раскрытия конфиденциальных данных;
- [ ] <понятная система хранения ключей>;
- [ ] <можно в интерпрайз>.
### v3 (фантазии)
- [ ] Кластер (микро-хостинг)
- [ ] Приватный смартфон (PinePhone)
- [ ] Приватный десктоп
- [ ] Кластер (микро-хостинг);
- [ ] Приватный смартфон (PinePhone);
- [ ] Приватный десктоп...

View File

@ -1,22 +1,22 @@
# 🛡️ Безопасность
_Отсутствие возможности у злоумышленника вторгнуться в вашу систему_
- BugBounty $2000 за RCE найденный на сервере [hackit.one](). $1000 уже выплачена.
- Регулярное сканирование на уязвимости
- Используем только открытый исходный код, уязвимости в котором сообщество очень быстро устраняет
- Регулярное резервное копирование поможет, даже если хакер удалит все ваши данные с сервера.
- Оконечное шифрование в [Delta.chat](messenger.md). Невозможно прочесть ваши сообщения даже имея доступ к серверу
- Автоматическая установка обновлений
- Изоляция приложений на сервере
- F-Droid собирает из исходников наше ПО сами и проверяют на наличие зловредных функций. Спасибо команда F-Droid!
- В exodus можно убедиться в отсуствии каких-либо привелегий на вашем устройстве
- Через [TrackerControl](https://f-droid.org/en/packages/net.kollnig.missioncontrol.fdroid/) можете убедиться в отсуствии треккеров или чего-то подобного
- С помощью [PCAPdroid](https://f-droid.org/en/packages/com.emanuelef.remote_capture/) можете собрать весь трафик с нашего приложения и убдиться в отсутсвии какого-либо трафика кроме как с вашим сервером и сервис-провадерами.
- На нашем счету успешный BugBounty: $2000 за RCE, найденный в сервере [hackit.one](https://hackit.one);
- Регулярное сканирование на уязвимости;
- Используем только открытый исходный код, уязвимости в котором сообщество очень быстро устраняет;
- Регулярное резервное копирование поможет даже если хакер удалит все ваши данные с сервера;
- Оконечное шифрование в [Delta.chat](messenger.md). Невозможно прочесть ваши сообщения даже имея доступ к серверу;
- Автоматическая установка обновлений;
- Изоляция приложений на сервере;
- F-Droid собирает наше ПО из исходников. Код проходит ревью на предмет зловредных функций. Спасибо, команда F-Droid!
- В exodus можно убедиться в отсуствии каких-либо привелегий на вашем устройстве;
- Через [TrackerControl](https://f-droid.org/en/packages/net.kollnig.missioncontrol.fdroid/) можете убедиться в отсуствии трекеров или чего-то подобного;
- С помощью [PCAPdroid](https://f-droid.org/en/packages/com.emanuelef.remote_capture/) можете собрать весь трафик с нашего приложения и убедиться в отсутсвии какого-либо трафика кроме как с вашим сервером.
## Как еще будем улучшать безопасность?
- Анонимизация логов на вашем сервере. Вы сам себе VPN-провайдер, который точно не хранит логов
- SDLC, проверка кода в статических анализаторах
- hardware token (Nitrokey)
- tang/clavis?
- авто обновления с автоматическим откатом
- kernel hardering
## Как мы будем еще улучшать безопасность?
- Анонимизация логов на вашем сервере. Вы сам себе VPN-провайдер, который точно не хранит логов;
- SDLC, проверка кода в статических анализаторах;
- Hardware token (Nitrokey);
- Tang/clavis;
- Автоматические обновления с откатом в случае неудачи;
- Kernel hardering.

View File

@ -1,32 +1,32 @@
# 🧑‍💻 О нас
Международная команда независимых профессионалов:
- [Жольнай Кирилл](https://s.zholnay.name/@kirill) — Founder/CEO/CISO. Более 15 лет строит и защищает корпоративную инфраструктуру в средних и крупных компаниях
- **ilchub** — core-team DevOps, Backend-dev
- **kherel** — core-team Flutter Dev
- **nikolai** — QA Engeneer
- и много классных котрибьюторов и [волонтеров](volonteers.md)
- [Жольнай Кирилл](https://s.zholnay.name/@kirill) — Founder/CEO/CISO. Более 15 лет строит и защищает корпоративную инфраструктуру в средних и крупных компаниях;
- **ilchub** — core-team DevOps, Backend-dev;
- **kherel** — core-team Flutter Dev;
- **nikolai** — QA Engeneer;
- и много классных котрибьюторов и [волонтеров](volonteers.md)!
## 🌠 Нам помогают
- [Роскомсвобода](https://roskomsvoboda.org/). Cпич на русском [youtube](https://www.youtube.com/watch?v=mdeUTUPeJjA).
- [Privacy Accelerator](https://privacyaccelerator.org/)
- Мировое Open Source сообщество
- NixOS сообщество
- [Роскомсвобода](https://roskomsvoboda.org/). Спич на русском [Youtube](https://www.youtube.com/watch?v=mdeUTUPeJjA);
- [Privacy Accelerator](https://privacyaccelerator.org/);
- Мировое Open Source сообщество;
- NixOS сообщество.
## 🫂 Единомышленники
- [Cloudron](https://www.cloudron.io/) — коммерческий проект, код закрыт, от $15 в месяц за электронную почту и несколько сервисов. Надо самому устанавливать на сервер приложение, следить за ресурсами сервера.
- [IndieWeb](https://indieweb.org/) — открытый проект, сложный в конфигурации.
- [Kubenav](https://kubenav.io/) — управляет docker-контейнерами с мобильного. Перспективно, но для высококвалифицированных пользователей.
- [Yunohsot](https://yunohost.org/) — открытый проект, но не очень стабильно.
- [FreedomBox](https://freedombox.org) — открытый проект на ARM
- [Tunrkeylinux](https://turnkeylinux.org) — готовое к использованию ПО для опытных пользователей
- [https://framasoft.org](https://framasoft.org) — облачный сервис уважающий приватность. Достойная альтернатива Google-Docs!
- https://sandstorm.io/
- https://citadel.org
- https://disroot.org
## 🫂 Близкие по духу
- [Cloudron](https://www.cloudron.io/);
- [IndieWeb](https://indieweb.org/);
- [Kubenav](https://kubenav.io/);
- [Yunohsot](https://yunohost.org/);
- [FreedomBox](https://freedombox.org);
- [Tunrkeylinux](https://turnkeylinux.org);
- [framasoft.org](https://framasoft.org);
- [sandstorm.io](https://sandstorm.io/);
- [citadel.org](https://citadel.org);
- [disroot.org](https://disroot.org).
### Полезное
- https://ssd.eff.org
- https://datadetoxkit.org
- https://securityplanner.consumerreports.org/tool
- https://www.fordfoundation.org/work/our-grants/building-institutions-and-networks/cybersecurity-assessment-tool/
- [ssd.eff.org](https://ssd.eff.org);
- [datadetoxkit.org](https://datadetoxkit.org);
- [securityplanner.consumerreports.org](https://securityplanner.consumerreports.org/tool);
- [fordfoundation.org](https://www.fordfoundation.org/work/our-grants/building-institutions-and-networks/cybersecurity-assessment-tool/).