Picoshare — это легкое и легкодоступное веб-приложение для обмена файлами для Linux. Он предоставляет простой в использовании интерфейс, позволяющий загружать файлы со своего сервера и обмениваться ими. В этой статье показано, как установить Picoshare и обмениваться файлами в Интернете с помощью Docker в Ubuntu Linux.
Contents
Одним из главных преимуществ PicoShare является то, что его легко развернуть на любой платформе Linux. С помощью Docker вы можете обмениваться файлами в Интернете с помощью PicoShare, не беспокоясь о зависимостях Linux и совместимости программ.
Еще одним преимуществом PicoShare является то, что он не манипулирует файлами, которые вы загружаете на свою платформу. Это делает его полезным для обмена фотографиями и видео, поскольку вы можете быть уверены, что сервер не будет перекодировать ваши медиафайлы при их загрузке.
Наконец, PicoShare имеет возможность дублировать хранилище файлов во внешние решения для хранения объектов. Например, вы можете связать свою корзину, совместимую с Amazon S3, с сервером PicoShare и создать резервную копию содержимого вашего сервера 1:1. Это позволяет легко восстановить данные при переходе из одной системы в другую.
Предположение: Это руководство выполнено на компьютере с Ubuntu 24.04, имеющим как минимум 2 ГБ ОЗУ и 50 ГБ дискового пространства. Вам понадобится доменное имя, по которому вы сможете создавать записи «A» для этого домена. Наконец, в этой статье DigitalOcean Spaces будет использоваться в качестве S3-совместимого хранилища объектов.
Примечание. Хотя приведенные здесь инструкции предназначены для Ubuntu, они также подходят для большинства дистрибутивов Linux.
Первым шагом в установке PicoShare является получение Docker и Nginx для вашей хост-системы (для других дистрибутивов Linux описано, как это сделать установите Docker в свои системы Linux ). Для начала получите ключ подписи для репозитория проекта Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
Создайте новый файл репозитория apt с помощью вашего любимого текстового редактора:
sudo nano /etc/apt/sources.list.d/docker.list
Вставьте следующую строку кода в новый файл репозитория:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
Сохраните файл репозитория, затем обновите списки репозитория системы и текущие пакеты:
sudo apt update && sudo apt upgrade
Установите Docker, Docker Compose и Nginx с помощью apt в Ubuntu:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Перейдите к поставщику облачного хранилища, совместимому с S3, а затем создайте новый сегмент хранилища. В данном случае я использую Цифровые океанские пространства , поэтому нажимаю Создать ->Хранилище объектов Spaces на экране панели управления.
Выберите расположение центра обработки данных для вашего хранилища, совместимого с S3, затем установите флажок Включить CDN.
Укажите имя для нового сегмента пространств, затем нажмите Создать сегмент пространств, чтобы его инициализировать.
Нажмите Значок копирования в текстовом поле «Исходная конечная точка» и вставьте его в отдельный текстовый файл.
Прокрутите левую боковую панель панели управления DigitalOcean, затем выберите категорию API.
Перейдите на вкладку Пробелы и выберите Создать новый ключ.
Укажите имя нового ключа, затем нажмите Создать ключ доступа.
Скопируйте «Ключ доступа» и «Секретный ключ» со страницы и вставьте их в текстовый файл.
Создайте новую папку для PicoShare в домашнем каталоге пользователя и зайдите в нее:
mkdir ~/picoshare && cd ~/picoshare
Используйте свой любимый текстовый редактор, чтобы создать файл Compose для PicoShare:
nano ./docker-compose.yml
Вставьте следующий блок кода в новый файл.yml:
version: "3.2" services: picoshare: image: mtlynch/picoshare environment: - PORT=4001 - PS_SHARED_SECRET=RANDOM PASSWORD HERE - LITESTREAM_BUCKET="YOUR BUCKET NAME" - LITESTREAM_ENDPOINT="YOUR ORIGIN ENDPOINT HERE" - LITESTREAM_ACCESS_KEY_ID="YOUR BUCKET ACCESS ID HERE" - LITESTREAM_SECRET_ACCESS_KEY="YOUR BUCKET SECRET HERE" ports: - 4001:4001 command: -db /data/store.db volumes: - ./data:/data
Замените значение переменной «PS_SHARED_SECRET» на достаточно длинный и случайный пароль. Он будет служить паролем для веб-интерфейса PicoShare.
Примечание. Вы можете сгенерировать свой собственный случайный пароль, запустив: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1
в отдельном сеансе терминала.
Замените значение переменной LITESTREAM_BUCKET на имя вашего сегмента Spaces.
Скопируйте часть региона и имени домена вашей конечной точки, а затем вставьте ее в качестве значения переменной «LITESTREAM_ENDPOINT».
Замените значения переменных «LITESTREAM_ACCESS_KEY_ID» и «LITESTREAM_SECRET_ACCESS_KEY_ID» ключом доступа и секретным ключом корзины DigitalOcean Spaces.
Сохраните файл docker-compose.yml, затем выполните следующую команду, чтобы создать и запустить экземпляр PicoShare:
sudo docker compose up -d
Кстати, вы также можете использовать Docker и Docker Compose для быстрого разместите сервер Minecraft на своем компьютере с Linux .
На этом этапе PicoShare работает через порт 4001 на вашем локальном компьютере. Чтобы получить к нему безопасный доступ в Интернете, вам необходимо убедиться, что все подключения к нему зашифрованы с помощью SSL.
Начните с создания новой записи «A» для вашего доменного имени, указывающей на IPv4-адрес вашего сервера PicoShare. В моем случае я создам запись «A» со значением «picoshare».
Установите «основной» пакет Snap в вашей системе Ubuntu:
sudo snap install core
Получите пакет оснастки certbot от Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Создайте новый файл конфигурации сайта Nginx с помощью вашего любимого текстового редактора:
sudo nano /etc/nginx/sites-available/picoshare
Вставьте следующий блок кода в файл конфигурации вашего сайта:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; location / { proxy_pass http://127.0.0.1:4001; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; client_max_body_size 0m; } }
Сохраните файл конфигурации сайта, затем создайте файл символическая ссылка из каталога «/etc/nginx/sites-available/» в папку «/etc/nginx/sites-enabled/»:
sudo ln -s /etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/
Дважды проверьте файл конфигурации Nginx на наличие ошибок, затем запустите демон веб-сервера Nginx, используя systemctl
:
nginx -t sudo systemctl enable --now nginx.service
Зарегистрируйте свой сервер PicoShare с помощью утилиты certbot EFF:
sudo certbot register --agree-tos -m YOUR-EMAIL@ADDRESS.HERE
Создайте новый сертификат SSL, указывающий на доменное имя вашего сервера:
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN
Полезно знать: узнайте, как HTTPS защищает ваши данные в Интернете, до создание собственного сертификата SSL с помощью OpenSSL .
Откройте веб-браузер, затем перейдите к своему субдомену, чтобы загрузить целевую страницу PicoShare.
Нажмите кнопку Войти в правом верхнем углу страницы.
Укажите значение PS_SHARED_SECRET в текстовом поле Пароль, затем нажмите Аутентификация для входа в систему.
Проверьте, можете ли вы сохранить данные на своем сервере PicoShare, нажав кнопку Загрузить, а затем выберите образец файла в меню выбора.
Скопируйте первую ссылку, которую сервер возвращает пользователю, которому вы хотите поделиться своим файлом.
Помимо загрузок, отправленных пользователями, вы также можете создавать временные ссылки, которые позволяют анонимным пользователям загружать отдельные файлы на ваш сервер. Это может быть полезно, если у вас есть кто-то, кому нужно поделиться с вами файлами, но он не может загрузить файлы в обычный облачный сервис.
Начните с выбора категории Гостевые ссылки на главной странице PicoShare.
Нажмите кнопку Создать новую над пустой таблицей обзора ссылок.
Укажите основные сведения о гостевой ссылке для загрузки. В моем случае я назову его «MakeTechEasier» и установлю срок действия «Никогда» с ограничением размера файла в 100 МБ и общим ограничением в 10 загрузок.
Нажмите Создать, чтобы создать временную гостевую ссылку для вашего экземпляра PicoShare.
Нажмите Значок копирования справа от гостевой ссылки, а затем отправьте содержимое буфера обмена предполагаемому получателю.
Развертывание и обеспечение безопасности PicoShare для обмена файлами в Интернете с помощью Linux — это лишь первый шаг к восстановлению вашей цифровой конфиденциальности в Интернете. Узнайте, как еще больше защитить себя к размещение собственного сервера псевдонимов электронной почты с помощью SimpleLogin .
Изображение предоставлено: Алехандро Эскамилла через Unsplash и PicoShare Github . Все изменения и скриншоты Рамсеса Реда.