Picoshare – это легкое и очень доступное веб-приложение для обмена файлами для Linux. Оно предоставляет простой в использовании интерфейс, с помощью которого вы можете загружать и обмениваться файлами с собственного сервера. В этой статье мы расскажем вам, как установить Picoshare и обмениваться файлами онлайн с помощью Docker в Ubuntu Linux.
Почему стоит использовать Picoshare для обмена файлами онлайн
Одним из главных преимуществ PicoShare является то, что его легко развернуть на любой платформе на базе Linux. С помощью Docker вы можете делиться файлами онлайн с помощью PicoShare, не беспокоясь о зависимостях Linux и совместимости программ.
Еще одним преимуществом PicoShare является то, что он не манипулирует файлами, которые вы загружаете на его платформу. Это делает его полезным для обмена фотографиями и видео, поскольку вы можете быть уверены, что сервер не будет перекодировать ваши медиафайлы при их загрузке.
Наконец, PicoShare позволяет дублировать файловое хранилище на внешние хранилища. Например, вы можете связать свой Amazon S3-совместимый с сервером PicoShare и создать резервную копию содержимого сервера в соотношении 1:1. Это упрощает восстановление данных при миграции с одной системы на другую.
Установка необходимых условий для PicoShare
Предположение: Этот гайд выполняется на машине Ubuntu 24.10 с не менее чем 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
Создание резервной копии облачного хранилища для PicoShare
Перейдите к своему S3-совместимому провайдеру облачных хранилищ, затем создайте новое хранилище. В данном случае я использую DigitalOcean Spaces, поэтому я нажму Create -> Spaces Object Storage на экране приборной панели.

Выберите местоположение дата-центра для S3-совместимого хранилища, затем установите флажок Enable CDN.

Укажите имя для нового ведра Spaces, затем нажмите Create a Spaces Bucket, чтобы инициализировать его.

Щелкните значок Копировать в текстовом поле Origin Endpoint и вставьте его в отдельный текстовый файл.

Пролистайте левую боковую панель панели DigitalOcean Dashboard, затем щелкните категорию API.

Перейдите на вкладку Пространственные ключи, затем выберите Генерировать новый ключ.
Укажите имя нового ключа, затем нажмите Создать ключ доступа .
Скопируйте «Ключ доступа» и «Секретный ключ» со страницы и вставьте их в свой текстовый файл.

Установка и запуск PicoShare
Создайте новую папку для 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 bucket.

Скопируйте часть имени региона и домена вашей конечной точки, а затем вставьте ее в качестве значения переменной «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 с помощью обратного прокси-сервера SSL
На данный момент PicoShare работает на порту 4001 на вашей локальной машине. Чтобы получить безопасный доступ к нему через интернет, вам нужно убедиться, что все соединения с ним зашифрованы с помощью SSL.
Начните с создания новой записи «A» для вашего доменного имени, указывающей на IPv4-адрес вашего сервера PicoShare. В моем случае я создам запись «A» со значением «picoshare».

Установите пакет «core» 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 и загрузка первого файла
Откройте веб-браузер и перейдите на свой субдомен, чтобы загрузить целевую страницу PicoShare.
Нажмите кнопку Войти в правом верхнем углу страницы.
Введите значение «PS_SHARED_SECRET» в текстовое поле Passphrase, затем нажмите Authenticate для входа.
Проверьте, можно ли сохранить данные на сервере PicoShare, нажав кнопку Upload, а затем выберите файл-образец в меню выбора.

Скопируйте первую ссылку, которую вернет сервер, пользователю, которому вы хотите передать свой файл.

Включение временных гостевых загрузок на PicoShare
Помимо пользовательских загрузок, вы также можете создавать временные ссылки, позволяющие анонимным пользователям загружать отдельные файлы на ваш сервер. Это может быть полезно, если вам нужно поделиться с кем-то файлами, но вы не можете загрузить их на обычный облачный сервис.
Для начала перейдите в категорию Guest Links на главной странице PicoShare.

Нажмите кнопку Создать новую прямо над пустой таблицей обзора ссылок.
Укажите основные сведения о вашей ссылке для гостевой загрузки. В моем случае я обозначу ее как «MakeTechEasier» и установлю срок действия на «Никогда», ограничение на размер файла 100 МБ и общее ограничение на 10 загрузок.

Нажмите Создать, чтобы сгенерировать временную гостевую ссылку для вашего экземпляра PicoShare.
Нажмите на значок Копировать в правой части гостевой ссылки, а затем отправьте содержимое буфера обмена адресату.

Развертывание и обеспечение безопасности PicoShare для обмена файлами в Интернете с помощью Linux – это только первый шаг к восстановлению вашей цифровой конфиденциальности в Интернете. Узнайте, как вы можете защитить себя, разместив собственный сервер псевдонимов электронной почты с помощью SimpleLogin.
Комментарии (0)