diff --git a/docker-compose.yml b/docker-compose.yml index 6804332..8c0c06b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,17 +21,4 @@ services: - DATABASE=BBLB_DNS - DBPORT=3306 - TORSSRV=host.docker.internal - - TORSPWD=KarlMax - # frontend: - # build: - # context: ./client - # dockerfile: Dockerfile.prod - # # dockerfile: .dockerfile - # image: "karl0ss/bblbtv_dns-frontend" - # ports: - # - "6969:6969" - # environment: - # - URL=vps.k-world.me.uk - # - PORT=6969 - # links: - # - "backend" \ No newline at end of file + - TORSPWD=KarlMax \ No newline at end of file diff --git a/package.json b/package.json index bb4185c..4390bee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-backend", - "version": "1.0.9", + "version": "1.0.10", "private": true, "scripts": { "start": "node ./bin/www" diff --git a/routes/getStreams.js b/routes/getStreams.js index f2bdb89..c8722d8 100644 --- a/routes/getStreams.js +++ b/routes/getStreams.js @@ -18,26 +18,34 @@ async function getStreamsNew() { let jointArray = [] for (let index = 0; index < DNSArray.length; index++) { const url = DNSArray[index]; - requestData = await makeRequest(url) - let DNSList = requestData.body - if (typeof DNSList === 'string' || DNSList instanceof String) { - try { - DNSList = JSON.parse(DNSList) - } catch (error) { - jointArray.unshift(...otherURLs.using) - jointArray = [...new Set(jointArray)] - return jointArray - } - } try { - DNSList = splitToArray(DNSList.su) + requestData = await makeRequest(url) + let DNSList = requestData.body + if (typeof DNSList === 'string' || DNSList instanceof String) { + try { + DNSList = JSON.parse(DNSList) + } catch (error) { + console.error(`Failed to parse JSON for url: ${url}`); + continue; // skip to next url + } + } + + let extractedUrls; + if (DNSList && DNSList.su) { + extractedUrls = splitToArray(DNSList.su); + } else if (DNSList && DNSList.fu) { + extractedUrls = splitToArray(DNSList.fu); + } else { + console.error(`Could not find 'su' or 'fu' for url: ${url}`); + continue; // skip to next url + } + + extractedUrls.forEach(url => { + jointArray.push(url) + }); } catch (error) { - DNSList = splitToArray(DNSList.fu) + console.error(`Failed to process url: ${url}`, error); } - - DNSList.forEach(url => { - jointArray.push(url) - }); } jointArray.unshift(...otherURLs.using) jointArray = [...new Set(jointArray)] @@ -45,10 +53,10 @@ async function getStreamsNew() { } /* GET users listing. */ router.get('/', async function (req, res, next) { - let fullStreamArray = await main() + let fullStreamArray = await getStreamsNew() res.send(fullStreamArray) }); module.exports = { router, getStreamsNew -} +} \ No newline at end of file