Статика, которая
отдаётся мгновенно.
Statiqo — сеть доставки контента для статических файлов: JavaScript-библиотек, CSS, веб-шрифтов, иконок, изображений и JSON. Вы присылаете файлы — мы раздаём их по постоянной ссылке с кешированием на краю сети, HTTPS и сжатием.
<!-- Подключение файла из Statiqo --> <script src="https://cdn.statiqo.link/tinychart/2.4.1/tinychart.min.js" integrity="sha384-…" crossorigin="anonymous"></script>
Зачем нужен Statiqo
Название складывается из двух слов: static и quick. Проект появился из простой мысли: опубликовать CSS-файл или библиотеку в интернете должно быть так же просто, как отправить письмо. Без регистрации, панелей управления, API-ключей и сборочных конвейеров.
Миссия
Дать разработчикам, дизайнерам и open-source-проектам надёжное место для хранения статики, где ссылки живут годами и не ломаются из-за смены хостинга.
Подход
Каждый файл проходит ручную и автоматическую проверку перед публикацией. Мы сознательно отказались от анонимной заливки через веб-форму: это защищает сеть от вредоносного контента.
Принципы
Опубликованная версия файла неизменна. Никакой рекламы, никаких вставок в ваш код, никаких трекинговых cookie у конечных посетителей.
Для кого
Авторы JS- и CSS-библиотек, которым нужна публичная ссылка для документации и демо. Веб-студии, которые хранят общие ресурсы для нескольких сайтов. Создатели шрифтов и иконок. Преподаватели и студенты, которым нужна быстрая раздача учебных материалов. Небольшие компании, которым не нужна полноценная корпоративная CDN.
Почему через почту
Электронная почта — самый универсальный инструмент: она есть у всех, письма легко архивировать, а переписка с модератором сохраняет историю решений по каждому файлу. Каждая заявка получает номер, и вы всегда можете сослаться на него в ответном письме.
Четыре шага от письма до ссылки
Весь процесс публикации построен вокруг одного адреса — statiqo@statiqo.link.
Отправьте письмо
Напишите на statiqo@statiqo.link, приложите файлы или архив и укажите имя проекта, версию и лицензию.
Получите номер заявки
Автоответ придёт за пару минут: в нём номер заявки вида SQ-2026-01482 и предварительный результат автоматической проверки.
Проверка
Модератор проверяет файлы на вредоносный код, соответствие лицензии и правилам. Обычно это занимает до 48 часов.
Публикация
В ответном письме вы получите постоянные ссылки, SRI-хеши для каждого файла и готовые фрагменты кода для подключения.
Как правильно оформить письмо
Единственный способ загрузить файл в сеть Statiqo — отправить письмо на statiqo@statiqo.link. Чем точнее оформлено письмо, тем быстрее файлы будут опубликованы.
Обязательно укажите
- Тему письма в формате
[UPLOAD] имя-проекта версия, например[UPLOAD] tinychart 2.4.1. - Имя проекта — латиница в нижнем регистре, цифры и дефис, от 2 до 40 символов.
- Версию в формате SemVer:
1.0.0,2.4.1-beta.2. - Лицензию: MIT, Apache-2.0, BSD, OFL (для шрифтов), CC BY и т. п.
- Файлы — вложениями или одним архивом
.zip/.tar.gz.
Можно добавить
- Ссылку на репозиторий или сайт проекта — ускоряет проверку.
- Описание в паре предложений для страницы проекта в каталоге.
- Ссылку на архив в облаке, если вложения больше 25 МБ.
- Пожелания по путям: какой файл должен быть основным (
main). - Контакт для экстренной связи, если файл понадобится срочно заблокировать.
Конструктор письма
Заполните поля — письмо соберётся автоматически. Затем нажмите «Открыть в почте» и приложите файлы.
mailto: не умеет добавлять вложения.Обновление, удаление и другие запросы
Все запросы идут на тот же адрес statiqo@statiqo.link — различается только тема письма.
| Действие | Тема письма | Что приложить |
|---|---|---|
| Новый проект | [UPLOAD] имя версия | Файлы, лицензия, описание |
| Новая версия | [UPDATE] имя версия | Файлы новой версии, номер прошлой заявки |
| Пометить версию устаревшей | [DEPRECATE] имя версия | Причина и рекомендуемая версия |
| Удаление (уязвимость, утечка) | [REMOVE] имя версия | Описание проблемы; письмо с адреса автора |
| Жалоба на чужой файл | [ABUSE] ссылка | URL файла и суть нарушения |
| Передача проекта | [TRANSFER] имя | Письма от старого и нового владельца |
| Прочие вопросы | [QUESTION] … | — |
Предсказуемые и постоянные URL
Каждый файл получает адрес, собранный из имени проекта, версии и пути внутри архива. Адрес конкретной версии никогда не меняется и не указывает на другое содержимое.
https://cdn.statiqo.link/<проект>/<версия>/<путь/к/файлу>
| Шаблон | Пример | Поведение |
|---|---|---|
| Точная версия | /tinychart/2.4.1/tinychart.min.js | Неизменяемый файл, кеш на 1 год |
| Минорная ветка | /tinychart/2.4/tinychart.min.js | Последний патч ветки 2.4.x, кеш 10 минут |
| Мажорная ветка | /tinychart/2/tinychart.min.js | Последняя 2.x.x, кеш 10 минут |
| Последняя версия | /tinychart/latest/tinychart.min.js | Только для разработки, кеш 5 минут |
| Основной файл | /tinychart/2.4.1/ | Редирект на файл, указанный как main |
| Список файлов | /tinychart/2.4.1/?list | JSON со списком файлов, размерами и SRI |
| Метаданные | /tinychart/meta.json | Все версии, лицензия, описание |
latest, 2, 2.4) удобны для прототипов, но несовместимы с SRI-хешами.Всё, что нужно для раздачи статики
Кеш на краю сети
Файлы хранятся на узлах ближе к пользователю. Повторные запросы отдаются из памяти узла без обращения к основному хранилищу.
Сжатие Brotli и gzip
Текстовые файлы заранее сжимаются при публикации. Браузер получает лучший формат, который поддерживает.
HTTPS везде
Только защищённые соединения, TLS 1.3, HSTS с preload. Запросы по HTTP перенаправляются на HTTPS.
SRI из коробки
Для каждого файла считаются хеши sha256, sha384 и sha512. Браузер проверит, что файл не подменён.
Минификация по запросу
Добавьте ?min к адресу JS или CSS-файла — получите минифицированную копию, если автор не приложил свою.
Изображения в WebP и AVIF
Для PNG и JPEG генерируются современные форматы. Параметр ?w=640 отдаёт уменьшенную копию.
Объединение файлов
Несколько файлов одного типа можно склеить в один запрос через маршрут /combine/.
Каталог проектов
У каждого проекта есть публичная страница: версии, файлы, лицензия, ссылка на репозиторий.
Без трекинга
Мы не ставим cookie и не собираем персональные данные посетителей. Логи хранятся в обезличенном виде 14 дней.
Путь файла через сеть
Statiqo устроена в несколько слоёв. Чем ближе слой к пользователю, тем он быстрее, но тем меньше файлов в нём помещается.
Origin-хранилище
Единственный источник истины. Каждый файл хранится в трёх копиях в разных зонах доступности. Файлы адресуются по содержимому (хешу), поэтому одинаковые файлы разных проектов не дублируются.
Промежуточный слой (shield)
Региональные узлы между origin и краем сети. Они собирают запросы от edge-узлов и защищают основное хранилище от всплесков нагрузки при выходе популярных версий.
Edge-узлы
Узлы, к которым подключаются браузеры. Маршрутизация anycast направляет запрос на ближайший доступный узел. Если узел недоступен, трафик автоматически уходит на соседний.
Инвалидация
Файлы точных версий никогда не инвалидируются. Плавающие ссылки обновляются при публикации новой версии: изменение расходится по сети в течение нескольких минут.
HTTP-заголовки ответов
Statiqo отдаёт заголовки, которые позволяют браузерам и прокси кешировать файлы максимально долго.
| Заголовок | Значение | Зачем |
|---|---|---|
Cache-Control | public, max-age=31536000, immutable | Для точных версий: браузер не перепроверяет файл год |
Cache-Control | public, max-age=600 | Для плавающих ссылок |
Access-Control-Allow-Origin | * | Файлы доступны с любого сайта, включая шрифты |
Content-Encoding | br / gzip | Сжатие в зависимости от Accept-Encoding |
ETag | хеш содержимого | Проверка актуальности без загрузки файла |
X-Content-Type-Options | nosniff | Запрет подмены типа файла браузером |
Timing-Allow-Origin | * | Доступ к Resource Timing API для замеров |
X-Statiqo-Cache | HIT / MISS | Был ли файл в кеше узла |
Что можно загрузить
Statiqo предназначена именно для статических ресурсов веб-страниц. Исполняемые файлы, архивы для скачивания и видео не принимаются.
| Категория | Расширения | Макс. размер файла |
|---|---|---|
| Скрипты | .js .mjs .cjs .map .wasm | 10 МБ |
| Стили | .css .scss .less | 5 МБ |
| Шрифты | .woff2 .woff .ttf .otf | 5 МБ |
| Изображения | .svg .png .jpg .webp .avif .gif .ico | 15 МБ |
| Данные | .json .xml .csv .txt .md | 10 МБ |
| Разметка | .html (только как шаблон, без выполнения) | 2 МБ |
| Аудио | .mp3 .ogg .wav (короткие звуки интерфейса) | 3 МБ |
25 МБ
максимальный размер вложений в одном письме
200 МБ
максимальный размер одной версии по ссылке на архив
2 000
файлов в одной версии проекта
10
новых версий в сутки на проект
Подключите файл за минуту
<link rel="stylesheet" href="https://cdn.statiqo.link/my-library/1.0.0/my-library.min.css" integrity="sha384-…" crossorigin="anonymous"> <script src="https://cdn.statiqo.link/my-library/1.0.0/my-library.min.js" integrity="sha384-…" crossorigin="anonymous" defer></script>
/* Подключение шрифта из Statiqo */ @font-face { font-family: "Grotto Sans"; src: url("https://cdn.statiqo.link/grotto-sans/3.0.0/grotto-sans.woff2") format("woff2"); font-display: swap; } @import url("https://cdn.statiqo.link/reset-lite/1.2.0/reset.min.css");
<script type="module"> import { chart } from "https://cdn.statiqo.link/tinychart/2.4.1/tinychart.esm.js"; chart(document.querySelector("#sales"), { type: "line" }); </script> <!-- или через import map --> <script type="importmap"> { "imports": { "tinychart": "https://cdn.statiqo.link/tinychart/2.4.1/tinychart.esm.js" } } </script>
const res = await fetch("https://cdn.statiqo.link/country-codes/1.0.3/countries.json"); const countries = await res.json(); console.log(countries.length); // Список файлов версии с SRI-хешами const files = await (await fetch("https://cdn.statiqo.link/tinychart/2.4.1/?list")).json();
<!-- Два файла одним запросом --> <script src="https://cdn.statiqo.link/combine/tinychart@2.4.1/tinychart.min.js,my-library@1.0.0/my-library.min.js"></script>
Как мы защищаем сеть и ваших пользователей
Проверка перед публикацией
Каждое вложение сканируется антивирусными движками. JavaScript дополнительно проверяется на обфусцированные вставки, майнеры, обращения к подозрительным доменам и попытки сбора данных форм.
Подтверждение автора
Новые версии проекта принимаются только с того адреса почты, с которого проект был впервые загружен. Смена адреса оформляется через запрос [TRANSFER].
Неизменяемость
Опубликованный файл точной версии нельзя перезаписать — даже по просьбе автора. Исправления выходят новой версией. Это гарантирует, что SRI-хеши в чужих проектах не сломаются.
Экстренная блокировка
Если в файле обнаружена уязвимость или вредоносный код, версия блокируется, а по её адресу отдаётся ответ 451 с пояснением. Автор получает уведомление на почту.
Защита от DDoS
Распределённая архитектура и фильтрация на краю сети поглощают аномальный трафик. Origin-хранилище недоступно напрямую из интернета.
Ответственное раскрытие
Нашли уязвимость в Statiqo? Напишите на statiqo@statiqo.link с темой [SECURITY]. Мы отвечаем на такие письма в первую очередь.
Бесплатно для открытых проектов
Публикация для open-source остаётся бесплатной. Для коммерческих и закрытых проектов есть платные тарифы с расширенными лимитами. Подключение любого тарифа — тоже через письмо.
Open
Для проектов с открытой лицензией.
- Неограниченный трафик в рамках честного использования
- Все возможности сети
- Страница в каталоге
- Проверка заявки до 48 часов
Pro популярный
Для студий и коммерческих сайтов.
- Закрытые и проприетарные файлы
- Проверка заявки до 6 часов
- Свой поддомен
имя.statiqo.link - Ежемесячный отчёт по трафику
- Лимит версии 1 ГБ
Business
Для компаний с большой нагрузкой.
- Собственный домен с вашим сертификатом
- Соглашение об уровне сервиса (SLA)
- Выделенный менеджер
- Публикация в течение 1 часа
Что запрещено публиковать
- Вредоносный код: майнеры, кейлоггеры, скрипты перехвата форм, эксплойты.
- Чужие файлы без права на распространение: платные шрифты, библиотеки с закрытой лицензией, изображения без разрешения автора.
- Фишинг: страницы и ресурсы, имитирующие чужие сайты и формы входа.
- Персональные данные и любые конфиденциальные сведения.
- Файлообменник: Statiqo не предназначена для раздачи архивов, видео, дистрибутивов и бэкапов.
- Незаконный контент по законодательству страны пользователя или размещения узлов.
- Трекеры, которые собирают данные посетителей без их согласия.
- Обход лимитов через создание множества одинаковых проектов.
[ABUSE].Как развивается проект
Запуск сети
Приём файлов по почте, точные версии, HTTPS, Brotli, SRI-хеши.
Плавающие версии и каталог
Ссылки latest, мажорные и минорные ветки, страницы проектов.
Изображения
Конвертация в WebP и AVIF, изменение размера на лету.
Публикация из Git
Автоматическая загрузка новых версий по тегу в репозитории — как дополнение к почте.
Публичная статистика
Открытые графики запросов по проектам для авторов библиотек.
Зеркала
Возможность для сообществ и университетов поднять собственный узел сети.
Частые вопросы
Как загрузить файл в Statiqo?
Отправьте письмо на statiqo@statiqo.link с темой [UPLOAD] имя-проекта версия, приложите файлы и укажите лицензию. Вы можете воспользоваться конструктором письма в разделе «Загрузка».
Нужна ли регистрация?
Нет. Ваш адрес электронной почты и есть ваш аккаунт: именно с него принимаются новые версии проекта.
Сколько ждать публикации?
На бесплатном тарифе — до 48 часов, обычно быстрее. На тарифе Pro — до 6 часов, на Business — до 1 часа. Повторные версии уже проверенных проектов публикуются быстрее.
Можно ли заменить файл в уже опубликованной версии?
Нет. Версии неизменяемы — так ссылки и SRI-хеши остаются надёжными. Выпустите исправленную версию, например 1.0.1, письмом с темой [UPDATE].
Что делать, если вложения больше 25 МБ?
Укажите в письме ссылку на архив в облачном хранилище. Мы скачаем его сами. Ссылка должна работать без авторизации минимум 7 дней.
Будут ли мои файлы удалены со временем?
Нет. Файлы точных версий хранятся бессрочно, пока не нарушают правила. Даже версии, помеченные устаревшими, остаются доступными, чтобы не ломать чужие сайты.
Можно ли использовать Statiqo для коммерческого сайта?
Да. Подключать публичные файлы из каталога может кто угодно. Если вы хотите хранить собственные закрытые файлы, подойдёт тариф Pro.
Почему мой файл отклонили?
- Тип файла не поддерживается или превышен лимит размера.
- Не указана лицензия или она запрещает распространение.
- Автоматическая проверка нашла подозрительный код.
- Имя проекта уже занято или нарушает чужой товарный знак.
В письме с отказом всегда указана причина. Исправьте её и ответьте на то же письмо.
Собираете ли вы данные посетителей сайтов, использующих Statiqo?
Мы не ставим cookie и не строим профили пользователей. Технические логи (IP в обезличенном виде, адрес файла, код ответа) хранятся 14 дней для защиты от атак и затем удаляются.
Как связаться с командой?
По любому вопросу — на statiqo@statiqo.link. Используйте метки в теме письма ([QUESTION], [SECURITY], [ABUSE]), чтобы письмо сразу попало к нужному человеку.
Готовы опубликовать свой файл?
Одно письмо — и ваши файлы будут раздаваться по постоянной ссылке через сеть Statiqo.
statiqo@statiqo.link