akkun3704 commited on
Commit
e868aa0
·
1 Parent(s): 3a98f24

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +10 -11
index.js CHANGED
@@ -1,15 +1,12 @@
1
  const os = require('os')
 
 
2
  const bytes = require('bytes')
3
  const sharp = require('sharp')
4
  const morgan = require('morgan')
5
  const express = require('express')
6
  const PDFDocument = require('pdfkit')
7
 
8
- let myIP;
9
- (async () => {
10
- myIP = (await (await fetch('https://icanhazip.com/')).text()).trim()
11
- })()
12
-
13
  const app = express()
14
  app.set('json spaces', 4)
15
  app.use(morgan('dev'))
@@ -114,21 +111,23 @@ app.get('/yt/convert', async (req, res) => {
114
  const reqTaskJson = await reqTaskId.json()
115
  if (reqTaskJson.error) return res.json({ success: false, message: reqTaskJson.message })
116
 
117
- let downloadUrl
118
- while (!downloadUrl) {
119
  const fetchTaskId = await fetchPost('https://srvcdn3.2convert.me/api/json/task', `taskId=${reqTaskJson.taskId}`)
120
  const fetchTaskJson = await fetchTaskId.json()
121
  console.log(fetchTaskJson)
122
  if (fetchTaskJson.status === 'finished') {
123
- downloadUrl = fetchTaskJson.download
124
  break
125
  }
126
-
127
  await new Promise(resolve => setTimeout(resolve, 1000))
128
  }
129
 
130
- res.setHeader('X-Forwarded-For', myIP)
131
- res.redirect(downloadUrl)
 
 
 
132
  } catch (e) {
133
  console.log(e)
134
  e = String(e)
 
1
  const os = require('os')
2
+ const mime = require('mime')
3
+ const axios = require('axios')
4
  const bytes = require('bytes')
5
  const sharp = require('sharp')
6
  const morgan = require('morgan')
7
  const express = require('express')
8
  const PDFDocument = require('pdfkit')
9
 
 
 
 
 
 
10
  const app = express()
11
  app.set('json spaces', 4)
12
  app.use(morgan('dev'))
 
111
  const reqTaskJson = await reqTaskId.json()
112
  if (reqTaskJson.error) return res.json({ success: false, message: reqTaskJson.message })
113
 
114
+ let result
115
+ while (!result) {
116
  const fetchTaskId = await fetchPost('https://srvcdn3.2convert.me/api/json/task', `taskId=${reqTaskJson.taskId}`)
117
  const fetchTaskJson = await fetchTaskId.json()
118
  console.log(fetchTaskJson)
119
  if (fetchTaskJson.status === 'finished') {
120
+ result = fetchTaskJson
121
  break
122
  }
 
123
  await new Promise(resolve => setTimeout(resolve, 1000))
124
  }
125
 
126
+ const { download, title, ext } = result
127
+ const response = await axios.get(download, { responseType: 'stream' })
128
+ res.setHeader('Content-Disposition', `attachment; filename=${title}.${ext}`)
129
+ res.setHeader('Content-Type', mime.types[ext])
130
+ response.data.pipe(res)
131
  } catch (e) {
132
  console.log(e)
133
  e = String(e)