- Сообщения
- 324
- Реакции
- 717
- Продажи
- 3
- Кешбек
- 1.25$
Набор self-host анонимуса
Добро пожаловать в мою новую статью. В ней я поведаю вам, о том какие существуют self-host приложения для замены популярных сайтов. Вместо того, чтобы доверять ваши данные провайдеру какой-то услуги, вы можете хостить аналоги этих сервисов самостоятельно.
Мы изучим и разместим приложения с открытым исходным кодом на ваш собственный сервер. Также рассмотрим использование некоторых из них через сеть тор. Итак, приступим!
1. Основные приложения статьи
Nextcloud — будь сам себе облачным провайдером. В том числе c шифрованием ваших файлов, серверным или end-to-end на клиенте.
Shadowsocks сервер — отличная замена стандартным протоколам впн с обфусцированным трафиком. Позволяет не бояться базовых блокировок по протоколам.
Bitwarden — синхронизация зашифрованных паролей между вашими системами.
Gitea — ваш собственный гитхаб для командной разработки.
Cryptgeon — замена privnote с хранением сообщений/файлов шифрованными в оперативной памяти. Легко работает на домене онион. Удаление после прочтения.
Matrix synapse — ваш собственный сервер для коммуникации в шифрованной федеративной сети matrix.
Picsur — ваш собственный хостинг изображений с удалением exif, анонимными загрузками. Работает легко на домене тор.
2. Установки и размещение. Использование
Nextcloud
Это почти идеальный вариант для собственного сервера синхронизации файлов. Есть клиенты на все популярные системы,открытый исходный код, множество плагинов и настроек. Полноценные интегрированные системы управления командными проектами,редактирования некоторых типов файлов, календарь,формы,задачи и многое другое.
Проще всего установить данную систему в ubuntu с помощью snap.
Код:
sudo snap install nextcloud
Далее создаем админский аккаунт. Заменяем password на серьезный длинный пароль. Особенно, если вы планируете использовать шифрование в дальнейшем.
Код:
sudo nextcloud.manual-install admin password
Отлично, теперь можно перейти по айпи адресу сервера и войти в систему.
Также мы можем настроить onion домен для этого просто поставим tor и отредактируем /etc/tor/torrc
Код:
sudo apt install tor
Добавим в torrc такие строки
Код:
HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:80
sudo service tor restart
После этой процедуры на вашем сервере можно выдать домен onion командой.
Код:
cat /var/lib/tor/onion_service/hostname
При первом заходе через онион домен будет выдано сообщение, что это не доверенный домен. Нужно будет подтвердить.
Также вы можете скачать клиенты для всех популярных систем. Пример для убунту
Теперь нам необходимо настроить шифрование. Для этого в веб-интерфейсе нужно найти вкладку плагины. Есть два варианта можно установить шифрование на сервере. Тогда все файлы будут шифроваться на стороне сервера — это плагин Default ecnryption module
Его надо включить. Или плагин для шифрование end-to-end с клиентов. Что разумеется более безопасно, если вы не доверяете серверу.
Первый плагин достаточно активировать и в настройках параметры сервера-безопасность включить опцию - шифрование на стороне сервера. После этого все новые загруженные файлы будут шифроваться.
Или вы можете включить end-to-end шифрование для этого активируем другой модуль. И при перезаходе в любом из ваших клиентов запросит возможность включения шифрования и выдаст ключ.
Shadowsocks
Преимущество данного протокола в том,что он не детектится стандартными DPI роскомнадзора, так как представляет собой некий шум. Также существуют более интересные новые протоколы так, как V2ray, Vless, Trojan, но здесь мы не будем их рассматривать.
Самый простой способ установки сервера для этого протокола следующий. Ставим на сервер python pip и сам пакет.
Код:
apt-get install python3-pip
pip install shadowsocks
Потом редактируем конфиг nano /etc/shadowsocks.json
Код:
{
"server":"0.0.0.0",
"server_port":8000,
"local_port":1080,
"password":"password",
"timeout":600,
"method":"chacha20"
}
В качестве пароля вписываем вместо password какой-нибудь мощный пасс. В качестве метода шифрования можно вписать chacha20 или aes256-gcm
aes более проверенный, а chacha новый и быстрее на маломощных серверах.
Запустите ваш сервер с помощью команды.
Код:
ssserver -c /etc/shadowsocks.json -d start
После этого вы можете подключиться к серверу с вашего мобильного устройства или пк.
С мобильных проще всего использовать клиенты v2ray-ng или shadowsocks. Они должны быть в f-droid. Для ios можно использовать приложение outline. Вы можете вписать данные самостоятельно, но удобнее подключаться считывая qr-код.
Вот пример генератор кода по вашим данным сервера -
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Также в крайнем случае вы можете купить shadowsocks прокси доступ у провайдеров vpn, которые поддерживают его, например
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Но свой сервер конечно же дешевле и лучше.
Касательно выбора провайдера для вашего сервера. Рекомендую взять проверенного хостера в безопасных странах и с оплатой за монеро. Это может быть например njalla, nicevps, flokinet
Bitwarden
Это удобный сервис для шифрованной синхронизации ваших паролей. Конечно безопаснее всего какой-нибудь локальный keepass(и синхронизировать его через свое шифрованное облако), однако если вы часто меняете устройства вы можете рассмотреть более удобный вариант. Благо вам не обязательно использовать их собственный сервер. Вы можете развернуть свой bitwarden сервер и использовать в любом их приложении.
Самый простой способ использовать этот скрипт для установки в debian,ubuntu системах
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Скачиваем его, делаем исполняемым и устанавливаем bitwarden. У вас в системе должен быть установлен docker,docker-compose
Код:
sudo apt install git
git clone https://github.com/bitwarden/self-host.git
chmod a+x run.sh
./run.sh install
У вас будут запрошены необходимые данные, такие как ваш домен, создавать ли https сертификат.
Также нужно будет получить здесь id и ключ для вашего email
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
И вписать их в процессе установки.
Для того,чтобы запустить сервер вводим
Код:
./run.sh start
У вашего bitwarden есть админка и интерфейс в виде сайта, мы можем пробросить ее на онион обычным способ через /etc/tor/torrc как в инструкции про nextcloud, если в этом есть необходимость.
Однако удобнее всего использовать, их клиенты для мобильных систем и плагины для браузера.
Пример вписывания сервера в клиенте для ubuntu. При создании аккаунта.
Gitea
Это полноценный опенсорс git сервис с возможностью мульти-юзерной разработки, приватных репозиториев, тегов, проектов и многое другое.
Для базовой установки можно разместить его с помощью docker
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Также есть немного устаревший репозиторий с настройками для использования через onion
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Подтверждением возможностью работы через тор является архивный пост подобного паблик git-сервера онион
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Однако можно разместить и по первой инструкции на айпи-адресе сервера и просто работать с ним через тор прокси подобными командами. У вас должен быть установлен tor в системе.
Код:
git -c http.proxy=socks5h://127.0.0.1:9050 clone ...
git -c [email protected]:9050 push origin master
Так, как gitea не использует шифрование файлов, кроме https траффика до сервера. То рекомендую использовать полнодисковое шифрование вашего сервера при установке.
Или можете рассмотреть вот эти тулзы для шифрования git
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Cryptgeon
Это полноценная замена сервисам для одноразовых ссылок. Имеет открытый исходный код.
Которую вы можете разместить самостоятельно на сервере. Плюсы его в том,что шифрование происходит по вашему ключу на клиенте и сам сервер не знает залитые в него данные.
Кроме того все файлы и сообщения хранятся в оперативной памяти и на диск ничего не записывается. Кстати не рекомендую перезагружать, чтобы ничего не пропало.
Также имеет консольный клиент, который может обращаться к стандартному серверу или вашему, чтобы быстро выдать шифрованную ссылку.
Установка клиента
Код:
npx cryptgeon
# Or install globally
npm -g install cryptgeon
cryptgeon
Примеры использования здесь -
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Установка сервера
Простейший способ через docker
Код:
docker run cupcakearmy/cryptgeon
Интерфейс прекрасно работает через онион домен. Только учтите,что он использует js скрипты для шифрования на клиенте. Для создания тор домена пробросьте порт, как по первой инструкции с nextcloud. Проверено!
Matrix synapse
Это отличная замена jabber, шифрованный федеративный протокол. По умолчанию когда вы используете клиенты matrix такие, как element вы подключаетесь к стандартному серверу.
Однако лучше всего развернуть свой, особенно внутри команды или для множества юзеров.
Для установки на сервере с убунту введите
Код:
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main"|sudo tee /etc/apt/sources.list.d/matrix-org.list
Код:
sudo apt update
sudo apt install matrix-synapse-py3
Далее мы ставим matrix сервер. К слову он написан на python.
У вас запросит домен. Вводите ваш домен и спросит посылать ли анонимную статистику, ответим нет.
Далее включаем сервер.
Код:
sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse
Код:
sudo nano /etc/matrix-synapse/homeserver.yaml
Примерно так. Только айпи-адрес выставляем вашего сервера. И вместо слова secret ставим мощную длинную строку случайных символов.
Код:
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]
compress: false
enable_registration: false
registration_shared_secret: "secret"
Код:
sudo systemctl restart matrix-synapse
И регистрируем аккаунт админа
Код:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Вам нужно сгенерировать https сертификат.
Код:
sudo apt install certbot -y
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d matrix.example.com
Код:
sudo apt install nginx
sudo nano /etc/nginx/sites-available/matrix.conf
Код:
server {
listen 80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name matrix.example.com;
ssl_certificate /etc/pki/certificates/matrix.crt;
ssl_certificate_key /etc/pki/certificates/matrix.key;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
# Nginx by default only allows file uploads up to 1M in size
# Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
client_max_body_size 10M;
}
}
# This is used for Matrix Federation
# which is using default TCP port '8448'
server {
listen 8448 ssl;
server_name matrix.example.com;
ssl_certificate /etc/pki/certificates/matrix.crt;
ssl_certificate_key /etc/pki/certificates/matrix.key;
location / {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Код:
sudo ln -s /etc/nginx/sites-available/matrix.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Код:
sudo ufw allow 8448
sudo ufw allow https
sudo ufw allow http
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
должна выдаваться стартовая страница. Если вы все правильно настроили, ваш сервер также сможет общаться с другими серверами. И ваши юзеры переписываться с другими юзерами других серверов.В клиенте же element вписывается home server вот здесь.
Также вы можете рассмотреть для использования проверенные паблик сервера, созданные другими -
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Picsur
Это великолепный способ хостить одноразовые изображения, с тем чтобы поделиться ими с другими юзерами или на форумы. Зачем использовать чужие хостинги, давайте развернем свой.
Для этого у вас должен быть установлен docker. В отдельной папке пропишите файл compose.
Код:
nano docker-compose.yml
Код:
version: '3'
services:
picsur:
image: ghcr.io/caramelfur/picsur:latest
container_name: picsur
ports:
- '8080:8080'
environment:
# PICSUR_HOST: '0.0.0.0'
# PICSUR_PORT: 8080
PICSUR_DB_HOST: picsur_postgres
# PICSUR_DB_PORT: 5432
# PICSUR_DB_USERNAME: picsur
# PICSUR_DB_PASSWORD: picsur
# PICSUR_DB_DATABASE: picsur
## The default username is admin, this is not modifyable
# PICSUR_ADMIN_PASSWORD: picsur
## Optional, random secret will be generated if not set
# PICSUR_JWT_SECRET: CHANGE_ME
# PICSUR_JWT_EXPIRY: 7d
## Maximum accepted size for uploads in bytes
# PICSUR_MAX_FILE_SIZE: 128000000
## No need to touch this, unless you use a custom frontend
# PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"
## Warning: Verbose mode might log sensitive data
# PICSUR_VERBOSE: "true"
restart: unless-stopped
picsur_postgres:
image: postgres:14-alpine
container_name: picsur_postgres
environment:
POSTGRES_DB: picsur
POSTGRES_PASSWORD: picsur
POSTGRES_USER: picsur
restart: unless-stopped
volumes:
- picsur-data:/var/lib/postgresql/data
volumes:
picsur-data:
Запускаем.
Код:
docker compose up -d
Код:
HiddenServiceDir /var/lib/tor/onion_service/
HiddenServicePort 80 127.0.0.1:8080
3. Полезности
Здесь я приложу некоторые полезные сервисы, для использования. Также будут показаны некоторые сервисы для фрихостинга. Это не те места, где стоит постоянно размещаться, однако они могут вам пригодиться, если у вас ограниченный бюджет.
- glitch.com - Здесь вы можете разместить для тестового запуска на время 5 минут любое приложение, бот на многих языках. И статические сайты. Стоит учесть,что по умолчанию код публикуется в формате для всех.
- moremins.com — Сервис для виртуальных номеров(смс,звонки) на долгий срок. Цены крайне дешевые. В большинстве стран не требует никаких документов и позволяет оплачивать криптовалютой.
- noez.de — Неплохой провайдер за крипту с триальным kvm сервером. Выдается если учесть все моменты. Айпи адрес и название страны с той же страны, номер страны принять звонок на него. Можно юзать предыдущий сервис для верифа номера.
- infinityfree.com — Полностью бесплатный вечный веб-хостинг с хорошей репутацией для статических сайтов и php-ных с базой.
- pythonanywhere.com - бесплатный хост для небольших python-приложений.
- onionmail.org — бесплатная почта, как в онион, так и в обычной сети. По умолчанию возможность отправки сообщений платная, прием бесплатный. Есть возможность вписать пересылку на стороннюю почту.
- cheapwindowsvps.com — крайне дешевые удаленные рабочие столы виндоус с оплатой за крипту.
Вывод.
Как мы видим уже давно существуют способы самостоятельно использовать безопасные self-host альтернативы сервисам крупных компаний и хранить свои личные данные под своим контролем.
Используйте их! Единожды потрудившись и настроив их, использовать их дальше не сложнее, чем любые другие.