Залей файл — получи приватную ссылку
Любой файл, хоть на гигабайты. Мы режем его на части и раскладываем по облачному хранилищу, а тебе отдаём одну короткую ссылку. Делись ей с кем хочешь.
-
1 · Загрузка
Файл бьётся на части и уходит в облако. Ничего не хранится у нас — только ссылка на части.
-
2 · Пароль (по желанию)
Задай пароль — файл шифруется прямо в браузере (AES-256). Пароль на сервер не уходит.
-
3 · Ссылка
Получаешь ссылку с 16-значным id. Без неё файл не найти и не скачать. Список нигде не светится.
API
Всё, что делает сайт, доступно по HTTP. Ответы об ошибках — JSON {"error": "..."}.
/api/uploads
multipart/form-data: file — сам файл (уже зашифрованный, если нужно), encrypted — true|false. Файл режется на части и уходит в облако. Ответ — поток application/x-ndjson: события start, по одному part на часть, в конце done с ссылкой (или error).
curl -N -F "file=@video.mp4" -F "encrypted=false" \
https://fsx.pepega.pw/api/uploads
# …
# {"event":"done","id":"<16 симв>","shareUrl":"https://fsx.pepega.pw/<id>",
# "parts":3,"fileSize":268435456,"encrypted":false}
/api/shares/{id}
Метаданные шары. CDN-ссылки на части не отдаются — только владелец ссылки качает байты.
{"id":"…","originalName":"video.mp4","fileSize":268435456,
"encrypted":false,"parts":3,"downloads":0,
"uploadedAt":"2026-09-14T…Z","downloadUrl":"https://fsx.pepega.pw/<id>/download"}
/{id}/download
Отдаёт собранный файл потоком (ничего не буферится в памяти). Если шара зашифрована — это шифротекст, расшифровку делает клиент.
curl -L -o out.bin https://fsx.pepega.pw/<id>/download
encrypted=true)Шифруй/расшифровывай сам, сервер ключа не знает. Тело файла:
"PFS1" (4 байта) | salt (16) | iv (12) | AES-256-GCM(ciphertext+tag)
key = PBKDF2-HMAC-SHA256(password, salt, iterations=200000, dkLen=32)