Sobe, copia o link, manda pra galera

Guarda na
Okarun Cloud

Sobe o arquivo, pega o link e manda. Sem cadastro, sem prazo, sem frescura. O trem fica lá pra sempre.

Como Funciona
500MB
por arquivo
link não expira
99.9%
no ar
0
é de graça
Enviar Arquivo
Usado só pra identificar quais arquivos são seus. Fica salvo neste navegador.

Joga o arquivo aqui

ou clica pra escolher do celular/pc

Imagens Vídeos Áudios Arquivos Máx 500MB
Enviando... 0%
Upload Concluído!
Abrir Arquivo
Rápido pra caramba
Servidor dedicado, SSD NVMe. O arquivo sobe na hora, sem aquela barra travando no 99%.
Seguro de verdade
HTTPS, proteção contra ataque, sem terceiro bisbilhotando. O arquivo é seu e fica com você.
Link que não some
Subiu, ficou. Sem prazo de 7 dias, sem "arquivo expirado". O link funciona hoje e daqui a 2 anos.
Sem duplicata
Subiu o mesmo arquivo duas vezes? O sistema percebe e te devolve o link antigo. Economiza espaço sem você precisar fazer nada.
Organizado sozinho
Foto vai pra pasta de foto, vídeo vai pra pasta de vídeo. Você não precisa se preocupar com isso.
Link curto e limpo
Nada de URL com 300 caracteres. O link sai curto, fácil de mandar no zap ou colar em qualquer lugar.
01
Escolhe o arquivo
Arrasta pra cá ou clica e escolhe. Qualquer coisa até 500MB tá valendo.
02
Já tá subindo
Não precisa clicar em nada, já começa sozinho. Barra de progresso em tempo real.
03
Pega o link
Terminou o upload, apareceu o link. Curto, limpo, pronto pra usar.
04
Manda pra galera
Copia com um clique e joga no zap, no discord, onde quiser. É isso.
async
sendingfiles(buffer, originalFileName)

Faz upload de um Buffer pro Okarun Storage e devolve a URL pública. O tipo do arquivo é detectado pelo conteúdo, não pela extensão.

Retorna URL pública Timeout 60s Máx 300MB
Importação ESM
topo do arquivo.js
const fetch = (...args) => import('node-fetch').then(({ default: f }) => f(...args))
Código
upload.js
/* Faz upload de um Buffer para o okarun-storage e retorna a URL pública */
async function sendingfiles(buffer, originalFileName) {
  if (!Buffer.isBuffer(buffer) || buffer.length === 0 || buffer.length > 300 * 1024 * 1024)
    throw new Error('Input deve ser um Buffer válido, não vazio e até 300MB')

  const { fileTypeFromBuffer } = await import('file-type')
  const fileInfo  = await fileTypeFromBuffer(buffer) || {}
  const ext       = fileInfo.ext  || 'bin'
  const mimetype  = fileInfo.mime || 'application/octet-stream'
  const fileName  = originalFileName
    ? `${originalFileName.split('.')[0]}.${ext}`
    : `upload-midia.${ext}`

  infoLog(`[UPLOAD] Enviando: ${fileName} (${(buffer.length / 1024).toFixed(1)} KB) — ${mimetype}`)

  const form = new FormData()
  form.append('file', buffer, { filename: fileName, contentType: mimetype })

  try {
    const res  = await fetch('https://upload.okarun-api.com.br/upload', {
      method:  'POST',
      body:    form,
      headers: form.getHeaders(),
      signal:  AbortSignal.timeout(60_000),
    })
    const data = await res.json()

    if (!data.url || typeof data.url !== 'string')
      throw new Error('Resposta da API não contém uma URL válida')

    successLog(`[UPLOAD] ✓ ${fileName} → ${data.url}`)
    return data.url
  } catch (err) {
    const msg = `Falha no upload: ${err.message}`
    errorLog(`[UPLOAD] ✗ ${fileName} — ${msg}`)
    throw new Error(msg)
  }
}
Parâmetros
NomeTipoObrigatórioDescrição
buffer Buffer sim Conteúdo do arquivo em Buffer. Não pode ser vazio, limite de 300MB.
originalFileName string? não Nome original do arquivo. A extensão é sempre detectada pelo conteúdo. Se omitir, usa upload-midia.{ext}.
Retorno
Retorna Promise<string> com a URL pública do arquivo — https://upload.okarun-api.com.br/files/...
Erros
Lança Error em três casos: buffer inválido/vazio/acima de 300MB, resposta da API sem url, ou falha de rede/timeout.
Dependências
node-fetch
npm install node-fetch
file-type
npm install file-type
form-data
npm install form-data
Exemplo de uso
Básico Com nome
exemplo.js
import fs from 'fs'

const buffer = fs.readFileSync('./foto.jpg')
const url    = await sendingfiles(buffer)

console.log(url) // https://upload.okarun-api.com.br/files/...
Link copiado!