Reooiq commited on
Commit
1652dbf
·
verified ·
1 Parent(s): 0658e97

Create app.js

Browse files
Files changed (1) hide show
  1. app.js +48 -0
app.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require('express');
2
+ const httpProxy = require('http-proxy');
3
+ const cors = require('cors');
4
+ const compression = require('compression');
5
+
6
+ const app = express();
7
+ const proxy = httpProxy.createProxyServer({});
8
+
9
+ // تفعيل الـ CORS لضمان عمل البث في جميع المتصفحات والمشغلات
10
+ app.use(cors({ origin: '*' }));
11
+
12
+ // ضغط حزم البيانات لتقليل حجم البث وتسريعه
13
+ app.use(compression());
14
+
15
+ // محاكاة متصفح حقيقي لتجنب الحظر الجغرافي وحظر الـ IP
16
+ const customHeaders = {
17
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
18
+ 'Referer': 'https://www.tiktok.com/',
19
+ 'Origin': 'https://www.tiktok.com'
20
+ };
21
+
22
+ app.get('/live-stream', (req, res) => {
23
+ const targetUrl = req.query.url;
24
+
25
+ if (!targetUrl) {
26
+ return res.status(400).json({ status: 'error', message: 'Missing url parameter' });
27
+ }
28
+
29
+ console.log(`[Tk.test] سحب البث من: ${targetUrl}`);
30
+
31
+ proxy.web(req, res, {
32
+ target: targetUrl,
33
+ changeOrigin: true,
34
+ ignorePath: true,
35
+ headers: customHeaders
36
+ }, (err) => {
37
+ console.error('[خطأ في البروكسي]:', err.message);
38
+ if (!res.headersSent) {
39
+ res.status(500).send('خطأ في الاتصال بسيرفر البث الأصلي.');
40
+ }
41
+ });
42
+ });
43
+
44
+ // منفذ Hugging Face الافتراضي
45
+ const PORT = process.env.PORT || 7860;
46
+ app.listen(PORT, () => {
47
+ console.log(`⚡ خادم التوزيع المطور يعمل بنجاح على المنفذ: ${PORT}`);
48
+ });