diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 index 68729d6..fa7000c --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ -.idea/ -.DS_Store \ No newline at end of file +public/ +resources/ +vid/ +.well-known/ +.hugo_build.lock diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..bd543a1 --- /dev/null +++ b/config.toml @@ -0,0 +1,21 @@ +baseURL = 'https://selfprivacy.org/' +title = 'SelfPrivacy' +defaultContentLanguage = 'ru' + +[params] +description = 'Self-hosted services without pain' + +[languages] + [languages.ru] + languageCode = 'ru-RU' + languageName = 'Русский' + weight = 0 + [languages.en] + languageCode = 'en-US' + languageName = 'English' + weight = 1 + +[markup] + [markup.goldmark] + [markup.goldmark.renderer] + unsafe = true diff --git a/content/_index.en.md b/content/_index.en.md new file mode 100644 index 0000000..dd77514 --- /dev/null +++ b/content/_index.en.md @@ -0,0 +1,243 @@ +--- +title: SelfPrivacy +images: ["brand.png"] +--- + +
+
+
+
+
+ +
+
+
+

+Platform on user's hosting provider for deploying private services, managed via mobile application. +

+
+
+Digital independence, available to all of us +
+
+SelfPrivacy — it's not a cloud, but your personal datacenter +
+
+Services of SelfPrivacy +
+
+Connecting a server to SelfPrivacy +
+
+Your datacenter +
+
+
+ +
+
+
+
+
+

+Your personal services +

+
+
+

+E-Mail +

+

+Unlimited mailboxes amount for a company or family. +

+
+
+

+Messenger +

+

+The most private messenger +is the one with the server part located on your personal server. That's what makes DeltaChat +more private than Telegram and Signal. +

+
+
+

+Password Manager +

+

+Passwords no longer need to be remembered, copied between devices, invented or entered manually. +
+
+Bitwarden is a trusted password manager for all devices. +

+
+
+

+Cloud storage +

+

+Nextcloud is a private +and functional replacement +for Dropbox and G-drive. +

+
+
+

+Videomeet +

+

+Zoom and Google-meet are no longer needed when there is a Jitsi-meet. Very simple and convenient video +conferencing solution. +

+
+
+

+Git repository +

+

+Gitea is an excellent analogue of Github, which belongs to you, +not Microsoft. +

+
+
+

+VPN for all of your friends and relatives devices +

+

+No public VPN +can be private, +just those one which is on your server. +OpenConnect +— connect an unlimited number of devices. +

+
+
+

+Decentralized social network +

+

+Pleroma is a social network where you decide who to block and what to publish. No more advertising and +surveillance. +

+
+
+
+
+
+
+

Advantages

+
+
+
+
+

+Zero trust +

+

+SelfPrivacy is developed on the "zero trust" principle, even in relation to SelfPrivacy developers. +That means you're the sole owner of your data. +

+
+
+

+Simplicity +

+

+It works simple. Without console, complicated instructions, monitoring and involvement of specialists. +

+
+
+

+Functionality +

+

+Your data will not be lost thanks to regular automatic backups to a +separate data center. +

+
+
+
+
+
+icon +

+Data control +

+

+Why do corporations need your data? +To make you buy more and vote as they want. +With SelfPrivacy, only you have your data. +

+
+
+icon +

+Security +

+

+Open source. The $2,000 reward for RCE vulnerability significantly increases security +compared to conventional self-hosted solutions. +

+
+
+
+
+icon +

+No license agreements +

+

+What is written in the license agreements that you accept without reading? +It says that you allow companies to do anything with your data. +SelfPrivacy has no license agreements. +

+
+
+icon +

+Save your time and money +

+

+How to save $500 or two weeks of your life? +Will it take the same time and money for a specialist to set everything up from scratch? +

+SelfPrivacy team works continuously to speed up and simplify this process to a few clicks. +

+Now anyone will be capable to setup their own data center. +

+
+
+
+
+icon +

+Independency +

+

+Your communications on the internet no longer depend on Google, Facebook, Amazon and others E-Corps. +

+Your services are your rules! +You will not be blocked or disabled, accidentally or for any other reason. +Your infrastructure and data will always remain with you. +

+
+
+icon +

+Privacy +

+

+No registration, cookies, telemetry, logs, Google analytics and clouds. +

+
+
+
+
+
diff --git a/content/_index.ru.md b/content/_index.ru.md new file mode 100644 index 0000000..8129c8d --- /dev/null +++ b/content/_index.ru.md @@ -0,0 +1,240 @@ +--- +title: SelfPrivacy +images: ["brand.png"] +--- + +
+
+
+
+
+ +
+
+
+

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

+
+
+Цифровая независимость доступна каждому +
+
+SelfPrivacy — это не облако, а Ваш личный дата-центр +
+
+Сервисы SelfPrivacy +
+
+Подключение сервера +
+
+Обзор дата-центра +
+
+
+ +
+
+
+
+
+

+Ваши личные сервисы +

+
+
+

+Электронная почта +

+

+Для семьи или компании с неограниченным количеством почтовых ящиков. +

+
+
+

+Мессенджер +

+

+Самый приватный мессенджер — это тот, у которого серверная часть находится под вашим контролем. Это делает DeltaChat приватнее Telegram и Signal. +

+
+
+

+Менеджер паролей +

+

+Пароли больше не нужно запоминать, копировать между устройствами, придумывать или вводить вручную. +
+
+Bitwarden — надежный менеджер паролей для всех устройств. +

+
+
+

+Файловое облако +

+

+Nextcloud — приватная +и функциональная замена +Dropbox и G-drive. +

+
+
+

+Видеоконференция +

+

+Zoom и Google-meet больше не нужны, когда есть Jitsi-meet. Очень простое и удобное решение для +видеоконференций. +

+
+
+

+Git-репозиторий +

+

+Gitea — отличный аналог Github, который принадлежит Вам, +а не Microsoft. +

+
+
+

+VPN для всех устройств друзей и близких +

+

+Ни один публичный VPN +не может быть приватным, если только он не расположен на вашем сервере. +OpenConnect +— подключайте неограниченное количество устройств. +

+
+
+

+Децентрализованная социальная сеть +

+

+Pleroma — социальная сеть в которой вы решаете, кого заблокировать и что публиковать. Никакой больше рекламы +и слежки. +

+
+
+
+
+
+
+

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

+
+
+
+
+

+Нулевое доверие +

+

+SelfPrivacy разработан по принципу "нулевого доверия", даже к самим разработчикам SelfPrivacy. Это +значит, что Вы — единственный владелец своих данных. +

+
+
+

+Простота +

+

+Это работает просто. Без консоли, сложных инструкций, мониторинга и привлечения специалистов. +

+
+
+

+Функционал +

+

+Ваши данные никуда не пропадут благодаря регулярному автоматическому резервному копированию в отдельный +дата-центр. +

+
+
+
+
+
+icon +

+Контроль данных +

+

+Почему корпорациям так нужны Ваши данные? +Чтобы больше покупали, чтобы Вы голосовали, как им нужно. +В SelfPrivacy Ваши данные остаются только у Вас. +

+
+
+icon +

+Безопасность +

+

+Открытый код. Вознаграждение $2000 за RCE-уязвимость значительно повышает безопасность в сравнении с +обычными self-hosted решениями. +

+
+
+
+
+icon +

+Без лицензионных соглашений +

+

+Что написано в лицензионных соглашениях, которые Вы принимаете, не читая? +Там написано, что с Вашими данными можно делать что угодно. +В SelfPrivacy нет лицензионных соглашений. +

+
+
+icon +

+Экономия времени, денег и сил +

+

+Как сэкономить $500 или две недели жизни? +Столько понадобится времени и денег специалисту, чтобы настроить все самому с нуля? +

+Команда SelfPrivacy непрерывно работает, чтобы ускорить и упростить этот процесс до нескольких кликов. +

+Теперь создание личного дата-центра под силу любому желающему. +

+
+
+
+
+icon +

+Независимость +

+

+Ваши коммуникации в интернете не зависят от Google, Facebook, Amazon и прочих мегакорпораций. +

+Ваши сервисы — Ваши правила! +Вас не заблокируют, не отключат, случайно или по какой-либо другой причине. Ваша инфраструктура и данные +всегда останутся с Вами. +

+
+
+icon +

+Приватность +

+

+Без регистрации, куков, телеметрии, логов, гугл аналитики и облаков. +

+
+
+
+
+
diff --git a/img/Illustration.png b/content/brand.png similarity index 100% rename from img/Illustration.png rename to content/brand.png diff --git a/content/second.en.md b/content/second.en.md new file mode 100644 index 0000000..cc0cdfa --- /dev/null +++ b/content/second.en.md @@ -0,0 +1,296 @@ +--- +title: Second +images: ["brand.png"] +--- + +
+
+

+Deployment and setup +

+
+

+

+SelfPrivacy-server is created step by step within an hour. Sounds scary, but believe me, +you shouldn't be a PhD to accomplish that. It's as simple as purchase in the e-shop. +

+
    +
  • +Searching for passport and card with balance of $10-15 and $5 per month +
  • +
  • +Accounts registration +
  • +
  • +Protecting accounts +
  • +
  • +Domain purchasing +
  • +
  • +Connecting Domain to DNS Server +
  • +
  • +🔑 Generating tokens +
  • +
  • +Installation +
  • +
  • +Connecting to the services 🎉 +
  • +
+

+If you delegate this process to someone else, you will lose privacy. For 100% independence +and control +we recommend to do everything on your own. +

+
+
+

+Accounts registration +

+

+For stability and privacy, SelfPrivacy requires many accounts. If you hold everything in one +place, +you'll get the same you've been running from — all data in hands of one corporation🤦 +

+

+That's why, different parts of the system will be in different places. Let's register: +

+
    +
  • +Hetzner is a virtual server hosting. Our +data and SelfPrivacy services will live here. +
  • +
  • +NameCheap or any other +registrar, to purchase your personal address on the Internet — +the domain that will point to the server. +
  • +
  • +CloudFlare is a DNS server, where your +personal +address(domain) works. +
  • +
  • + +Backblaze is an IaaS, that provides free storage for your encrypted backups. +
  • +
+

+Registration is trivial, but sometimes account activation may take up to few days or requires +additional documents. +Therefore, use real documents and fill out everything carefully. +Providers protect themselves from spam in such way. Nothing personal ) +

+
+
+

+Protecting accounts +

+

+Most often, systems are hacked through the weakest part. In order for accounts not to be such +a part, passwords must be different and complex. TwinkleTwinkleLittleStar is a great example of a +bad password. +A good one 🌈 is a +passphrase: +

+

+expert repose postwar anytime glimpse freestyle liability effects +

+

or

+

+}Rj;EtG:,M!bc4/| +

+

+How to remember such complicated password? No way! Passwords do not need to be remembered, they must +be +created and stored in the password manager. Though, +you'll +have to remember at least one — password from the password manager. +

+

+Be sure to enable additional account protection - the second factor (MFA, 2FA). +Without this simple step, your data will not be safe. +

+

+I know it was difficult, but now your data is better protected than 95% of users. +You can be proud of yourself! I'm proud of you 🤗 +

+
+

+Domain purchasing +

+

+Enabled 2FA? Then let's proceed to the most interesting part! +

+
+gif +
+

+Domain — it's a piece of Internet, which you can name like your home pet. Potential for +creativity is huge. +Your only limitations are 63 symbols length + .com .org .icu or other domain zones. Feel free to choose +among hundreds of others. +You can choose your surname as a domain, like this: jackson.live or carson.health, or it can be +something creative, +like: unicorn-land.shop +

+
+

+Advices +

+
    +
  • Be sure to look at the annual renewal price, it can exceed the purchase price many times.
  • +
  • Normal domain price is $8-10 per year. The cheapest are Chinese .icu and .cyou - $4-6.
  • +
  • A good name is convenient, both on the phone to dictate, and on the business card to indicate. +
  • +
  • The last name in the domain is good in that you can distribute mail to all namesakes, for +example: +name.secondname@surname.com, ns@surname.com or name@surname.com
  • +
  • +During domain registration, make sure to enter your real e-mail address, otherwise your +registration can be +canceled. And if you can't extend the domain, the system won't work as intended. +
  • +
  • Did I talk about the 2FA?
  • +
+
+

+Connecting Domain to DNS Server +

+

+After acquisition, add your domain into CloudFlare: +

+
+gif +
+

+Using ruleit.stream as example, we chose free service plan +and got nameservers: gail.ns.cloudflare.com and mattns.cloudflare.com, which must be registered with our registrar. +In our case NameCheap: +

+
+gif +
+

+At the same time, we check that we include auto-renewal and protection of personal data — WhoisGuard. +After a few minutes or, in the worst case, up to 2 days, the settings will be applied. +

+

+🔑 Generating tokens +

+
+

+API tokens +

+

+API tokens are almost the same as login and password, only for a program, not a person. +SelfPrivacy application uses them to manage services in all accounts instead of you. Convenient! +

+

+Tokens should be stored in the password manager +

+

+We do not need a token for the NameCheap. But we will need one for the CloudFlare +to use it for domain management. +

+

+CloudFlare +

+
    +
  • Visit the following link.
  • +
  • In the right corner, we click on the profile icon (a man in a circle). For the mobile version +of the site, in +the upper left corner, click the Menu button (three horizontal bars), in the dropdown +menu, +click on My Profile +
  • +
  • We have four configuration categories to choose from: Communication, Authentication, API +Tokens, Session. Choose API Tokens. +
  • +
  • The first item is the Create Token button. With complete self-confidence and a desire +to gain privacy, we press it. +
  • +
  • We go down to the bottom and see the Create Custom Token field and +the Get Started button on the right side. We press.
  • +
  • In the Token Name field, we give our token a name. You can quote and treat this as +the name of a pet:)
  • +
  • Next we have Permissions. In the leftmost field, select Zone. In the longest +field, center, select +DNS. In the rightmost field, select Edit. +
  • +
  • Next, right under this line, click Add More. Similar field will appear.
  • +
  • In the leftmost field of the new line, we select, similar to the last line — Zone. In the +center — a little different. +Here we choose the same as in the left — Zone. In the rightmost field, select +Read. +
  • +
  • Next we look at Zone Resources. Under this inscription there is a line with two fields. +The left must have Include and the right must have Specific Zone. Once you select +Specific Zone, another field appears on the right. We choose our domain in it. +
  • +
  • We flick to the bottom and press the blue Continue to Summary button.
  • +
  • We're checking to see if we got everything right. A similar string must be present: Domain — +DNS:Edit, Zone:Read. +
  • +
  • Click on Create Token.
  • +
  • We copy the created token, and save it in a reliable place (preferably in the password manager).
  • +
+gif +

+Hetzner +

+
    +
  • Visit the following link and authorize in the +previously created account.
  • +
  • We go into the project we created. If there is none, then we create.
  • +
  • Point the mouse to the side panel. It should open by showing us menu items. We are interested +in the latter — Security (with a key icon). +
  • +
  • Next, at the top of the interface we see approximately the following list: SSH Keys, +API Tokens, +Certificates, Members. We need the API Tokens. Click on it. +
  • +
  • On the right side of the interface, we will be waiting for the Generate API token button. +If you use +the mobile version of the site — in the lower right corner you will see a red plus +button. We press. +
  • +
  • In the Description field, give our token a name (this can be any name that +you like, it does not essentially change).
  • +
  • Under Description, you can select permissions. Select Read & Write. +
  • +
  • Click Generate API Token.
  • +
  • After that, your key will be displayed. We write it in a safe place, or even better, we save it +in the +password manager. +
  • +
+gif +

+Backblaze B2 +

+
    +
  • Visit the following link
  • +
  • On the left side of the interface, select App Keys in the B2 Cloud Storage +subcategory. +
  • +
  • Click on the blue Generate New Master Application Key button.
  • +
  • In the appeared pop-up window confirm the generation.
  • +
  • Save keyID and applicationKey in the safe place. For example - in the +password manager :) +
  • +
+gif +

+🎉 Congratulations. Now you are ready to use private services. +

+
+
+
diff --git a/content/second.ru.md b/content/second.ru.md new file mode 100644 index 0000000..a993f18 --- /dev/null +++ b/content/second.ru.md @@ -0,0 +1,311 @@ +--- +title: Second +images: ["brand.png"] +--- + +
+
+

+Установка и настройка +

+ +
+

+ +

+SelfPrivacy сервер создается поэтапно в течение часа. Звучит страшно, но уверяю, учёная степень не +понадобится. Процесс не сложнее покупки в интернет-магазине. +

+ +
    +
  • +Поиск паспорта и карты с балансом $10-15 и $5 в месяц +
  • +
  • +Регистрация учётных записей +
  • +
  • +Защита учётных записей +
  • +
  • +Покупка домена +
  • +
  • +Подключение домена к DNS серверу +
  • +
  • +🔑 Создание ключей +
  • +
  • +Установка +
  • +
  • +Подключение к сервисам 🎉 +
  • +
+

+Если кому-нибудь поручите эту задачу — лишитесь приватности. Для 100% независимости и контроля +необходимо всё +делать самостоятельно. +

+
+ +
+

+Регистрация учётных записей +

+

+Для устойчивости и приватности SelfPrivacy требует много учётных записей. Если всё держать в одном +месте, +получаем то, от чего бежали — все данные у одной компании. 🤦‍♀️ +

+

+Поэтому разные части системы будут в разных местах. Регистрируемся: +

+
    +
  • +Hetzner — хостинг виртуального сервера. Здесь +будут жить наши данные и сервисы SelfPrivacy. +
  • +
  • +NameCheap или любой другой +регистратор, для покупки личного адреса в интернете — домена, который будет указывать на сервер. +
  • +
  • +CloudFlare — DNS сервер, где работает Ваш +домен. +
  • +
  • +Backblaze +— IaaS провайдер, для бесплатного хранения резервных копий Ваших данных в +зашифрованном виде. +
  • +
+

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

+
+ +
+

+Защита учётных записей +

+

+Чаще всего системы взламывают через самое слабое звено. Чтобы учётные записи не были таким звеном, +пароли +должны быть разными и сложными. MamaMilaRamu, как ни странно, плохой пароль, а отличные 🌈 — это +парольная фраза: +

+

+expert repose postwar anytime glimpse freestyle liability effects +

+

или

+

+}Rj;EtG:,M!bc4/| +

+

+Как такой пароль запомнить? Никак! Пароли не нужно запоминать, их надо создавать и хранить в менеджере паролей. Хотя один помнить придётся — +пароль от менеджера паролей. +

+

+Обязательно включите дополнительную защиту учётных записей — второй фактор (MFA, 2FA). Без +этого +простого шага Ваши данные не будут в безопасности. +

+

+Я знаю, было сложно, но теперь Ваши данные защищены лучше, чем у 95% пользователей. Можете собой +гордиться! Я вот Вами +горжусь 🤗 +

+
+ +

+Покупка домена +

+ +

+Включили второй фактор? Я серьёзно! Тогда переходим к интересному! +

+
+gif +
+ +

+Домен — это кусочек интернета, которому Вы даёте имя. Простор для творчества огромен, у Вас есть +63 символа + .com .org .icu и еще несколько сотен доменов после точки. Можно просто по фамилии выбрать, +например +ivanov.live или ivanov.health, а можно что-то творческое — shit-happens.shop +

+ +
+

+Рекомендации +

+
    +
  • Обязательно смотреть на цену ежегодного продления, она может в разы превышать стоимость покупки. +
  • +
  • Нормальная цена домена $8-10 в год. Самые дешёвые — китайские .icu и .cyou — $4-6.
  • +
  • Хорошее имя удобно и по телефону диктовать, и на деловой визитке указать.
  • +
  • Фамилия в домене хороша тем, что можно раздать почту всем однофамильцам, например: +name.secondname@surname.com, ns@surname.com или name@surname.com
  • +
  • При регистрации домена обязательно указывать реальные почту и телефон, иначе регистрацию могут +аннулировать. И если Вы не сможете продлить домен, система не будет работать так, как задумано. +
  • +
  • Я уже говорил про второй фактор?
  • +
+
+ + +

+Подключение домена к DNS серверу +

+ +

+После покупки, домен добавляем в CloudFlare: +

+ +
+gif +
+ +

+На примере домена ruleit.stream мы выбрали бесплатный тариф и получили +имена серверов: gail.ns.cloudflare.com и mattns.cloudflare.com, которые надо прописать у своего регистратора. В +нашем случае NameCheap: +

+ +
+gif +
+ +

+Заодно проверяем, что у нас включено автопродление и защита персональных данных — WhoisGuard. Через несколько минут или, в худшем случае, до 2-ух суток +настройки применятся. +

+ + +

+🔑 Создание ключей +

+ +
+ +

+API ключи +

+ +

+API ключи — это почти то же самое, что и логин с паролем, только для программы, а не +человека. +Мобильное приложение SelfPrivacy с их помощью управляет сервисами во всех учётных записях вместо +Вас. Удобно! +

+ +

+Ключи хранить в менеджере паролей. +

+ +

+Для NameCheap нам ключ не нужен, мы уже всё сделали. А управление доменом будет в CloudFlare. +

+ +

+CloudFlare +

+ +
    +
  • Переходим по ссылке и авторизуемся в ранее +созданном аккаунте.
  • +
  • В правом углу кликаем на иконку профиля (человечек в кружочке). Для мобильной версии сайта, в +верхнем левом углу, нажимаем кнопку Меню (три горизонтальных полоски), в выпавшем меню, +ищем пункт My Profile.
  • +
  • Нам предлагается на выбор, четыре категории настройки: Preferences, Authentication, API +Tokens, Sessions. Выбираем API Tokens.
  • +
  • Самым первым пунктом видим кнопку Create Token. С полной уверенностью в себе и желанием +обрести приватность, нажимаем на неё.
  • +
  • Спускаемся в самый низ и видим поле Create Custom Token и кнопку Get Started с +правой стороны. Нажимаем.
  • +
  • В поле Token Name даём своему токену имя. Можете покреативить и отнестись к этому как к +наименованию домашнего зверька :)
  • +
  • Далее, у нас Permissions. В первом поле выбираем Zone. Во втором +поле, по центру, +выбираем DNS. В последнем поле выбираем Edit.
  • +
  • Далее, прямо под этой строчкой, нажимаем на Add More. Появится строка, аналогичная той, +которую мы только что заполняли.
  • +
  • В первом поле новой строки выбираем, аналогично прошлой строке — Zone. Во +втором поле — немного по другому. Тут мы выбираем то же самое, что и в первом — Zone. В +третьем поле — выбираем Read.
  • +
  • Далее смотрим на Zone Resources. Под этой надписью есть строка с двумя полями. В первом +должно быть Include, а во втором — Specific Zone. Как только вы выберите +Specific Zone, справа появится ещё одно поле. В нём выбираем наш домен. +
  • +
  • Листаем в самый низ и нажимаем на синюю кнопку Continue to Summary.
  • +
  • Проверяем, всё ли мы правильно выбрали. Должна присутствовать подобная строка: ваш.домен — +DNS:Edit, Zone:Read. +
  • +
  • Нажимаем Create Token.
  • +
  • Копируем созданный токен, и сохраняем его в надёжном месте (желательно — в менеджере паролей). +
  • +
+ +gif + +

+Hetzner +

+ +
    +
  • Переходим по ссылке и авторизуемся в ранее +созданном аккаунте.
  • +
  • Заходим в созданный нами проект. Если такового нет — значит создаём.
  • +
  • Наводим мышкой на боковую панель. Она должна раскрыться, показав нам пункты меню. Нас интересует +последний — Security (с иконкой ключика).
  • +
  • Далее, в верхней части интерфейса видим примерно такой список: SSH KEYS, API TOKENS, +CERTIFICATES, MEMBERS. Нам нужен API TOKENS. Переходим по нему.
  • +
  • По середине в интерфейсе, нас будет ожидать кнопка GENERATE API TOKEN. Нажимаем на эту +кнопку.
  • +
  • В поле Description даём нашему токену название (это может быть любое название, которое +Вам нравится, сути оно не меняет).
  • +
  • Под полем Description видим возможность выбрать разрешения PERMISSIONS. Выбираем +Read & Write. +
  • +
  • Нажимаем GENERATE API TOKEN.
  • +
  • После этого, появиться окно с Вашим ключём. Записываем его в надёжном месте, или ещё лучше, +сохраняем +в +менеджере паролей. +
  • +
+ +gif + +

+Backblaze B2 +

+ +
    +
  • Переходим по ссылке и авторизуемся +в ранее +созданном аккаунте.
  • +
  • В левой части интерфейса выбираем App Keys в подкатегории "Account"
  • +
  • Нажимаем на синюю кнопку Generate New Master Application Key
  • +
  • Во всплывающем окне подтверждаем генерацию
  • +
  • Сохраняем keyID и applicationKey в надёжном месте. Например - в менеджере паролей :)
  • +
+ +gif + +

+🎉 Поздравляю! Теперь Вы готовы использовать приватные сервисы. +

+
+
+
diff --git a/en/index.html b/en/index.html deleted file mode 100755 index 66dd993..0000000 --- a/en/index.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - SelfPrivacy — Self-hosted services without pain - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
- -
-
- -
-

- Platform on user's hosting provider for deploying private services, managed via mobile application. -

-
-
- Digital independence, available to all of us -
-
- SelfPrivacy — it's not a cloud, but your personal datacenter -
-
- Services of SelfPrivacy -
-
- Connecting a server to SelfPrivacy -
-
- Your datacenter -
-
-
- - -
-
- -
- - -
-
-

- Your personal services -

-
- -
-

- E-Mail -

-

- Unlimited mailboxes amount for a company or family. -

-
- -
-

- Messenger -

-

- The most private messenger - is the one with the server part located on your personal server. That's what makes DeltaChat - more private than Telegram and Signal. -

-
- - -
-

- Password Manager -

-

- Passwords no longer need to be remembered, copied between devices, invented or entered manually. -
-
- Bitwarden is a trusted password manager for all devices. -

-
- -
-

- Cloud storage -

-

- Nextcloud is a private - and functional replacement - for Dropbox and G-drive. -

-
- -
-

- Videomeet -

-

- Zoom and Google-meet are no longer needed when there is a Jitsi-meet. Very simple and convenient video - conferencing solution. -

-
- -
-

- Git repository -

-

- Gitea is an excellent analogue of Github, which belongs to you, - not Microsoft. -

-
- -
-

- VPN for all of your friends and relatives devices -

-

- No public VPN - can be private, - just those one which is on your server. - OpenConnect - — connect an unlimited number of devices. -

-
- -
-

- Decentralized social network -

-

- Pleroma is a social network where you decide who to block and what to publish. No more advertising and - surveillance. -

-
-
-
-
- - -
-
-

Advantages

-
- - -
- -
- -
-

- Zero trust -

-

- SelfPrivacy is developed on the "zero trust" principle, even in relation to SelfPrivacy developers. - That means you're the sole owner of your data. -

-
- -
-

- Simplicity -

-

- It works simple. Without console, complicated instructions, monitoring and involvement of specialists. -

-
- -
-

- Functionality -

-

- Your data will not be lost thanks to regular automatic backups to a - separate data center. -

-
- -
- -
- -
- -
- icon - -

- Data control -

- -

- Why do corporations need your data? - To make you buy more and vote as they want. - With SelfPrivacy, only you have your data. -

-
- -
- icon - -

- Security -

- -

- Open source. The $2,000 reward for RCE vulnerability significantly increases security - compared to conventional self-hosted solutions. -

-
- -
- -
- -
- icon - -

- No license agreements -

- -

- What is written in the license agreements that you accept without reading? - It says that you allow companies to do anything with your data. - SelfPrivacy has no license agreements. -

-
- - -
- icon - -

- Save your time and money -

- -

- How to save $500 or two weeks of your life? - Will it take the same time and money for a specialist to set everything up from scratch? -

- SelfPrivacy team works continuously to speed up and simplify this process to a few clicks. -

- Now anyone will be capable to setup their own data center. -

-
- -
- -
- -
- icon - -

- Independency -

- -

- Your communications on the internet no longer depend on Google, Facebook, Amazon and others E-Corps. -

- Your services are your rules! - You will not be blocked or disabled, accidentally or for any other reason. - Your infrastructure and data will always remain with you. -

-
- - - -
- icon - -

- Privacy -

- -

- No registration, cookies, telemetry, logs, Google analytics and clouds. -

-
- - -
- -
-
-
- - - - - - diff --git a/en/second.html b/en/second.html deleted file mode 100755 index dd1576b..0000000 --- a/en/second.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

- Deployment and setup -

- -
-

- -

- SelfPrivacy-server is created step by step within an hour. Sounds scary, but believe me, - you shouldn't be a PhD to accomplish that. It's as simple as purchase in the e-shop. -

- -
    -
  • - Searching for passport and card with balance of $10-15 and $5 per month -
  • -
  • - Accounts registration -
  • -
  • - Protecting accounts -
  • -
  • - Domain purchasing -
  • -
  • - Connecting Domain to DNS Server -
  • -
  • - 🔑 Generating tokens -
  • -
  • - Installation -
  • -
  • - Connecting to the services 🎉 -
  • -
-

- If you delegate this process to someone else, you will lose privacy. For 100% independence - and control - we recommend to do everything on your own. -

-
- -
-

- Accounts registration -

-

- For stability and privacy, SelfPrivacy requires many accounts. If you hold everything in one - place, - you'll get the same you've been running from — all data in hands of one corporation🤦 -

-

- That's why, different parts of the system will be in different places. Let's register: -

-
    -
  • - Hetzner is a virtual server hosting. Our - data and SelfPrivacy services will live here. -
  • -
  • - NameCheap or any other - registrar, to purchase your personal address on the Internet — - the domain that will point to the server. -
  • -
  • - CloudFlare is a DNS server, where your - personal - address(domain) works. -
  • -
  • - - Backblaze is an IaaS, that provides free storage for your encrypted backups. -
  • -
-

- Registration is trivial, but sometimes account activation may take up to few days or requires - additional documents. - Therefore, use real documents and fill out everything carefully. - Providers protect themselves from spam in such way. Nothing personal ) -

-
- -
-

- Protecting accounts -

-

- Most often, systems are hacked through the weakest part. In order for accounts not to be such - a part, passwords must be different and complex. TwinkleTwinkleLittleStar is a great example of a - bad password. - A good one 🌈 is a - passphrase: -

-

- expert repose postwar anytime glimpse freestyle liability effects -

-

or

-

- }Rj;EtG:,M!bc4/| -

-

- How to remember such complicated password? No way! Passwords do not need to be remembered, they must - be - created and stored in the password manager. Though, - you'll - have to remember at least one — password from the password manager. -

-

- Be sure to enable additional account protection - the second factor (MFA, 2FA). - Without this simple step, your data will not be safe. -

-

- I know it was difficult, but now your data is better protected than 95% of users. - You can be proud of yourself! I'm proud of you 🤗 -

-
- -

- Domain purchasing -

- -

- Enabled 2FA? Then let's proceed to the most interesting part! -

-
- gif -
- -

- Domain — it's a piece of Internet, which you can name like your home pet. Potential for - creativity is huge. - Your only limitations are 63 symbols length + .com .org .icu or other domain zones. Feel free to choose - among hundreds of others. - You can choose your surname as a domain, like this: jackson.live or carson.health, or it can be - something creative, - like: unicorn-land.shop -

- -
-

- Advices -

-
    -
  • Be sure to look at the annual renewal price, it can exceed the purchase price many times.
  • -
  • Normal domain price is $8-10 per year. The cheapest are Chinese .icu and .cyou - $4-6.
  • -
  • A good name is convenient, both on the phone to dictate, and on the business card to indicate. -
  • -
  • The last name in the domain is good in that you can distribute mail to all namesakes, for - example: - name.secondname@surname.com, ns@surname.com or name@surname.com
  • -
  • - During domain registration, make sure to enter your real e-mail address, otherwise your - registration can be - canceled. And if you can't extend the domain, the system won't work as intended. -
  • -
  • Did I talk about the 2FA?
  • -
-
- - -

- Connecting Domain to DNS Server -

- -

- After acquisition, add your domain into CloudFlare: -

- -
- gif -
- -

- Using ruleit.stream as example, we chose free service plan - and got nameservers: gail.ns.cloudflare.com and mattns.cloudflare.com, which must be registered with our registrar. - In our case NameCheap: -

- -
- gif -
- -

- At the same time, we check that we include auto-renewal and protection of personal data — WhoisGuard. - After a few minutes or, in the worst case, up to 2 days, the settings will be applied. -

- - -

- 🔑 Generating tokens -

- -
- -

- API tokens -

- -

- API tokens are almost the same as login and password, only for a program, not a person. - SelfPrivacy application uses them to manage services in all accounts instead of you. Convenient! -

- -

- Tokens should be stored in the password manager -

- -

- We do not need a token for the NameCheap. But we will need one for the CloudFlare - to use it for domain management. -

- -

- CloudFlare -

- -
    -
  • Visit the following link.
  • -
  • In the right corner, we click on the profile icon (a man in a circle). For the mobile version - of the site, in - the upper left corner, click the Menu button (three horizontal bars), in the dropdown - menu, - click on My Profile -
  • -
  • We have four configuration categories to choose from: Communication, Authentication, API - Tokens, Session. Choose API Tokens. -
  • -
  • The first item is the Create Token button. With complete self-confidence and a desire - to gain privacy, we press it. -
  • -
  • We go down to the bottom and see the Create Custom Token field and - the Get Started button on the right side. We press.
  • -
  • In the Token Name field, we give our token a name. You can quote and treat this as - the name of a pet:)
  • -
  • Next we have Permissions. In the leftmost field, select Zone. In the longest - field, center, select - DNS. In the rightmost field, select Edit. -
  • -
  • Next, right under this line, click Add More. Similar field will appear.
  • -
  • In the leftmost field of the new line, we select, similar to the last line — Zone. In the - center — a little different. - Here we choose the same as in the left — Zone. In the rightmost field, select - Read. -
  • -
  • Next we look at Zone Resources. Under this inscription there is a line with two fields. - The left must have Include and the right must have Specific Zone. Once you select - Specific Zone, another field appears on the right. We choose our domain in it. -
  • -
  • We flick to the bottom and press the blue Continue to Summary button.
  • -
  • We're checking to see if we got everything right. A similar string must be present: Domain — - DNS:Edit, Zone:Read. -
  • -
  • Click on Create Token.
  • -
  • We copy the created token, and save it in a reliable place (preferably in the password manager).
  • -
- - gif - -

- Hetzner -

- -
    -
  • Visit the following link and authorize in the - previously created account.
  • -
  • We go into the project we created. If there is none, then we create.
  • -
  • Point the mouse to the side panel. It should open by showing us menu items. We are interested - in the latter — Security (with a key icon). -
  • -
  • Next, at the top of the interface we see approximately the following list: SSH Keys, - API Tokens, - Certificates, Members. We need the API Tokens. Click on it. -
  • -
  • On the right side of the interface, we will be waiting for the Generate API token button. - If you use - the mobile version of the site — in the lower right corner you will see a red plus - button. We press. -
  • -
  • In the Description field, give our token a name (this can be any name that - you like, it does not essentially change).
  • -
  • Under Description, you can select permissions. Select Read & Write. -
  • -
  • Click Generate API Token.
  • -
  • After that, your key will be displayed. We write it in a safe place, or even better, we save it - in the - password manager. -
  • -
- - gif - -

- Backblaze B2 -

- -
    -
  • Visit the following link
  • -
  • On the left side of the interface, select App Keys in the B2 Cloud Storage - subcategory. -
  • -
  • Click on the blue Generate New Master Application Key button.
  • -
  • In the appeared pop-up window confirm the generation.
  • -
  • Save keyID and applicationKey in the safe place. For example - in the - password manager :) -
  • -
- - gif - -

- 🎉 Congratulations. Now you are ready to use private services. -

-
-
-
- - - - - \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100755 index 66b364c..0000000 --- a/index.html +++ /dev/null @@ -1,360 +0,0 @@ - - - - - - SelfPrivacy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- -
-
- -
-
- -
-

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

-
-
- Цифровая независимость доступна каждому -
-
- SelfPrivacy — это не облако, а Ваш личный дата-центр -
-
- Сервисы SelfPrivacy -
-
- Подключение сервера -
-
- Обзор дата-центра -
-
-
- - -
-
-
- - -
-
-

- Ваши личные сервисы -

-
- -
-

- Электронная почта -

-

- Для семьи или компании с неограниченным количеством почтовых ящиков. -

-
- -
-

- Мессенджер -

-

- Самый приватный мессенджер — это тот, у которого серверная часть находится под вашим контролем. Это делает DeltaChat приватнее Telegram и Signal. -

-
- -
-

- Менеджер паролей -

-

- Пароли больше не нужно запоминать, копировать между устройствами, придумывать или вводить вручную. -
-
- Bitwarden — надежный менеджер паролей для всех устройств. -

-
- -
-

- Файловое облако -

-

- Nextcloud — приватная - и функциональная замена - Dropbox и G-drive. -

-
- -
-

- Видеоконференция -

-

- Zoom и Google-meet больше не нужны, когда есть Jitsi-meet. Очень простое и удобное решение для - видеоконференций. -

-
- -
-

- Git-репозиторий -

-

- Gitea — отличный аналог Github, который принадлежит Вам, - а не Microsoft. -

-
- -
-

- VPN для всех устройств друзей и близких -

-

- Ни один публичный VPN - не может быть приватным, если только он не расположен на вашем сервере. - OpenConnect - — подключайте неограниченное количество устройств. -

-
- -
-

- Децентрализованная социальная сеть -

-

- Pleroma — социальная сеть в которой вы решаете, кого заблокировать и что публиковать. Никакой больше рекламы - и слежки. -

-
-
-
-
- - -
-
-

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

-
-
-
-
-

- Нулевое доверие -

-

- SelfPrivacy разработан по принципу "нулевого доверия", даже к самим разработчикам SelfPrivacy. Это - значит, что Вы — единственный владелец своих данных. -

-
- -
-

- Простота -

-

- Это работает просто. Без консоли, сложных инструкций, мониторинга и привлечения специалистов. -

-
- -
-

- Функционал -

-

- Ваши данные никуда не пропадут благодаря регулярному автоматическому резервному копированию в отдельный - дата-центр. -

-
-
-
- -
- -
- icon - -

- Контроль данных -

- -

- Почему корпорациям так нужны Ваши данные? - Чтобы больше покупали, чтобы Вы голосовали, как им нужно. - В SelfPrivacy Ваши данные остаются только у Вас. -

-
- -
- icon - -

- Безопасность -

- -

- Открытый код. Вознаграждение $2000 за RCE-уязвимость значительно повышает безопасность в сравнении с - обычными self-hosted решениями. -

-
- -
- -
- -
- icon - -

- Без лицензионных соглашений -

- -

- Что написано в лицензионных соглашениях, которые Вы принимаете, не читая? - Там написано, что с Вашими данными можно делать что угодно. - В SelfPrivacy нет лицензионных соглашений. -

-
- - -
- icon - -

- Экономия времени, денег и сил -

- -

- Как сэкономить $500 или две недели жизни? - Столько понадобится времени и денег специалисту, чтобы настроить все самому с нуля? -

- Команда SelfPrivacy непрерывно работает, чтобы ускорить и упростить этот процесс до нескольких кликов. -

- Теперь создание личного дата-центра под силу любому желающему. -

-
- -
- -
- -
- icon - -

- Независимость -

- -

- Ваши коммуникации в интернете не зависят от Google, Facebook, Amazon и прочих мегакорпораций. -

- Ваши сервисы — Ваши правила! - Вас не заблокируют, не отключат, случайно или по какой-либо другой причине. Ваша инфраструктура и данные - всегда останутся с Вами. -

-
- - - -
- icon - -

- Приватность -

- -

- Без регистрации, куков, телеметрии, логов, гугл аналитики и облаков. -

-
-
-
-
-
- - - - - - diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..ea9c8f2 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,10 @@ + + + {{ partial "head.html" . }} + + {{ partial "header.html" . }} + {{ block "main" . }} + {{ end }} + {{ partial "footer.html" . }} + + diff --git a/layouts/_default/index.html b/layouts/_default/index.html new file mode 100644 index 0000000..e0e8308 --- /dev/null +++ b/layouts/_default/index.html @@ -0,0 +1,3 @@ +{{ define "main" }} + {{ .Content }} +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..e0e8308 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{ define "main" }} + {{ .Content }} +{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..051b1eb --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,8 @@ + diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..0e03b98 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,13 @@ + + + {{ block "title" . }} + {{ .Title }} + {{ end }} + {{ template "_internal/opengraph.html" . }} + {{ template "_internal/twitter_cards.html" . }} + + + + + + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..2dfd96e --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,28 @@ + diff --git a/second.html b/second.html deleted file mode 100755 index e6e67ea..0000000 --- a/second.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

- Установка и настройка -

- -
-

- -

- SelfPrivacy сервер создается поэтапно в течение часа. Звучит страшно, но уверяю, учёная степень не - понадобится. Процесс не сложнее покупки в интернет-магазине. -

- -
    -
  • - Поиск паспорта и карты с балансом $10-15 и $5 в месяц -
  • -
  • - Регистрация учётных записей -
  • -
  • - Защита учётных записей -
  • -
  • - Покупка домена -
  • -
  • - Подключение домена к DNS серверу -
  • -
  • - 🔑 Создание ключей -
  • -
  • - Установка -
  • -
  • - Подключение к сервисам 🎉 -
  • -
-

- Если кому-нибудь поручите эту задачу — лишитесь приватности. Для 100% независимости и контроля - необходимо всё - делать самостоятельно. -

-
- -
-

- Регистрация учётных записей -

-

- Для устойчивости и приватности SelfPrivacy требует много учётных записей. Если всё держать в одном - месте, - получаем то, от чего бежали — все данные у одной компании. 🤦‍♀️ -

-

- Поэтому разные части системы будут в разных местах. Регистрируемся: -

-
    -
  • - Hetzner — хостинг виртуального сервера. Здесь - будут жить наши данные и сервисы SelfPrivacy. -
  • -
  • - NameCheap или любой другой - регистратор, для покупки личного адреса в интернете — домена, который будет указывать на сервер. -
  • -
  • - CloudFlare — DNS сервер, где работает Ваш - домен. -
  • -
  • - Backblaze - — IaaS провайдер, для бесплатного хранения резервных копий Ваших данных в - зашифрованном виде. -
  • -
-

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

-
- -
-

- Защита учётных записей -

-

- Чаще всего системы взламывают через самое слабое звено. Чтобы учётные записи не были таким звеном, - пароли - должны быть разными и сложными. MamaMilaRamu, как ни странно, плохой пароль, а отличные 🌈 — это - парольная фраза: -

-

- expert repose postwar anytime glimpse freestyle liability effects -

-

или

-

- }Rj;EtG:,M!bc4/| -

-

- Как такой пароль запомнить? Никак! Пароли не нужно запоминать, их надо создавать и хранить в менеджере паролей. Хотя один помнить придётся — - пароль от менеджера паролей. -

-

- Обязательно включите дополнительную защиту учётных записей — второй фактор (MFA, 2FA). Без - этого - простого шага Ваши данные не будут в безопасности. -

-

- Я знаю, было сложно, но теперь Ваши данные защищены лучше, чем у 95% пользователей. Можете собой - гордиться! Я вот Вами - горжусь 🤗 -

-
- -

- Покупка домена -

- -

- Включили второй фактор? Я серьёзно! Тогда переходим к интересному! -

-
- gif -
- -

- Домен — это кусочек интернета, которому Вы даёте имя. Простор для творчества огромен, у Вас есть - 63 символа + .com .org .icu и еще несколько сотен доменов после точки. Можно просто по фамилии выбрать, - например - ivanov.live или ivanov.health, а можно что-то творческое — shit-happens.shop -

- -
-

- Рекомендации -

-
    -
  • Обязательно смотреть на цену ежегодного продления, она может в разы превышать стоимость покупки. -
  • -
  • Нормальная цена домена $8-10 в год. Самые дешёвые — китайские .icu и .cyou — $4-6.
  • -
  • Хорошее имя удобно и по телефону диктовать, и на деловой визитке указать.
  • -
  • Фамилия в домене хороша тем, что можно раздать почту всем однофамильцам, например: - name.secondname@surname.com, ns@surname.com или name@surname.com
  • -
  • При регистрации домена обязательно указывать реальные почту и телефон, иначе регистрацию могут - аннулировать. И если Вы не сможете продлить домен, система не будет работать так, как задумано. -
  • -
  • Я уже говорил про второй фактор?
  • -
-
- - -

- Подключение домена к DNS серверу -

- -

- После покупки, домен добавляем в CloudFlare: -

- -
- gif -
- -

- На примере домена ruleit.stream мы выбрали бесплатный тариф и получили - имена серверов: gail.ns.cloudflare.com и mattns.cloudflare.com, которые надо прописать у своего регистратора. В - нашем случае NameCheap: -

- -
- gif -
- -

- Заодно проверяем, что у нас включено автопродление и защита персональных данных — WhoisGuard. Через несколько минут или, в худшем случае, до 2-ух суток - настройки применятся. -

- - -

- 🔑 Создание ключей -

- -
- -

- API ключи -

- -

- API ключи — это почти то же самое, что и логин с паролем, только для программы, а не - человека. - Мобильное приложение SelfPrivacy с их помощью управляет сервисами во всех учётных записях вместо - Вас. Удобно! -

- -

- Ключи хранить в менеджере паролей. -

- -

- Для NameCheap нам ключ не нужен, мы уже всё сделали. А управление доменом будет в CloudFlare. -

- -

- CloudFlare -

- -
    -
  • Переходим по ссылке и авторизуемся в ранее - созданном аккаунте.
  • -
  • В правом углу кликаем на иконку профиля (человечек в кружочке). Для мобильной версии сайта, в - верхнем левом углу, нажимаем кнопку Меню (три горизонтальных полоски), в выпавшем меню, - ищем пункт My Profile.
  • -
  • Нам предлагается на выбор, четыре категории настройки: Preferences, Authentication, API - Tokens, Sessions. Выбираем API Tokens.
  • -
  • Самым первым пунктом видим кнопку Create Token. С полной уверенностью в себе и желанием - обрести приватность, нажимаем на неё.
  • -
  • Спускаемся в самый низ и видим поле Create Custom Token и кнопку Get Started с - правой стороны. Нажимаем.
  • -
  • В поле Token Name даём своему токену имя. Можете покреативить и отнестись к этому как к - наименованию домашнего зверька :)
  • -
  • Далее, у нас Permissions. В первом поле выбираем Zone. Во втором - поле, по центру, - выбираем DNS. В последнем поле выбираем Edit.
  • -
  • Далее, прямо под этой строчкой, нажимаем на Add More. Появится строка, аналогичная той, - которую мы только что заполняли.
  • -
  • В первом поле новой строки выбираем, аналогично прошлой строке — Zone. Во - втором поле — немного по другому. Тут мы выбираем то же самое, что и в первом — Zone. В - третьем поле — выбираем Read.
  • -
  • Далее смотрим на Zone Resources. Под этой надписью есть строка с двумя полями. В первом - должно быть Include, а во втором — Specific Zone. Как только вы выберите - Specific Zone, справа появится ещё одно поле. В нём выбираем наш домен. -
  • -
  • Листаем в самый низ и нажимаем на синюю кнопку Continue to Summary.
  • -
  • Проверяем, всё ли мы правильно выбрали. Должна присутствовать подобная строка: ваш.домен — - DNS:Edit, Zone:Read. -
  • -
  • Нажимаем Create Token.
  • -
  • Копируем созданный токен, и сохраняем его в надёжном месте (желательно — в менеджере паролей). -
  • -
- - gif - -

- Hetzner -

- -
    -
  • Переходим по ссылке и авторизуемся в ранее - созданном аккаунте.
  • -
  • Заходим в созданный нами проект. Если такового нет — значит создаём.
  • -
  • Наводим мышкой на боковую панель. Она должна раскрыться, показав нам пункты меню. Нас интересует - последний — Security (с иконкой ключика).
  • -
  • Далее, в верхней части интерфейса видим примерно такой список: SSH KEYS, API TOKENS, - CERTIFICATES, MEMBERS. Нам нужен API TOKENS. Переходим по нему.
  • -
  • По середине в интерфейсе, нас будет ожидать кнопка GENERATE API TOKEN. Нажимаем на эту - кнопку.
  • -
  • В поле Description даём нашему токену название (это может быть любое название, которое - Вам нравится, сути оно не меняет).
  • -
  • Под полем Description видим возможность выбрать разрешения PERMISSIONS. Выбираем - Read & Write. -
  • -
  • Нажимаем GENERATE API TOKEN.
  • -
  • После этого, появиться окно с Вашим ключём. Записываем его в надёжном месте, или ещё лучше, - сохраняем - в - менеджере паролей. -
  • -
- - gif - -

- Backblaze B2 -

- -
    -
  • Переходим по ссылке и авторизуемся - в ранее - созданном аккаунте.
  • -
  • В левой части интерфейса выбираем App Keys в подкатегории "Account"
  • -
  • Нажимаем на синюю кнопку Generate New Master Application Key
  • -
  • Во всплывающем окне подтверждаем генерацию
  • -
  • Сохраняем keyID и applicationKey в надёжном месте. Например - в менеджере паролей :)
  • -
- - gif - -

- 🎉 Поздравляю! Теперь Вы готовы использовать приватные сервисы. -

-
-
-
- - - - - \ No newline at end of file diff --git a/css/main.css b/static/css/main.css old mode 100755 new mode 100644 similarity index 100% rename from css/main.css rename to static/css/main.css diff --git a/css/normalize.css b/static/css/normalize.css old mode 100755 new mode 100644 similarity index 100% rename from css/normalize.css rename to static/css/normalize.css diff --git a/favicon.png b/static/favicon.png similarity index 100% rename from favicon.png rename to static/favicon.png diff --git a/font/Inter-Black.eot b/static/fonts/Inter-Black.eot similarity index 100% rename from font/Inter-Black.eot rename to static/fonts/Inter-Black.eot diff --git a/font/Inter-Black.ttf b/static/fonts/Inter-Black.ttf similarity index 100% rename from font/Inter-Black.ttf rename to static/fonts/Inter-Black.ttf diff --git a/font/Inter-Black.woff b/static/fonts/Inter-Black.woff similarity index 100% rename from font/Inter-Black.woff rename to static/fonts/Inter-Black.woff diff --git a/font/Inter-Black.woff2 b/static/fonts/Inter-Black.woff2 similarity index 100% rename from font/Inter-Black.woff2 rename to static/fonts/Inter-Black.woff2 diff --git a/font/Inter-BlackItalic.eot b/static/fonts/Inter-BlackItalic.eot similarity index 100% rename from font/Inter-BlackItalic.eot rename to static/fonts/Inter-BlackItalic.eot diff --git a/font/Inter-BlackItalic.ttf b/static/fonts/Inter-BlackItalic.ttf similarity index 100% rename from font/Inter-BlackItalic.ttf rename to static/fonts/Inter-BlackItalic.ttf diff --git a/font/Inter-BlackItalic.woff b/static/fonts/Inter-BlackItalic.woff similarity index 100% rename from font/Inter-BlackItalic.woff rename to static/fonts/Inter-BlackItalic.woff diff --git a/font/Inter-BlackItalic.woff2 b/static/fonts/Inter-BlackItalic.woff2 similarity index 100% rename from font/Inter-BlackItalic.woff2 rename to static/fonts/Inter-BlackItalic.woff2 diff --git a/font/Inter-Bold.eot b/static/fonts/Inter-Bold.eot similarity index 100% rename from font/Inter-Bold.eot rename to static/fonts/Inter-Bold.eot diff --git a/font/Inter-Bold.ttf b/static/fonts/Inter-Bold.ttf similarity index 100% rename from font/Inter-Bold.ttf rename to static/fonts/Inter-Bold.ttf diff --git a/font/Inter-Bold.woff b/static/fonts/Inter-Bold.woff similarity index 100% rename from font/Inter-Bold.woff rename to static/fonts/Inter-Bold.woff diff --git a/font/Inter-Bold.woff2 b/static/fonts/Inter-Bold.woff2 similarity index 100% rename from font/Inter-Bold.woff2 rename to static/fonts/Inter-Bold.woff2 diff --git a/font/Inter-BoldItalic.eot b/static/fonts/Inter-BoldItalic.eot similarity index 100% rename from font/Inter-BoldItalic.eot rename to static/fonts/Inter-BoldItalic.eot diff --git a/font/Inter-BoldItalic.ttf b/static/fonts/Inter-BoldItalic.ttf similarity index 100% rename from font/Inter-BoldItalic.ttf rename to static/fonts/Inter-BoldItalic.ttf diff --git a/font/Inter-BoldItalic.woff b/static/fonts/Inter-BoldItalic.woff similarity index 100% rename from font/Inter-BoldItalic.woff rename to static/fonts/Inter-BoldItalic.woff diff --git a/font/Inter-BoldItalic.woff2 b/static/fonts/Inter-BoldItalic.woff2 similarity index 100% rename from font/Inter-BoldItalic.woff2 rename to static/fonts/Inter-BoldItalic.woff2 diff --git a/font/Inter-ExtraBold.eot b/static/fonts/Inter-ExtraBold.eot similarity index 100% rename from font/Inter-ExtraBold.eot rename to static/fonts/Inter-ExtraBold.eot diff --git a/font/Inter-ExtraBold.ttf b/static/fonts/Inter-ExtraBold.ttf similarity index 100% rename from font/Inter-ExtraBold.ttf rename to static/fonts/Inter-ExtraBold.ttf diff --git a/font/Inter-ExtraBold.woff b/static/fonts/Inter-ExtraBold.woff similarity index 100% rename from font/Inter-ExtraBold.woff rename to static/fonts/Inter-ExtraBold.woff diff --git a/font/Inter-ExtraBold.woff2 b/static/fonts/Inter-ExtraBold.woff2 similarity index 100% rename from font/Inter-ExtraBold.woff2 rename to static/fonts/Inter-ExtraBold.woff2 diff --git a/font/Inter-ExtraBoldItalic.eot b/static/fonts/Inter-ExtraBoldItalic.eot similarity index 100% rename from font/Inter-ExtraBoldItalic.eot rename to static/fonts/Inter-ExtraBoldItalic.eot diff --git a/font/Inter-ExtraBoldItalic.ttf b/static/fonts/Inter-ExtraBoldItalic.ttf similarity index 100% rename from font/Inter-ExtraBoldItalic.ttf rename to static/fonts/Inter-ExtraBoldItalic.ttf diff --git a/font/Inter-ExtraBoldItalic.woff b/static/fonts/Inter-ExtraBoldItalic.woff similarity index 100% rename from font/Inter-ExtraBoldItalic.woff rename to static/fonts/Inter-ExtraBoldItalic.woff diff --git a/font/Inter-ExtraBoldItalic.woff2 b/static/fonts/Inter-ExtraBoldItalic.woff2 similarity index 100% rename from font/Inter-ExtraBoldItalic.woff2 rename to static/fonts/Inter-ExtraBoldItalic.woff2 diff --git a/font/Inter-ExtraLightBETA.eot b/static/fonts/Inter-ExtraLightBETA.eot similarity index 100% rename from font/Inter-ExtraLightBETA.eot rename to static/fonts/Inter-ExtraLightBETA.eot diff --git a/font/Inter-ExtraLightBETA.ttf b/static/fonts/Inter-ExtraLightBETA.ttf similarity index 100% rename from font/Inter-ExtraLightBETA.ttf rename to static/fonts/Inter-ExtraLightBETA.ttf diff --git a/font/Inter-ExtraLightBETA.woff b/static/fonts/Inter-ExtraLightBETA.woff similarity index 100% rename from font/Inter-ExtraLightBETA.woff rename to static/fonts/Inter-ExtraLightBETA.woff diff --git a/font/Inter-ExtraLightBETA.woff2 b/static/fonts/Inter-ExtraLightBETA.woff2 similarity index 100% rename from font/Inter-ExtraLightBETA.woff2 rename to static/fonts/Inter-ExtraLightBETA.woff2 diff --git a/font/Inter-ExtraLightItalicBETA.eot b/static/fonts/Inter-ExtraLightItalicBETA.eot similarity index 100% rename from font/Inter-ExtraLightItalicBETA.eot rename to static/fonts/Inter-ExtraLightItalicBETA.eot diff --git a/font/Inter-ExtraLightItalicBETA.ttf b/static/fonts/Inter-ExtraLightItalicBETA.ttf similarity index 100% rename from font/Inter-ExtraLightItalicBETA.ttf rename to static/fonts/Inter-ExtraLightItalicBETA.ttf diff --git a/font/Inter-ExtraLightItalicBETA.woff b/static/fonts/Inter-ExtraLightItalicBETA.woff similarity index 100% rename from font/Inter-ExtraLightItalicBETA.woff rename to static/fonts/Inter-ExtraLightItalicBETA.woff diff --git a/font/Inter-ExtraLightItalicBETA.woff2 b/static/fonts/Inter-ExtraLightItalicBETA.woff2 similarity index 100% rename from font/Inter-ExtraLightItalicBETA.woff2 rename to static/fonts/Inter-ExtraLightItalicBETA.woff2 diff --git a/font/Inter-Italic.eot b/static/fonts/Inter-Italic.eot similarity index 100% rename from font/Inter-Italic.eot rename to static/fonts/Inter-Italic.eot diff --git a/font/Inter-Italic.ttf b/static/fonts/Inter-Italic.ttf similarity index 100% rename from font/Inter-Italic.ttf rename to static/fonts/Inter-Italic.ttf diff --git a/font/Inter-Italic.woff b/static/fonts/Inter-Italic.woff similarity index 100% rename from font/Inter-Italic.woff rename to static/fonts/Inter-Italic.woff diff --git a/font/Inter-Italic.woff2 b/static/fonts/Inter-Italic.woff2 similarity index 100% rename from font/Inter-Italic.woff2 rename to static/fonts/Inter-Italic.woff2 diff --git a/font/Inter-LightBETA.eot b/static/fonts/Inter-LightBETA.eot similarity index 100% rename from font/Inter-LightBETA.eot rename to static/fonts/Inter-LightBETA.eot diff --git a/font/Inter-LightBETA.ttf b/static/fonts/Inter-LightBETA.ttf similarity index 100% rename from font/Inter-LightBETA.ttf rename to static/fonts/Inter-LightBETA.ttf diff --git a/font/Inter-LightBETA.woff b/static/fonts/Inter-LightBETA.woff similarity index 100% rename from font/Inter-LightBETA.woff rename to static/fonts/Inter-LightBETA.woff diff --git a/font/Inter-LightBETA.woff2 b/static/fonts/Inter-LightBETA.woff2 similarity index 100% rename from font/Inter-LightBETA.woff2 rename to static/fonts/Inter-LightBETA.woff2 diff --git a/font/Inter-LightItalicBETA.eot b/static/fonts/Inter-LightItalicBETA.eot similarity index 100% rename from font/Inter-LightItalicBETA.eot rename to static/fonts/Inter-LightItalicBETA.eot diff --git a/font/Inter-LightItalicBETA.ttf b/static/fonts/Inter-LightItalicBETA.ttf similarity index 100% rename from font/Inter-LightItalicBETA.ttf rename to static/fonts/Inter-LightItalicBETA.ttf diff --git a/font/Inter-LightItalicBETA.woff b/static/fonts/Inter-LightItalicBETA.woff similarity index 100% rename from font/Inter-LightItalicBETA.woff rename to static/fonts/Inter-LightItalicBETA.woff diff --git a/font/Inter-LightItalicBETA.woff2 b/static/fonts/Inter-LightItalicBETA.woff2 similarity index 100% rename from font/Inter-LightItalicBETA.woff2 rename to static/fonts/Inter-LightItalicBETA.woff2 diff --git a/font/Inter-Medium.eot b/static/fonts/Inter-Medium.eot similarity index 100% rename from font/Inter-Medium.eot rename to static/fonts/Inter-Medium.eot diff --git a/font/Inter-Medium.ttf b/static/fonts/Inter-Medium.ttf similarity index 100% rename from font/Inter-Medium.ttf rename to static/fonts/Inter-Medium.ttf diff --git a/font/Inter-Medium.woff b/static/fonts/Inter-Medium.woff similarity index 100% rename from font/Inter-Medium.woff rename to static/fonts/Inter-Medium.woff diff --git a/font/Inter-Medium.woff2 b/static/fonts/Inter-Medium.woff2 similarity index 100% rename from font/Inter-Medium.woff2 rename to static/fonts/Inter-Medium.woff2 diff --git a/font/Inter-MediumItalic.eot b/static/fonts/Inter-MediumItalic.eot similarity index 100% rename from font/Inter-MediumItalic.eot rename to static/fonts/Inter-MediumItalic.eot diff --git a/font/Inter-MediumItalic.ttf b/static/fonts/Inter-MediumItalic.ttf similarity index 100% rename from font/Inter-MediumItalic.ttf rename to static/fonts/Inter-MediumItalic.ttf diff --git a/font/Inter-MediumItalic.woff b/static/fonts/Inter-MediumItalic.woff similarity index 100% rename from font/Inter-MediumItalic.woff rename to static/fonts/Inter-MediumItalic.woff diff --git a/font/Inter-MediumItalic.woff2 b/static/fonts/Inter-MediumItalic.woff2 similarity index 100% rename from font/Inter-MediumItalic.woff2 rename to static/fonts/Inter-MediumItalic.woff2 diff --git a/font/Inter-Regular.eot b/static/fonts/Inter-Regular.eot similarity index 100% rename from font/Inter-Regular.eot rename to static/fonts/Inter-Regular.eot diff --git a/font/Inter-Regular.ttf b/static/fonts/Inter-Regular.ttf similarity index 100% rename from font/Inter-Regular.ttf rename to static/fonts/Inter-Regular.ttf diff --git a/font/Inter-Regular.woff b/static/fonts/Inter-Regular.woff similarity index 100% rename from font/Inter-Regular.woff rename to static/fonts/Inter-Regular.woff diff --git a/font/Inter-Regular.woff2 b/static/fonts/Inter-Regular.woff2 similarity index 100% rename from font/Inter-Regular.woff2 rename to static/fonts/Inter-Regular.woff2 diff --git a/font/Inter-SemiBold.eot b/static/fonts/Inter-SemiBold.eot similarity index 100% rename from font/Inter-SemiBold.eot rename to static/fonts/Inter-SemiBold.eot diff --git a/font/Inter-SemiBold.ttf b/static/fonts/Inter-SemiBold.ttf similarity index 100% rename from font/Inter-SemiBold.ttf rename to static/fonts/Inter-SemiBold.ttf diff --git a/font/Inter-SemiBold.woff b/static/fonts/Inter-SemiBold.woff similarity index 100% rename from font/Inter-SemiBold.woff rename to static/fonts/Inter-SemiBold.woff diff --git a/font/Inter-SemiBold.woff2 b/static/fonts/Inter-SemiBold.woff2 similarity index 100% rename from font/Inter-SemiBold.woff2 rename to static/fonts/Inter-SemiBold.woff2 diff --git a/font/Inter-SemiBoldItalic.eot b/static/fonts/Inter-SemiBoldItalic.eot similarity index 100% rename from font/Inter-SemiBoldItalic.eot rename to static/fonts/Inter-SemiBoldItalic.eot diff --git a/font/Inter-SemiBoldItalic.ttf b/static/fonts/Inter-SemiBoldItalic.ttf similarity index 100% rename from font/Inter-SemiBoldItalic.ttf rename to static/fonts/Inter-SemiBoldItalic.ttf diff --git a/font/Inter-SemiBoldItalic.woff b/static/fonts/Inter-SemiBoldItalic.woff similarity index 100% rename from font/Inter-SemiBoldItalic.woff rename to static/fonts/Inter-SemiBoldItalic.woff diff --git a/font/Inter-SemiBoldItalic.woff2 b/static/fonts/Inter-SemiBoldItalic.woff2 similarity index 100% rename from font/Inter-SemiBoldItalic.woff2 rename to static/fonts/Inter-SemiBoldItalic.woff2 diff --git a/font/Inter-ThinBETA.eot b/static/fonts/Inter-ThinBETA.eot similarity index 100% rename from font/Inter-ThinBETA.eot rename to static/fonts/Inter-ThinBETA.eot diff --git a/font/Inter-ThinBETA.ttf b/static/fonts/Inter-ThinBETA.ttf similarity index 100% rename from font/Inter-ThinBETA.ttf rename to static/fonts/Inter-ThinBETA.ttf diff --git a/font/Inter-ThinBETA.woff b/static/fonts/Inter-ThinBETA.woff similarity index 100% rename from font/Inter-ThinBETA.woff rename to static/fonts/Inter-ThinBETA.woff diff --git a/font/Inter-ThinBETA.woff2 b/static/fonts/Inter-ThinBETA.woff2 similarity index 100% rename from font/Inter-ThinBETA.woff2 rename to static/fonts/Inter-ThinBETA.woff2 diff --git a/font/Inter-ThinItalicBETA.eot b/static/fonts/Inter-ThinItalicBETA.eot similarity index 100% rename from font/Inter-ThinItalicBETA.eot rename to static/fonts/Inter-ThinItalicBETA.eot diff --git a/font/Inter-ThinItalicBETA.ttf b/static/fonts/Inter-ThinItalicBETA.ttf similarity index 100% rename from font/Inter-ThinItalicBETA.ttf rename to static/fonts/Inter-ThinItalicBETA.ttf diff --git a/font/Inter-ThinItalicBETA.woff b/static/fonts/Inter-ThinItalicBETA.woff similarity index 100% rename from font/Inter-ThinItalicBETA.woff rename to static/fonts/Inter-ThinItalicBETA.woff diff --git a/font/Inter-ThinItalicBETA.woff2 b/static/fonts/Inter-ThinItalicBETA.woff2 similarity index 100% rename from font/Inter-ThinItalicBETA.woff2 rename to static/fonts/Inter-ThinItalicBETA.woff2 diff --git a/font/demo.html b/static/fonts/demo.html similarity index 100% rename from font/demo.html rename to static/fonts/demo.html diff --git a/font/stylesheet.css b/static/fonts/stylesheet.css similarity index 100% rename from font/stylesheet.css rename to static/fonts/stylesheet.css diff --git a/static/images/Illustration.png b/static/images/Illustration.png new file mode 100755 index 0000000..1ccabb7 Binary files /dev/null and b/static/images/Illustration.png differ diff --git a/img/Illustration.svg b/static/images/Illustration.svg similarity index 100% rename from img/Illustration.svg rename to static/images/Illustration.svg diff --git a/img/icons/cd-icon.png b/static/images/icons/cd-icon.png similarity index 100% rename from img/icons/cd-icon.png rename to static/images/icons/cd-icon.png diff --git a/img/icons/eye-icon.png b/static/images/icons/eye-icon.png similarity index 100% rename from img/icons/eye-icon.png rename to static/images/icons/eye-icon.png diff --git a/img/icons/ind-icon.png b/static/images/icons/ind-icon.png similarity index 100% rename from img/icons/ind-icon.png rename to static/images/icons/ind-icon.png diff --git a/img/icons/like-icon.png b/static/images/icons/like-icon.png similarity index 100% rename from img/icons/like-icon.png rename to static/images/icons/like-icon.png diff --git a/img/icons/list-icon.png b/static/images/icons/list-icon.png similarity index 100% rename from img/icons/list-icon.png rename to static/images/icons/list-icon.png diff --git a/img/icons/shield-icon.png b/static/images/icons/shield-icon.png similarity index 100% rename from img/icons/shield-icon.png rename to static/images/icons/shield-icon.png diff --git a/img/logos/fediverse-blue.svg b/static/images/logos/fediverse-blue.svg similarity index 100% rename from img/logos/fediverse-blue.svg rename to static/images/logos/fediverse-blue.svg diff --git a/img/logos/fediverse-yellow.svg b/static/images/logos/fediverse-yellow.svg similarity index 100% rename from img/logos/fediverse-yellow.svg rename to static/images/logos/fediverse-yellow.svg diff --git a/img/logos/git-blue.svg b/static/images/logos/git-blue.svg similarity index 100% rename from img/logos/git-blue.svg rename to static/images/logos/git-blue.svg diff --git a/img/logos/git-yellow.svg b/static/images/logos/git-yellow.svg similarity index 100% rename from img/logos/git-yellow.svg rename to static/images/logos/git-yellow.svg diff --git a/img/logos/self-privacy.png b/static/images/logos/self-privacy.png similarity index 100% rename from img/logos/self-privacy.png rename to static/images/logos/self-privacy.png diff --git a/img/logos/telegram.svg b/static/images/logos/telegram.svg similarity index 100% rename from img/logos/telegram.svg rename to static/images/logos/telegram.svg diff --git a/img/screencasts/Backblaze.gif b/static/images/screencasts/Backblaze.gif similarity index 100% rename from img/screencasts/Backblaze.gif rename to static/images/screencasts/Backblaze.gif diff --git a/img/screencasts/CloudFlare.gif b/static/images/screencasts/CloudFlare.gif similarity index 100% rename from img/screencasts/CloudFlare.gif rename to static/images/screencasts/CloudFlare.gif diff --git a/img/screencasts/Hetzner.gif b/static/images/screencasts/Hetzner.gif similarity index 100% rename from img/screencasts/Hetzner.gif rename to static/images/screencasts/Hetzner.gif diff --git a/img/screencasts/add-domain-to-cf.gif b/static/images/screencasts/add-domain-to-cf.gif similarity index 100% rename from img/screencasts/add-domain-to-cf.gif rename to static/images/screencasts/add-domain-to-cf.gif diff --git a/img/screencasts/nc-buy-domain.gif b/static/images/screencasts/nc-buy-domain.gif similarity index 100% rename from img/screencasts/nc-buy-domain.gif rename to static/images/screencasts/nc-buy-domain.gif diff --git a/img/screencasts/nc-to-cf.gif b/static/images/screencasts/nc-to-cf.gif similarity index 100% rename from img/screencasts/nc-to-cf.gif rename to static/images/screencasts/nc-to-cf.gif diff --git a/img/screenshots/1-en.png b/static/images/screenshots/1-en.png similarity index 100% rename from img/screenshots/1-en.png rename to static/images/screenshots/1-en.png diff --git a/img/screenshots/1-ru.png b/static/images/screenshots/1-ru.png similarity index 100% rename from img/screenshots/1-ru.png rename to static/images/screenshots/1-ru.png diff --git a/img/screenshots/2-en.png b/static/images/screenshots/2-en.png similarity index 100% rename from img/screenshots/2-en.png rename to static/images/screenshots/2-en.png diff --git a/img/screenshots/2-ru.png b/static/images/screenshots/2-ru.png similarity index 100% rename from img/screenshots/2-ru.png rename to static/images/screenshots/2-ru.png diff --git a/img/screenshots/3-en.png b/static/images/screenshots/3-en.png similarity index 100% rename from img/screenshots/3-en.png rename to static/images/screenshots/3-en.png diff --git a/img/screenshots/3-ru.png b/static/images/screenshots/3-ru.png similarity index 100% rename from img/screenshots/3-ru.png rename to static/images/screenshots/3-ru.png diff --git a/img/screenshots/4-en.png b/static/images/screenshots/4-en.png similarity index 100% rename from img/screenshots/4-en.png rename to static/images/screenshots/4-en.png diff --git a/img/screenshots/4-ru.png b/static/images/screenshots/4-ru.png similarity index 100% rename from img/screenshots/4-ru.png rename to static/images/screenshots/4-ru.png diff --git a/img/screenshots/5-en.png b/static/images/screenshots/5-en.png similarity index 100% rename from img/screenshots/5-en.png rename to static/images/screenshots/5-en.png diff --git a/img/screenshots/5-ru.png b/static/images/screenshots/5-ru.png similarity index 100% rename from img/screenshots/5-ru.png rename to static/images/screenshots/5-ru.png