Как стать автором
Обновить

Прокси для Discord CDN

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K
Автор оригинала: useapi.net

Использование Discord CDN для бесплатного хостинга изображений и видео

Предположим, вы хотите воспользоваться бесплатным Discord CDN для хранения ваших изображений или видео. С помощью приведенного ниже простого скрипта вы можете загрузить ваши ресурсы в нужный канал Discord:

curl -X POST "https://discord.com/api/v10/channels//messages"
-H "Authorization: "
-F 'payload_json={"content":"Here is your file!","attachments":[{"id":0,"filename":""}]}'
-F 'files[0]=@

Пример:

curl -X POST "https://discord.com/api/v10/channels/123456789/messages"
-H "Authorization: ABc.your.discord.token.xYZ"
-F 'payload_json={"content":"Here is your file!","attachments":[{"id":0,"filename":"source.jpg"}]}'
-F 'files[0]=@./source.jpg'

Пожалуйста, обратитесь к нашему руководству, чтобы узнать как получить Discord токен и настроить приватный канал. Пропустите шаги настройки Midjourney, если не планируете его использовать.

JSON-ответ будет содержать attachments[0].url со ссылкой на вложение CDN Дискорда.

Создание прокси для Discord CDN

Начиная с декабря 2023 года все ссылки на вложения Discord CDN имеют следующий формат: https://cdn.discordapp.com/attachments/channel/message/filename.ext?ex=EXPIRES&is=ISSUED&hm=CODE Значения параметров запроса EXPIRES и ISSUED представляют собой даты в формате Unix/epoch hexCODE - это закодированная контрольная сумма, используемая для проверки значений EXPIRES и ISSUED. Попытка получить ссылки на вложения Discord CDN без вышеупомянутых параметров запроса или с параметром EXPIRES, превышающим текущее время, приведет к ответу 404: This content is no longer available. пример.

На практике это означает, что вы больше не можете ссылаться на вложения из Discord на своем сайте, делиться мемасиками на OK.ru и VK.com ?

В этой статье представлено эффективное решение для публичного доступа к ссылкам на Discord CDN.

Discord CDN прокси особенно удобен для пользователей Midjourney APIPika API и InsightFaceSwap API.

После настойки прокси вы можете использовать публичные ссылки на изображения в формате https://your-discord-cdn-proxy-url/?https://cdn.discordapp.com/attachments/channel/message/filename.ext. Этими ссылками можно делиться публично, публиковать на вашем сайте и т.д. Прокси обновит ссылки после ? и перенаправит браузер на обновленную ссылку на Discord CDN. Вы также опционально можете добавить исходные параметры оригинальной ссылки ?ex=EXPIRES&is=ISSUED&hm=CODE, прокси проверит истекла ли ссылка и может немедленно вернуть исходный URL если линк еще "свежий".

При ответе HTTP 302 прокси создает заголовок Expires со временем истечения ссылки. Дополнительный заголовок x-discord-cdn-proxy будет установлен в одно из следующих значений:

  • original - предоставленные параметры запроса ссылки ?ex=EXPIRES&is=ISSUED&hm=CODE указывают что ссылка все еще "свежая"

  • refreshed - вызов к API Discord https://discord.com/api/v9/attachments/refresh-urls был сделан для получения обновленной ссылки

  • memory - обновленная ссылка возвращена из кеша памяти

  • bucket - обновленная ссылка возвращена из кеша R2 (только для Cloudflare Worker)

? Ознакомиться с секретной диаграммой работы Discord CDN прокси.

Исходная протухшая ссылка Discord CDN открыть (404: This content is no longer available.)
Прокси ссылка открыть
Прокси ссылка без параметров запроса открыть

В репозитории приведен код для двух вариантов прокси:

Вы можете выбрать любой из этих вариантов в зависимости от ваших предпочтений.

Исходный код для Google App Engine представляет собой стандартный Node.js Express сервер.
Вы можете использовать его в любой node.js-совместимой среде или локально на вашем сервере, инструкции ниже:

Буду рад подробно ответить на ваши вопросы в Discord или Telegram.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как вам эта статья?
50% Очень понравилась1
50% Не мог/могла оторваться1
Проголосовали 2 пользователя. Воздержались 2 пользователя.
Теги:
Хабы:
Всего голосов 5: ↑3 и ↓2+4
Комментарии0

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн