Added cinemaplayer

This commit is contained in:
zeldaroot 2021-05-21 23:49:06 +03:00
parent b3e2d1b97e
commit 17b671348f
3 changed files with 249 additions and 109 deletions

4
app.js
View File

@ -82,6 +82,7 @@ app.use('/flush-cache-' + config.urls.admin, function(req, res) {
var files = require('./routes/files');
var embed = require('./routes/embed');
var iframe = require('./routes/iframe');
var cinemaplayer = require('./routes/cinemaplayer');
var player = require('./routes/player');
var episode = require('./routes/episode');
var robots = require('./routes/robots');
@ -135,6 +136,8 @@ app.use(
/^(?:\/mobile-version|\/tv-version|)?\//,
express.static(path.join(path.dirname(__filename), '/'))
);
app.use(/^(?:\/mobile-version|\/tv-version|)?\/api/, api);
app.use(/^(?:\/mobile-version|\/tv-version|)?\/cinemaplayer/, cinemaplayer);
app.use(/^(?:\/mobile-version|\/tv-version|)?\/telegram/, telegram);
app.use(/^(?:\/mobile-version|\/tv-version|)?\/files/, files);
app.use(bots());
@ -149,7 +152,6 @@ app.use(/^(?:\/mobile-version|\/tv-version|)?\/iframe/, iframe);
app.use(/^(?:\/mobile-version|\/tv-version|)?\/rss\.xml.*$/, rss);
app.use('/' + config.urls.admin, admin);
app.use(loadavg());
app.use(/^(?:\/mobile-version|\/tv-version|)?\/api/, api);
app.use(/^(?:\/mobile-version|\/tv-version|)?/, website);
app.use(function(err, req, res, next) {

View File

@ -161,6 +161,9 @@ function secretIframe(data, ip) {
data.result.players[i].iframe =
(config.language === 'ru' && config.ru.subdomain && config.ru.domain
? config.protocol + config.ru.subdomain + config.ru.domain
: config.mirrors && config.mirrors.length
? config.protocol +
config.mirrors[Math.floor(Math.random() * config.mirrors.length)]
: config.protocol + config.subdomain + config.domain) +
'/embed/' +
data.result.id +
@ -492,11 +495,11 @@ function createImgUrl(type, size, id) {
break;
}
return (
(config.language === 'ru' && config.ru.subdomain && config.ru.domain
? config.protocol + config.ru.subdomain + config.ru.domain
: config.protocol + config.subdomain + config.domain) + image
);
return source === 'url'
? image
: (config.language === 'ru' && config.ru.subdomain && config.ru.domain
? config.protocol + config.ru.subdomain + config.ru.domain
: config.protocol + config.subdomain + config.domain) + image;
}
module.exports = {

View File

@ -43,6 +43,12 @@ setInterval(function() {
}
}, 3333);
/**
* Node dependencies.
*/
var md5 = require('md5');
/**
* Adding a page player.
*
@ -81,125 +87,254 @@ function codePlayer(type, movie, options) {
: '';
}
if (type === 'picture') {
var pictures = '';
var whois_abuse = options && options.userinfo && options.userinfo.whois;
var list_abuse = modules.abuse.data.movies.indexOf('' + movie.kp_id) + 1;
var country_abuse =
modules.abuse.data.country &&
movie.year &&
'' + movie.year === new Date().getFullYear() + '' &&
movie.countries_arr.filter(function(c) {
return new RegExp(options.userinfo.country, 'i').test(c);
}).length;
var country_block_app =
options.userinfo &&
modules.blocking.data.app.countries &&
modules.blocking.data.app.countries.length
? modules.blocking.data.app.countries.filter(function(c) {
return new RegExp(options.userinfo.country_en, 'i').test(c);
}).length
: 0;
if (movie.pictures.length) {
movie.pictures.forEach(function(picture) {
if (modules.player.data.display === 'cinemaplayer') {
if (type !== 'picture' && type !== 'trailer') {
if (
modules.abuse.status &&
options.userinfo.device !== 'app' &&
(list_abuse || country_abuse || whois_abuse)
) {
if (country_abuse) {
code.status_code = modules.abuse.data.status_code_country;
}
if (list_abuse) {
code.status_code = modules.abuse.data.status_code_list;
}
if (whois_abuse) {
code.status_code = modules.abuse.data.status_code_whois;
}
if (
modules.app.status &&
modules.blocking.data.app.abuse &&
options.userinfo.device === 'desktop' &&
!whois_abuse
) {
var blocking_app = CP_blocking.code(code, movie, options, 'app');
if (blocking_app && blocking_app.player) {
code.player = blocking_app.player;
} else {
type = 'trailer';
}
} else {
code.player =
'' +
'<div style="position:absolute;background:#000 url(' +
config.default.image +
') 100% 100% no-repeat;background-size:100% 100%;z-index:4;top:0;left:0;width:100%;height:100%;color:#fff;text-align:center">' +
'<div style="margin:80px auto 0;width:70%">' +
modules.abuse.data.message +
'</div>' +
'</div>';
}
}
if (
!(
((options.userinfo && options.userinfo.device === 'app') ||
modules.blocking.data.app.abuse) &&
country_block_app <= 0
)
) {
code = CP_blocking.code(code, movie, options);
}
}
if (code.player) {
return code;
}
var d = (
modules.player.data.cinemaplayer[type] ||
modules.player.data.cinemaplayer['information']
).dataset;
if (d && d.length) {
var dataset = d.join(' ');
dataset = dataset
.replace(/\[id]/gi, movie.id)
.replace(/\[kp_id]/gi, movie.id)
.replace(
/\[imdb_id]/gi,
movie.custom.imdb_id ? movie.custom.imdb_id : ''
)
.replace(
/\[tmdb_id]/gi,
movie.custom.tmdb_id ? movie.custom.tmdb_id : ''
)
.replace(
/\[douban_id]/gi,
movie.custom.douban_id ? movie.custom.douban_id : ''
)
.replace(
/\[tvmaze_id]/gi,
movie.custom.tvmaze_id ? movie.custom.tvmaze_id : ''
)
.replace(
/\[movie_id]/gi,
movie.custom.movie_id ? movie.custom.movie_id : ''
)
.replace(/\[wa_id]/gi, movie.custom.wa_id ? movie.custom.wa_id : '')
.replace(/\[type]/gi, movie.type ? 'tv' : 'movie')
.replace(/\[season]/gi, serial.season)
.replace(/\[episode]/gi, serial.episode)
.replace(/\[title]/gi, movie.title)
.replace(/\[year]/gi, movie.year)
.replace(
/\[ip]/gi,
(options && options.userinfo && options.userinfo.ip) || ''
)
.replace(
/\[hash]/gi,
md5(
((options && options.userinfo && options.userinfo.ip) || '') +
'.' +
config.urls.admin
)
);
code.player =
options &&
options.userinfo &&
options.userinfo.bot &&
options.userinfo.bot.all
? '' +
'<video id="cinemaplayer" controls ' +
dataset +
'>' +
' <source src="/balancer/' +
movie.id +
'.mp4" type="video/mp4">' +
'</video>'
: '<div id="cinemaplayer" ' + dataset + '></div>';
code.footer =
'<script src="https://CinemaPlayer.github.io/cinemaplayer.js?v=' +
process.env['CP_VER'] +
'"></script>';
}
} else {
if (type === 'picture') {
var pictures = '';
if (movie.pictures.length) {
movie.pictures.forEach(function(picture) {
pictures +=
'<img src="' +
picture.picture +
'" alt="' +
movie.title.replace(/"/g, "'") +
'" style="width:100%;height:100%;">';
});
} else {
pictures +=
'<img src="' +
picture.picture +
config.default.image +
'" alt="' +
movie.title.replace(/"/g, "'") +
'" style="width:100%;height:100%;">';
});
}
code.head =
'' +
'<link rel="stylesheet" href="/themes/default/public/desktop/css/ideal-image-slider.css">';
code.player =
'' + '<div id="slider" class="img_tmhover">' + pictures + '</div>';
code.footer =
'' +
'<script src="/themes/default/public/desktop/js/ideal-image-slider.min.js"></script>' +
'<script>var sldr = new IdealImageSlider.Slider("#slider");sldr.start();</script>';
} else if (type === 'trailer') {
scriptPlayer('trailer');
} else {
pictures +=
'<img src="' +
config.default.image +
'" alt="' +
movie.title.replace(/"/g, "'") +
'" style="width:100%;height:100%;">';
}
code.head =
'' +
'<link rel="stylesheet" href="/themes/default/public/desktop/css/ideal-image-slider.css">';
code.player =
'' + '<div id="slider" class="img_tmhover">' + pictures + '</div>';
code.footer =
'' +
'<script src="/themes/default/public/desktop/js/ideal-image-slider.min.js"></script>' +
'<script>var sldr = new IdealImageSlider.Slider("#slider");sldr.start();</script>';
} else if (type === 'trailer') {
scriptPlayer('trailer');
} else {
var whois_abuse = options && options.userinfo && options.userinfo.whois;
var list_abuse = modules.abuse.data.movies.indexOf('' + movie.kp_id) + 1;
var country_abuse =
modules.abuse.data.country &&
movie.year &&
'' + movie.year === new Date().getFullYear() + '' &&
movie.countries_arr.filter(function(c) {
return new RegExp(options.userinfo.country, 'i').test(c);
}).length;
if (
modules.abuse.status &&
(list_abuse || country_abuse || whois_abuse) &&
options.userinfo.device !== 'app'
) {
if (country_abuse) {
code.status_code = modules.abuse.data.status_code_country;
}
if (list_abuse) {
code.status_code = modules.abuse.data.status_code_list;
}
if (whois_abuse) {
code.status_code = modules.abuse.data.status_code_whois;
}
if (
modules.app.status &&
modules.blocking.data.app.abuse &&
options.userinfo.device === 'desktop' &&
!whois_abuse
modules.abuse.status &&
(list_abuse || country_abuse || whois_abuse) &&
options.userinfo.device !== 'app'
) {
scriptPlayer('trailer');
var code2 = CP_blocking.code(code, movie, options, 'app');
code.player = code2 && code2.player ? code2.player : code.player;
} else {
code.player =
'' +
'<div style="position:absolute;background:#000 url(' +
config.default.image +
') 100% 100% no-repeat;background-size:100% 100%;z-index:4;top:0;left:0;width:100%;height:100%;color:#fff;text-align:center">' +
'<div style="margin:80px auto 0;width:70%">' +
modules.abuse.data.message +
'</div>' +
'</div>';
if (country_abuse) {
code.status_code = modules.abuse.data.status_code_country;
}
if (list_abuse) {
code.status_code = modules.abuse.data.status_code_list;
}
if (whois_abuse) {
code.status_code = modules.abuse.data.status_code_whois;
}
if (
modules.app.status &&
modules.blocking.data.app.abuse &&
options.userinfo.device === 'desktop' &&
!whois_abuse
) {
scriptPlayer('trailer');
var code2 = CP_blocking.code(code, movie, options, 'app');
code.player = code2 && code2.player ? code2.player : code.player;
} else {
code.player =
'' +
'<div style="position:absolute;background:#000 url(' +
config.default.image +
') 100% 100% no-repeat;background-size:100% 100%;z-index:4;top:0;left:0;width:100%;height:100%;color:#fff;text-align:center">' +
'<div style="margin:80px auto 0;width:70%">' +
modules.abuse.data.message +
'</div>' +
'</div>';
}
return code;
}
return code;
}
if (type === 'download') {
scriptPlayer('torrent');
} else if (serial.season && serial.episode) {
if (modules.player.data.display === 'script') {
if (type === 'download') {
scriptPlayer('torrent');
} else if (serial.season && serial.episode) {
if (modules.player.data.display === 'script') {
scriptPlayer(true);
} else {
scriptPlayer();
}
} else if (movie.player) {
if (/\/\/[^,]*,/.test(movie.player)) {
scriptPlayer(movie.player);
} else {
scriptPlayer();
}
} else if (modules.player.data.display === 'script') {
scriptPlayer(true);
} else {
scriptPlayer();
}
} else if (movie.player) {
if (/\/\/[^,]*,/.test(movie.player)) {
scriptPlayer(movie.player);
} else {
scriptPlayer();
}
} else if (modules.player.data.display === 'script') {
scriptPlayer(true);
} else {
scriptPlayer();
var l =
options.userinfo &&
modules.blocking.data.app.countries &&
modules.blocking.data.app.countries.length
? modules.blocking.data.app.countries.filter(function(c) {
return new RegExp(options.userinfo.country_en, 'i').test(c);
}).length
: 0;
code =
((options.userinfo && options.userinfo.device === 'app') ||
modules.blocking.data.app.abuse) &&
l <= 0
? code
: CP_blocking.code(code, movie, options);
}
var l =
options.userinfo &&
modules.blocking.data.app.countries &&
modules.blocking.data.app.countries.length
? modules.blocking.data.app.countries.filter(function(c) {
return new RegExp(options.userinfo.country_en, 'i').test(c);
}).length
: 0;
code =
((options.userinfo && options.userinfo.device === 'app') ||
modules.blocking.data.app.abuse) &&
l <= 0
? code
: CP_blocking.code(code, movie, options);
}
/**