Merge branch 'master' into update_screensots

pull/112/head
def 2024-02-05 02:27:18 +02:00
commit 6048e3c707
53 changed files with 464 additions and 51 deletions

BIN
assets/images/1-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

BIN
assets/images/1-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

BIN
assets/images/2-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
assets/images/2-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
assets/images/3-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

BIN
assets/images/3-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

BIN
assets/images/4-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
assets/images/4-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
assets/images/5-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
assets/images/5-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
assets/images/6-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
assets/images/6-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
assets/images/7-en.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
assets/images/7-ru.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@ -5,12 +5,87 @@
display: none;
}
.nav-link {
color: $secondary !important;
font-weight: 600;
}
.nav-link:hover, .nav-link.active{
background-color: #616161;
color: white;
border-radius: 5px;
}
}
.td-breadcrumbs__single {
visibility: hidden;
}
.td-navbar .td-navbar-nav-scroll {
height: unset !important;
margin-top: unset !important;
}
.td-navbar .td-navbar-nav-scroll .nav-link {
padding: .5rem 1.5rem;
}
.sp-footer a.nav-link span {
width: 2rem;
display: inline-flex;
align-items: center;
border-radius: .1rem;
padding: .5rem;
}
.sp-footer span i {
margin: auto;
}
.td-navbar .td-navbar-nav-scroll .navbar-nav {
padding-bottom: 0 !important;
}
.nav-item {
margin-right: .5rem !important;
}
.dropdown-menu {
right: 0;
left: unset;
padding: 0px;
box-shadow: 0 8px 8px rgba(0, 0, 0, 0.25);
}
.dropdown-item {
padding: 0.5rem 1.5rem;
border-radius: 0.25rem;
}
.td-sidebar-nav .td-sidebar-link__page,
ul.ul-2>.td-sidebar-nav__section-title a {
color: #616161 !important;
font-weight: 400;
}
ul.ul-2>.td-sidebar-nav__section-title a:hover {
color: $blue !important;
}
li:has(input[type="checkbox"]) {
list-style-type: none;
}
.td-toc ul {
margin-top: 1rem;
}
.td-toc li {
display: block;
padding-bottom: .5rem;
}
.td-toc a{
display: inline !important;
}
@media (min-width: 768px) {
.td-sidebar {
@ -28,6 +103,10 @@
border-radius: 1rem;
}
.card-title {
font-weight: 600;
}
.sp-button-shadow {
box-shadow: 0px -0.5rem 0px 0px rgba(0, 0, 0, 0.1) inset;
}
@ -35,7 +114,10 @@
.sp-button-big-padding {
padding-bottom: 1rem;
padding-top: 0.8rem;
font-weight: 600;
}
.btn {
font-weight: 600;
}
.sp-feature-title {
@ -62,6 +144,10 @@
}
}
.text-secondary {
font-weight: 600;
}
.sp-service-icon {
margin-top: -4rem;
max-width: 12rem;
@ -104,3 +190,23 @@
border: none;
margin-top: 1rem;
}
body {
background-color: whitesmoke;
}
a.nav-link.sp-coming-soon {
pointer-events: none;
cursor: default;
color: #616161;
}
a.nav-link.sp-coming-soon::after {
content: "Coming soon!";
display: inline-block;
background-color: #616161;
color: $dark;
margin-left: .5rem;
padding: .1rem .5rem;
border-radius: .1rem;
}

View File

@ -47,7 +47,7 @@ linkTitle = "SelfPrivacy"
<div class="col-xs-12 col-md-8 my-auto">
<div class="container my-4">
<h1>
SelfPrivacy app allows you to set up self-hosted services and manage them.
SelfPrivacy app allows you to set up self-hosted services and manage them
</h1>
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="{{< relref "/download" >}}">
Download
@ -57,9 +57,9 @@ linkTitle = "SelfPrivacy"
</div>
{{< /blocks/section >}}
{{< blocks/section color="100" type="section" >}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Your personal services</h2>
<h2 class="mx-auto text-center font-weight-bolder">Your personal services</h2>
</div>
<div class="row w-100 mt-5 mb-3">
@ -129,9 +129,9 @@ linkTitle = "SelfPrivacy"
{{< /landing-service >}}
</div>
</div>
{{< /blocks/section >}}
</section>
{{< blocks/section color="100" type="section" >}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Advantages</h2>
</div>
@ -174,12 +174,10 @@ linkTitle = "SelfPrivacy"
{{< landing-feature datactrl "Data control">}}
<p class="card-text">Why do corporations need your data? To make you buy more and vote as they want. With SelfPrivacy, only you have your data.</p>
{{< /landing-feature >}}
{{< /blocks/section >}}
</section>
{{< blocks/section color="100" type="section" >}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Supported by</h2>
</div>
@ -194,5 +192,4 @@ linkTitle = "SelfPrivacy"
</a>
</div>
</div>
{{< /blocks/section >}}
</section>

View File

@ -0,0 +1,57 @@
---
title: "Version 0.10.0 Release"
linkTitle: "0.10.0"
date: 2024-01-19
description: >
Migration to the new NixOS version
---
## Changelog
### Features
- **Server installation**: New NixOS version is used during server setup ([#415](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/415))
- It is also possible to set a root SSH key during server setup. This feature can be activated in developer settings.
- **DNS management**: DNS records creation dynamically gets desired records from the server now ([#424](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/424), resolves [#265](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/265))
- **UI**: Add the button to copy password on the new user creation screen ([#409](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/409), resolves [#299](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/299))
- **UI**: Add animation to the recovery key screen ([#410](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/410), resolves [#164](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/164))
- **Backups**: Bucket name now includes the date of creation ([#403](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/403), resolves [#263](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/263))
- **UI**: Snapshots List page now shows the button to open the Jobs sheet ([#396](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/396), resolves [#290](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/290))
- **Server installation**: Implement better domain ownership check during installation ([#394](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/394), resolves [#389](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/389))
- **UI**: Implement flexible precision formatting for prices ([#387](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/387))
### Bug Fixes
- **UI**: Domain name no longer overflows the screen ([#422](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/422), resolves [#408](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/408))
- **UI**: Fix overflow of the filled buttons
- **Hetzner**: Filter away ARM architecture from available servers ([#404](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/404), resolves [#402](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/402))
- **UI**: Add refresh indicator on the 'Devices' screen ([#398](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/398), resolves [#258](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/258) and [#163](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/163))
- **GraphQL API**: Force DateTime to UTC when timezone naive ([#386](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/386), resolves [#385](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/385))
### Other
- Updated the copyright year ([#417](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/417))
- Happy new year!
- Upgrade to Flutter 3.16.1
- Rename the Recovery flow button to prevent user confusion ([#399](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/399), resolves [#346](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/346))
- **GraphQL API**: Remove and replace deprecated mutations ([#423](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/423), resolves [#418](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/418))
### Translation contributions
* French
* smtg (12)
* Spanish
* NaiJi ✨ (35)
* German
* Marvin F (23)
* User 1234 (30)
* Hebrew
* Yaron (578)
* Russian
* def (4)
* NaiJi ✨ (9)
* Inex Code (10)

View File

@ -160,3 +160,26 @@ This release is made possible with the support of [NlNet foundation](https://nln
* Mithras (28)
* Ortibexon (403)
## Patch 0.9.1
### Bug Fixes
- Fix volume resizing on Digital Ocean ([#368](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/368), resolves [#367](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/367))
- Disable the storage card while volume information is being fetched ([#369](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/369), resolves [#317](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/317))
### Features
- Add copy-to-clipboard for email on user page ([#329](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/329), resolves [#287](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/287))
- Add support for ECDSA SSH keys ([#362](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/362), resolves [#319](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/319))
- Implement confirmation modal for the volume resize ([#372](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/372), resolves [#308](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/308))
### Other changes
- Move service descriptions above login info for service cards ([#342](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/342), resolves [#341](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/341))
- Add measure units to 'Extending volume' page ([#344](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/344), resolves [#301](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/301))
- Make users to be ordered properly on users page ([#343](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/343), resolves [#340](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/340))
- Move service card name to its icon row ([#352](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/352), resolves [#350](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/350))
- Reorganize placeholders for empty pages ([#359](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/359), resolves [#348](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/348))
- Remove redundant zone id cache for Cloudflare ([#371](https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.app/issues/371))

View File

@ -21,6 +21,6 @@ We want digital independence and privacy for our data.
## What do we need it for?
Our [team]({{< ref "team.md" >}} consists of programmers and system administrators. We are from different countries and many of us have never met in person. Perhaps we are romantics. Don Quixotes of the free Internet. It is important for us not only to do the work, but to know the result - the contribution to a positive change in people's attitudes to privacy and independence.
Our [team]({{< ref "team.md" >}}) consists of programmers and system administrators. We are from different countries and many of us have never met in person. Perhaps we are romantics. Don Quixotes of the free Internet. It is important for us not only to do the work, but to know the result - the contribution to a positive change in people's attitudes to privacy and independence.
We hope to find stable financial support in the form of free software development funds in the near future, so as not to burden the project founder's budget.

View File

@ -13,9 +13,9 @@ Tasks in **bold** are sponsored, for example, by NlNet. Tasks in *italic* are in
## SP Nix flake format
- [ ] ***Restructure the NixOS configuration to use Nix flakes and migrate to newer NixOS version*** ([nixos-config#38](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/38))
- [ ] *Migrate to NixOS 23.05*
- [ ] *Package the SelfPrivacy API into a flake* ([selfprivacy-api#63](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/issues/63))
- [x] **Restructure the NixOS configuration to use Nix flakes and migrate to newer NixOS version** ([nixos-config#38](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/38))
- [x] Migrate to NixOS 23.05
- [x] Package the SelfPrivacy API into a flake ([selfprivacy-api#63](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/issues/63))
- [ ] ***Develop the manifest format for packaging services to work with SelfPrivacy*** ([nixos-config#40](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/40))
- [ ] **Move existing services to SP Modules**
- [ ] Email server ([nixos-config#41](https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-config/issues/41))
@ -119,5 +119,5 @@ While cloud server providers offer APIs that allow us to perform almost fully au
## Publishing
- [ ] Publish on Google Play
- [x] Publish on Google Play
- [ ] Publish on Apple App Store

View File

@ -17,7 +17,7 @@ International team of independent professionals:
- **ilchub** - DevOps, Backend developer
- **kherel** - Flutter developer
- **nikolai** - QA Engineer
- and a lot of cool cotributors and volonteers
- and a lot of cool contributors and volunteers
## We get help
- [Roscomsvoboda](https://roskomsvoboda.org/). Speech in Russian [youtube](https://www.youtube.com/watch?v=mdeUTUPeJjA).

View File

@ -41,7 +41,7 @@ To access your server's root shell you will have to generate your SSH key and ad
4. Open the Command Prompt. You can do this by pressing **Win+R**, typing `cmd` and pressing **Enter**.
5. Run the following command, replacing `user_name` with your Windows username:
```ps1
ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519.pub
ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519
```
You will be asked to enter a passphrase. You can leave it empty, but it is recommended to use a passphrase.
If you do not want to use a passphrase, press **Enter**.
@ -103,4 +103,4 @@ To access your server's root shell you will have to generate your SSH key and ad
3. Enter the passphrase you entered when generating the SSH key, if you used one.
Be careful when using the root shell. If you do not know what you are doing, you can break your server or leak your data.
Responsibility for the consequences of your actions lies with you. Respect the privacy of other users.
Responsibility for the consequences of your actions lies with you. Respect the privacy of other users.

View File

@ -26,6 +26,9 @@ title: Downloads
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://f-droid.org/en/packages/pro.kherel.selfprivacy/" rel="noopener noreferrer" target="_blank">
F-Droid
</a>
<a class="btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer" target="_blank">
Our F-Droid repository
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
@ -33,15 +36,10 @@ title: Downloads
</a>
</div>
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled" href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" rel="noopener noreferrer" target="_blank">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" rel="noopener noreferrer" target="_blank">
Google Play
</a>
</div>
<div class="col-md-12">
<a class="btn btn-link w-100" href="https://fdroid.selfprivacy.org/" rel="noopener noreferrer" target="_blank">
Our F-Droid repository
</a>
</div>
</div>
@ -65,7 +63,7 @@ title: Downloads
<div class="row w-100">
<div class="col-md-4">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
<a class="btn btn-lg btn-primary mb-4 mt-4 btn-block sp-button-shadow sp-button-big-padding disabled" href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" rel="noopener noreferrer" target="_blank">
Windows
</a>
</div>

View File

@ -60,7 +60,7 @@ linkTitle = "SelfPrivacy"
</div>
{{< /blocks/section>}}
{{< blocks/section color="100" type="section">}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Ваши личные сервисы</h2>
</div>
@ -140,9 +140,9 @@ linkTitle = "SelfPrivacy"
{{< /landing-service>}}
</div>
</div>
{{< /blocks/section>}}
</section>
{{< blocks/section color="100" type="section">}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Преимущества</h2>
</div>
@ -185,12 +185,10 @@ linkTitle = "SelfPrivacy"
{{< landing-feature datactrl "Контроль данных">}}
<p class="card-text">Почему корпорациям так нужны ваши данные? Чтобы больше покупали, чтобы Вы голосовали, как им нужно. В SelfPrivacy ваши данные остаются только у вас.</p>
{{< /landing-feature>}}
{{< /blocks/section>}}
</section>
{{< blocks/section color="100" type="section" >}}
<section class="container-fluid">
<div class="row w-100">
<h2 class="mx-auto text-center">Нас поддерживают</h2>
</div>
@ -205,5 +203,4 @@ linkTitle = "SelfPrivacy"
</a>
</div>
</div>
{{< /blocks/section >}}
</section>

View File

@ -1,6 +1,6 @@
---
title: "SelfPrivacy Blog"
linkTitle: "Blog"
title: "Блог SelfPrivacy"
linkTitle: "Блог"
menu:
main:
weight: 30
@ -10,4 +10,3 @@ menu:
This is the **blog** section. It has two categories: News and Releases.
Files in these directories will be listed in reverse chronological order.

View File

@ -0,0 +1,230 @@
---
title: "Как сменить dns провайдера на deSEC"
linkTitle: "Смена провайдера на deSEC"
weight: 2
date: 2023-10-21
description: >
Для тех кто хочет сменить своего dns провайдера уже после установки сервера.
categories: ["How-To Guides"]
---
Мы рекомендуем использовать [deSEC](https://desec.io/) вместо [CloudFlare](https://cloudflare.com/). DeSEC нацелен на приватность.
Если вы сначала привязали ваш домен к CloudFlare и теперь хотите сменить провайдера, эта статья для вас.
Внимание, процесс довольно сложен, и если вы чувствуете, что что-то идет не так, можете смело [писать нам в чат](https://selfprivacy.org/ru/docs/faq/#%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C).
## Переносим сервер имен (nameserver)
Сервер имен — это сервер который переводит ваш домен (буквы) в IP-адрес сервера (цифры).
1. Регистрируемся в [deSEC](https://desec.io/).
2. На [странице "domains"](https://desec.io/domains) нажимаем на кнопку "плюс".
{{< imgproc desec1 Fill "626x287" />}}
3. Вводим свой домен.
4. Копируем "nameservers".
{{< imgproc desec2 Fill "626x287" />}}
Теперь переходим на сайт провайдера, у которого вы покупали домен.
Действия будут схожи для всех провайдеров, мы будем показывать на примере [Namecheap](https://www.namecheap.com/).
1. Переходим в панель управления вашим доменом.
2. Находим там параметр "Authoritative nameservers".
{{< imgproc namechip1 Fill "626x287" />}}
3. Заменяем текущие адреса на те, что мы скопировали из deSEC в инструкции ранее.
4. Сохраняем изменения.
{{< imgproc namechip3 Fill "626x287" />}}
---
## Получаем токен deSEC
1. Авторизуемся в [deSEC](https://desec.io/login)
2. Переходим на страницу [Domains](https://desec.io/domains)
3. Переходим на вкладку **Token management**.
4. Нажимаем на большую кнопку с "плюсом" в правом верхнем углу страницы.
{{< imgproc desec-tokenmanagment Fill "626x287" />}}
5. Должен появиться диалог "**Generate New Token**". Вводим любое имя токена в **Token name**.
*Advanced settings* необязательны, так что ничего там не трогаем.
6. Кликаем **Save**.
7. Обязательно сохраняем "**secret value**" ключ токена, потому что он отображается исключительно один раз.
{{< imgproc dncsec-copy Fill "626x287" />}}
---
## Подключение к серверу
Изменение записи домена может занимать до двух дней, так что рекомендуем вам подождать обновление записей, перед следующими действиями. Иначе ваши сервисы временно перестанут быть доступны.
Понять, что запись обновилась, вы сможете через приложение, либо перейдя по ссылке на один из ваших сервисов (вы увидите ошибку подключения).
Но помните, вы не сможете больше обращаться к вашему серверу по домену, вам нужно будет знать IP-адрес сервера. Его можно узнать, к примеру, в панеле хостер провайдера.
Для следующих действий вам нужно будет подключиться по ssh к серверу с правами администратора. Минимальное понимание работы командной строки приветствуется ;)
Инструкцию по подключению вы сможете [прочитать тут](http://localhost:1313/ru/docs/how-to-guides/root_ssh/).
После подключения к серверу вводим:
```
nano /etc/nixos/userdata/userdata.json
```
Вы оказались в терминальном тектовом редакторе под названием "nano".
Вы редактируете файл ```/etc/nixos/userdata/userdata.json```, и можете использовать стрелочки для перемещения.
Находим в файле такие строчки:
```
"dns": {
"provider": "CLOUDFLARE",
"apiKey": "Тут будет много букв и цифр, это ваш токен"
},
```
Заменяем:
```"provider": "CLOUDFLARE",```
на
```"provider": "DESEC",```
Теперь на следующей строчке убираем ваш старый токен от CloudFlare и вставляем скопированный токен от deSEC.
(Если CTRL+V не работает, попробуйте SHIFT+CTRL+V)
```"apiKey": "Сюда ваш токен",```
Должно получиться так:
```
"dns": {
"provider": "DESEC",
"apiKey": "Ваш токен от deSEC",
},
```
Теперь нажимаем CTRL+X, после клавишу Y.
Если файл сохранился и вы успешно вышли из тектового редактора, вводим команду:
```
nixos-rebuild switch
```
Она пересоберет вашу серверную систему с новыми параметрами.
После выполнения команды можно смело закрывать консоль.
---
## Перенос записей
Входим сразу в [CloudFlare](https://cloudflare.com/) и в [deSEC](https://desec.io/).
#### В интерфейсе deSEC
По [ссылке](https://desec.io/), в панели "Domain Managment" нажмите на ваш домен.
{{< imgproc howtodesec1 Fill "600x350" />}}
Теперь вы можете добавлять к нему новые записи, с помощью кнопки "Плюс".
{{< imgproc howtodesec2 Fill "600x350" />}}
##### В интерфейсе CloudFlare
По [ссылке](https://cloudflare.com/), переходим в настройки вашего домена, который находится в разделе "Websites".
Выбираем ваш домен.
{{< imgproc howcloudflare2 Fill "363x442" />}}
Теперь переходим в "DNS", далее "Records".
{{< imgproc howcloudflare Fill "363x442" />}}
#### Первая запись: api
Орентируясь на пример с скриншота переносим ваши параметры "api" (смотрите на столбик "Name") записи в соответвии с их цветами.
{{< imgproc replace1 Fill "1544x755" />}}
На скриншоте слева — deSEC, а справа Сloudflare. Вам нужно последовательно перенести каждый параметр данной записи.
#### Вторая запись: корневая
Создаём новую запись типа "А", в "IPv4 address" пишем ваш адрес сервера, вы уже писали его в поле "Content" предыдущей записи.
**Все записи переносить не надо!** Вы создали две записи, а третья уже была создана за вас. Давайте проверим, что у нас получилось.
{{< imgproc replace2 Fill "1250x830" />}}
---
## Перенастраиваем приложение
Для правильной работы вам придется сбросить конфиг приложения. **Не забудьте создать ключ восстановления и сохранить его в безопасном месте (менеджере паролей).**.
Как сбросить приложение:
Переходим в "Настройки приложения".
{{< imgproc app1 Fill "590x1221" />}}
Нажимаем "Сбросить конфиг приложения".
{{< imgproc app2 Fill "585x700" />}}
Теперь переходим в раздел "Мастер установки", где вы настраивали свой сервер, когда в первый раз запускали приложение.
{{< imgproc app3 Fill "590x1221" />}}
Нажимаем "Подключиться к существующему серверу SelfPrivacy".
(В старых версиях приложения кнопка может называться "Подключиться к уже существующему серверу").
{{< imgproc app4 Fill "590x1221" />}}
Далее следуем указаниям в приложении и вводим ключ восстановления или код с другого устройства, где установлено приложение SelfPrivacy.
После установки вы увидите некоторые проблемы с Доменом и DNS. Приложение предложит вам исправить их. Соглашаемся.
{{< imgproc app5 Fill "590x1221" />}}
{{< imgproc app6 Fill "590x500" />}}
**Поздравляем! Вы успешно сменили доменного провайдера. Рекомендуем вам проверить, что все сервисы работают корректно.**

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -42,7 +42,7 @@ categories: ["How-To Guides"]
4. Откройте Командную строку. Это можно сделать, нажав **Win+R**, введя `cmd` и нажав **Enter**.
5. Выполните следующую команду, заменив `user_name` на ваше имя пользователя Windows:
```ps1
ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519.pub
ssh-keygen -t ed25519 -f C:\Users\user_name\.ssh\id_ed25519
```
Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.
@ -67,7 +67,7 @@ categories: ["How-To Guides"]
ssh-keygen -t ed25519 -f /data/data/com.termux/files/usr/etc/ssh/ssh_host_ed25519_key
```
Вам будет предложено ввести кодовую фразу. Вы можете оставить ее пустой, но рекомендуется использовать кодовую фразу.
Если вы не хотите использовать кодовую фразу, нажмите **Enter**.
3. Выведите открытый ключ в терминал и скопируйте его:
```bash

View File

@ -55,6 +55,9 @@ other = "Google Play"
[footer_download_apk]
other = "APK file"
[footer_download_ios]
other = "App Store"
[footer_download_desktop]
other = "For your computer"

View File

@ -55,6 +55,9 @@ other = "Google Play"
[footer_download_apk]
other = "APK файл"
[footer_download_ios]
other = "App Store"
[footer_download_desktop]
other = "Для компьютера"

View File

@ -34,7 +34,6 @@
<ul class="list-unstyled">
<li><a href="https://git.selfprivacy.org/SelfPrivacy" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_source_code" }}</a></li>
<li><a href="https://weblate.selfprivacy.org/" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_translate" }}</a></li>
<li><a href="https://wiki.selfprivacy.org/" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_dev_wiki" }}</a></li>
<li><a href="https://fdroid.selfprivacy.org/" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_test_nightly" }}</a></li>
<li><a href="https://matrix.to/#/#dev:selfprivacy.org" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_matrix_contributor_chat" }}</a></li>
<li><a href="https://t.me/selfprivacy_dev" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_telegram_contributor_chat" }}</a></li>
@ -45,15 +44,16 @@
<h2 class="text-secondary">{{ T "footer_download" }}</h2>
<h3 class="text-secondary">{{ T "footer_download_phone" }}</h3>
<ul class="list-unstyled">
<li><a href="https://fdroid.selfprivacy.org/" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_fdroid" }}</a></li>
<li><a href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_google_play" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_apk" }}</a></li>
<li><a href="https://fdroid.selfprivacy.org/" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-android"></i></span> {{ T "footer_download_fdroid" }}</a></li>
<li><a href="https://play.google.com/store/apps/details?id=org.selfprivacy.app" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-solid fa-play"></i></span> {{ T "footer_download_google_play" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-solid fa-file"></i></span> {{ T "footer_download_apk" }}</a></li>
<li><a href="#" class="nav-link sp-coming-soon" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-apple"></i></span> {{ T "footer_download_ios" }}</a></li>
</ul>
<h3 class="text-secondary">{{ T "footer_download_desktop" }}</h3>
<ul class="list-unstyled">
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_windows" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_linux" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank">{{ T "footer_download_macos" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-linux"></i></span> {{ T "footer_download_linux" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link sp-coming-soon" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-windows"></i></span> {{ T "footer_download_windows" }}</a></li>
<li><a href="https://git.selfprivacy.org/kherel/selfprivacy.org.app/releases/latest" class="nav-link sp-coming-soon" rel="noopener noreferrer" target="_blank"><span><i class="fa-brands fa-apple"></i></span> {{ T "footer_download_macos" }}</a></li>
</ul>
</div>

View File

@ -11,13 +11,13 @@
</div>
{{ if $illustration }}
<div class="col-md-4 col-xs-12 my-auto">
<img class="card-img-top rounded-img" src="{{ $illustration.RelPermalink }}">
<img class="card-img-top rounded-img" src="{{ $illustration.RelPermalink }}" alt="">
</div>
{{ end }}
{{ else }}
{{ if $illustration }}
<div class="col-md-4 col-xs-12 my-auto">
<img class="card-img-top rounded-img" src="{{ $illustration.RelPermalink }}">
<img class="card-img-top rounded-img" src="{{ $illustration.RelPermalink }}" alt="">
</div>
{{ end }}
<div class="col-md-8 col-xs-12 my-auto px-5">

View File

@ -1,7 +1,7 @@
{{ $illustration := .Get 0 }}
{{ $title := .Get 1 }}
<div class="card sp-service-card h-100">
<img class="card-img-top rounded-img sp-service-icon" src="{{ $illustration }}" alt="{{ $title }}">
<img class="card-img-top rounded-img sp-service-icon" src="{{ $illustration }}" alt="">
<div class="card-body">
<h4 class="card-title">{{ $title }}</h4>
{{ .Inner }}