index.php
<?php header('Access-Control-Allow-Origin: *'); @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( 'display_errors', true ); @ini_set ( 'html_errors', false ); @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( "short_open_tag", 1 ); $uri = substr($_SERVER['REQUEST_URI'], 1); $exp = explode('/', $uri); $med = array_shift($exp); $url = implode('/', $exp); if($med == 'api'){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT,60); $html = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($code == 200){ header("HTTP/1.1 200 OK"); echo $html; } else{ header("HTTP/1.0 404 Not Found"); } } elseif($med == 'img'){ echo file_get_contents($url); } else{ header("HTTP/1.0 404 Not Found"); } ?>
.htaccess
DirectoryIndex index.php RewriteEngine On RewriteBase / ErrorDocument 404 /index.php ErrorDocument 403 /index.php RewriteCond %{REQUEST_FILENAME} !(index.php) RewriteRule ^(.*)$ /index.php/$1
Пример изображений: http://domain.com/img/http://imagetmdb.cub.watch/http://image.tmdb.org/t/p/w200//1dCTKq9FkwO58EbcOdpZy1sYw71.jpg
Пример api http://domain.com/api/http://api.themoviedb.org/3/movie/top_rated?api_key=4ef0d7355d9ffb5151e987764708ce96&language=ru
А в чем смысл в index.php отдельно делать api и img?
Попробовал удалить лишнее и оставил все в таком виде:
<?php
header('Access-Control-Allow-Origin: *');
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( "short_open_tag", 1 );
$url = substr($_SERVER['REQUEST_URI'], 1);
$proxy = '192.168.0.100:3131';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT,60);
$html = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($code == 200){
header("HTTP/1.1 200 OK");
echo $html;
}
else{
header("HTTP/1.0 404 Not Found");
}
?>
Теперь не надо отдельно прописывать …/api и …/img
Вроде все работает. Или я что-то проглядел?
P.S.
Строки 12 и 15 нужны для того, чтобы запросы с лампы шли через классические прокси. В данном случае прокси локальный.
You need to include a movie_id
value in the path part of the request URL, right? Like this:
var requestURL = "https://api.themoviedb.org/3/movie/"
+ movie_id + "/images?api_key=" + api_key +"&language=en-US&callback=?";
At least in the documentation cited in the question that’s what’s shown:
GET /movie/{movie_id}/images
Path Parameters
movie_id : integer
Example:
https://api.themoviedb.org/3/movie/{movie_id}/images?api_key=<<api_key>>
For example, to get JSON-formatted data for the images for the movie with the ID 9340
:
https://api.themoviedb.org/3/movie/9340/images?api_key=<<api_key>>
You can confirm that works by testing with curl
or whatever:
$ curl "https://api.themoviedb.org/3/movie/9340/images?api_key=<<api_key>>"
{
"backdrops": [
{
"aspect_ratio": 1.777251184834123,
"file_path": "/qKeyO9gXaaK0g87tvvqOPK1siwc.jpg",
"height": 1688,
"iso_639_1": null,
"vote_average": 5.454545454545455,
"vote_count": 3,
"width": 3000
},
…
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Скачал на сайте tvbox.one
Запустил.
Выбрал русский язык.
Нажал на «Сменить источник источник CUB».
Есть названия фильмов, нет баннеров. Чтобы исправить идём в настройки.
Нажимаем на шестерёнку.
Выбираем пункт «Расширения».
Чтобы долго не писать адрес плагина, нажимаю «Возврат».
В популярных нахожу плагин «TMDB Proxy». Это позволит видеть баннеры.
Устанавливаю плагин.
Перезагружаю приложение Lampa.
Аналогично ставлю плагин «Онлайн Мод». Это позволит смотреть фильмы онлайн без загрузки.
Проверяю, все ли плагины установлены. Галочка, 200, Рабочий. Это то, что нам надо!
Проверяю главную страницу. С ресурса CUB загружены названия, при помощи плагина «TMDB Proxy» загружены баннеры.
Выбираю первый попавшийся фильм.
Треугольник в кружке говорит о том, что плагин «Онлайн Мод» работает.
Можно поменять балансер, если фильм не найден. Или уточнить поиск.
Всё работает! В чём у людей сложность, так и не понял. Всё делал с нуля. Даже без регистрации.
Если, что-то не понятно, пишите комментарии.
Также рекомендую статью «Лучшие сервисы и провайдеры IPTV».
Нет у меня стандартный Squid. Обрезать там что либо не получится.
Окей, тогда пример адреса, может можно будет проверить.
Не совсем понял: пример какого адреса?
У меня Squid поднят на http://proxy.domain.ru:3128
В настройках вбиваю этот адрес, запрос приходит, но впереди адреса стоит «/», на него мой Squid и ругается.
Тут речь-то не совсем про веб
Тут ведь отправляется запрос к прокси серверу.
Кроме того, у кого в качестве прокси стоит какой-нибудь http-сервер может в настройках добавить завершающий слеш.
Полноценный socket5 или другой протокол в лампе не работает. Только веб протокол, поэтому слеш обязательно.
Нет, никаких соксов, обычный прокси-сервер. Обычный GET запрос. Примерно так я себе представляю:
const http = require(«http»);
const options = {
host: «proxy»,
port: 8080,
path: «http://www.google.com»,
headers: {
Host: «www.google.com»
}
};
http.get(options, (res) => {
console.log(res);
res.pipe(process.stdout);
});
А что с вариантом описанным мною выше?
Ведущий «/» добавляется уже в скрипте. Что если сделать для обычных прокси в настройках «http://proxy.domain.ru:3128», а для тех кому нужен этот «/» дописать его в настройках «http://proxy.somian.ru/».
От Лампы я получаю корректный GET запрос, мешает его отработать только «/» перед http…
Можно увидеть кусок кода, где формируется запрос к прокси?
- 👍1
- 👍2
Думаю это и есть решение, а тем кому надо будут прописывать его вручную
Тупость никто не отменял)) Так и будут писать, прописал домен, а не чего не работает.
Ведущий «/» добавляется уже в скрипте.
Так устроены сервера, впереди всегда есть слеш.
- 👎1
Вы на своем сервере хоть пробовали запустить без слеша?
Не понял вопрос. Что запустить на своём сервере?
Не понял вопрос. Что запустить на своём сервере?
Где стоит прокси сервер? Как к нему обратится? По какому адресу?
По какому адресу?
Как-то не хотелось бы светить свой прокси в отрытых источниках. А кусочек лога приводил в первом сообщении.
- 👍1
- 👎1
Хорошо, я понял.
Придётся поднимать nginx и настраивать его на работу в качестве прокси, вместо того чтобы использовать стандартный Squid.
Спасибо!
Не я тут диктую условия)) Диктует их javascript, а в javascript нету технических способов использовать прокси с логином и паролем, кроме как запрашивать тупо адрес и подставлять ему параметры другого адреса.
Я крайне слабо ориентируюсь в JS, но почему-то был уверен, что есть какой-то класс alaProxy, которому можно передать адрес прокси и строку адреса. Очевидно я ошибался.
Придётся огород городить
Не я тут диктую условия)) Диктует их javascript, а в javascript нету технических способов использовать прокси с логином и паролем, кроме как запрашивать тупо адрес и подставлять ему параметры другого адреса.
вроде что то подобие нашёл: на гитхабе
пример из stackoverflow
вроде что то подобие нашёл: на гитхабе
Это для node.js, а он серверный.
Других вариантов нету и не будет.
Я правильно понимаю, что вы свою версию прокси сделали с использованием PHP?
Да. Если надо, могу скинуть.
Да. Если надо, могу скинуть.
Да, было бы интересно посмотреть. Если напрямую с nginx не получится…
index.php
<?php
header('Access-Control-Allow-Origin: *');
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( "short_open_tag", 1 );
$uri = substr($_SERVER['REQUEST_URI'], 1);
$exp = explode('/', $uri);
$med = array_shift($exp);
$url = implode('/', $exp);
if($med == 'api'){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT,60);
$html = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($code == 200){
header("HTTP/1.1 200 OK");
echo $html;
}
else{
header("HTTP/1.0 404 Not Found");
}
}
elseif($med == 'img'){
echo file_get_contents($url);
}
else{
header("HTTP/1.0 404 Not Found");
}
?>
.htaccess
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
ErrorDocument 404 /index.php
ErrorDocument 403 /index.php
RewriteCond %{REQUEST_FILENAME} !(index.php)
RewriteRule ^(.*)$ /index.php/$1
Пример изображений:
http://domain.com/img/http://imagetmdb.cub.watch/http://image.tmdb.org/t/p/w200//1dCTKq9FkwO58EbcOdpZy1sYw71.jpg
Пример api
http://domain.com/api/http://api.themoviedb.org/3/movie/top_rated?api_key=4ef0d7355d9ffb5151e987764708ce96&language=ru
Вариант, конечно, интересный, с таким доступом к прокси, но сомнительный. Я поднял свой локальный прокси и VPN в network namespaces и жутко обломался.
То, что нигде не написано, что данный прокси далек от всем привычного вводит людей в заблуждение. Этот нюанс же нигде не описан.
Я правильно понимаю, что ваш вариант на PHP требует запуска Apache или Nginx?
Хотелось бы поподробнее узнать о том, как это все запустить.
P.S.
Пытался отредактировать URL при помощи url_rewrite_program в squid и могу сказать, что не стоит на это тратить время. Судя по всему проверка URL происходит раньше, чем перенаправление.
worms-qwe
Тут я уже описывал в чем проблема. Это единственный вариант.
Я правильно понимаю, что ваш вариант на PHP требует запуска Apache или Nginx?
Да, для использования приведённого выше прокси-скрипта надо поднимать http-сервер. Я на своём VDS поднял Апач. Чутка доработал скрипт и использую его.
- 👍1
Подскажите если стоит nginx на впс но в директории html уже есть сайт, куда можно скинуть для прокси ваши файлы .htaccess index.php.
Я так понимаю можно в корне создать папку и сбросить туда эти файлы. Тогда путь будет http://домен/папка/
Подскажите если стоит nginx на впс но в директории html уже есть сайт, куда можно скинуть для прокси ваши файлы .htaccess index.php. Я так понимаю можно в корне создать папку и сбросить туда эти файлы. Тогда путь будет http://домен/папка/
Можно создать субдомен, и туда закинуть.
Нужно создать в nginx еще один конфиг сайта и там в блоке server указать другую корневую директорию сайта. И данный файл .htaccess придется переписать под nginx, ибо он сделан под apache. Можно вообще указать все, что в нем есть прямо в конфиге сайта.
index.php
<?php header('Access-Control-Allow-Origin: *'); @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( 'display_errors', true ); @ini_set ( 'html_errors', false ); @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( "short_open_tag", 1 ); $uri = substr($_SERVER['REQUEST_URI'], 1); $exp = explode('/', $uri); $med = array_shift($exp); $url = implode('/', $exp); if($med == 'api'){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT,60); $html = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($code == 200){ header("HTTP/1.1 200 OK"); echo $html; } else{ header("HTTP/1.0 404 Not Found"); } } elseif($med == 'img'){ echo file_get_contents($url); } else{ header("HTTP/1.0 404 Not Found"); } ?>
.htaccess
DirectoryIndex index.php RewriteEngine On RewriteBase / ErrorDocument 404 /index.php ErrorDocument 403 /index.php RewriteCond %{REQUEST_FILENAME} !(index.php) RewriteRule ^(.*)$ /index.php/$1
Пример изображений: http://domain.com/img/http://imagetmdb.cub.watch/http://image.tmdb.org/t/p/w200//1dCTKq9FkwO58EbcOdpZy1sYw71.jpg
Пример api http://domain.com/api/http://api.themoviedb.org/3/movie/top_rated?api_key=4ef0d7355d9ffb5151e987764708ce96&language=ru
А в чем смысл в index.php отдельно делать api и img?
Попробовал удалить лишнее и оставил все в таком виде:
<?php
header('Access-Control-Allow-Origin: *');
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( "short_open_tag", 1 );
$url = substr($_SERVER['REQUEST_URI'], 1);
$proxy = '192.168.0.100:3131';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT,60);
$html = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($code == 200){
header("HTTP/1.1 200 OK");
echo $html;
}
else{
header("HTTP/1.0 404 Not Found");
}
?>
Теперь не надо отдельно прописывать …/api и …/img
Вроде все работает. Или я что-то проглядел?
P.S.
Строки 12 и 15 нужны для того, чтобы запросы с лампы шли через классические прокси. В данном случае прокси локальный.
А сервер обязательно должен быть за пределами РФ?
А сервер обязательно должен быть за пределами РФ?
Да, так как ТМДБ блокирует доступ для тех кто из РФ и РБ
Скиньте если не трудно под nginx скрипт
index.php
<?php header('Access-Control-Allow-Origin: *'); @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( 'display_errors', true ); @ini_set ( 'html_errors', false ); @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( "short_open_tag", 1 ); $uri = substr($_SERVER['REQUEST_URI'], 1); $exp = explode('/', $uri); $med = array_shift($exp); $url = implode('/', $exp); if($med == 'api'){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT,60); $html = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($code == 200){ header("HTTP/1.1 200 OK"); echo $html; } else{ header("HTTP/1.0 404 Not Found"); } } elseif($med == 'img'){ echo file_get_contents($url); } else{ header("HTTP/1.0 404 Not Found"); } ?>
.htaccess
DirectoryIndex index.php RewriteEngine On RewriteBase / ErrorDocument 404 /index.php ErrorDocument 403 /index.php RewriteCond %{REQUEST_FILENAME} !(index.php) RewriteRule ^(.*)$ /index.php/$1
Пример изображений: http://domain.com/img/http://imagetmdb.cub.watch/http://image.tmdb.org/t/p/w200//1dCTKq9FkwO58EbcOdpZy1sYw71.jpg
Пример api http://domain.com/api/http://api.themoviedb.org/3/movie/top_rated?api_key=4ef0d7355d9ffb5151e987764708ce96&language=ruА в чем смысл в index.php отдельно делать api и img? Попробовал удалить лишнее и оставил все в таком виде:
<?php header('Access-Control-Allow-Origin: *'); @error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( 'display_errors', true ); @ini_set ( 'html_errors', false ); @ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE ); @ini_set ( "short_open_tag", 1 ); $url = substr($_SERVER['REQUEST_URI'], 1); $proxy = '192.168.0.100:3131'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT,60); $html = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($code == 200){ header("HTTP/1.1 200 OK"); echo $html; } else{ header("HTTP/1.0 404 Not Found"); } ?>
Теперь не надо отдельно прописывать …/api и …/img Вроде все работает. Или я что-то проглядел?
P.S. Строки 12 и 15 нужны для того, чтобы запросы с лампы шли через классические прокси. В данном случае прокси локальный.
Сможете помочь по настройке прокси
- 👍1
Прокси через nginx
server { listen 80; #server_name domain.com; location ~ ^/proxy/([^:]+):/?/([^/]+)/(.*)$ { resolver 1.1.1.1 8.8.8.8 ipv6=off; proxy_pass $1://$2/$3$is_args$args; proxy_http_version 1.1; } }
http://vpsip/proxy/https://image.tmdb.org/t/p/w200//1dCTKq9FkwO58EbcOdpZy1sYw71.jpg
Спасибо большое, все работает. Правда бывает иногда не работает прокси, если проверять отдельно на картинке выкидывает 403 ошибку, но после нескольких попыток все восстанавливается
А есть кто живой с этой ветки? Тоже хочу намутить для постеров папки мои торенты,, ток не совсем понял как. Есть у кого время есть подсказать? 😁
Ребят а в чем может быть проблема. Установил nginx, закинул файл my plugin. js с кодом выше. В браузере открывается, как только тест скрипта самого. Или нужно файл что бы был index.php? И в нем уже сам скрипт написать? Подскажите пожалуйста что не так делаю 🙄. Server на vps, или ещё нужно что установить для работы скрипта
Ребят а в чем может быть проблема. Установил nginx, закинул файл my plugin. js с кодом выше. В браузере открывается, как только тест скрипта самого. Или нужно файл что бы был index.php? И в нем уже сам скрипт написать? Подскажите пожалуйста что не так делаю 🙄. Server на vps, или ещё нужно что установить для работы скрипт
Скинь контакт от телеги, напишу
Ребят а в чем может быть проблема. Установил nginx, закинул файл my plugin. js с кодом выше. В браузере открывается, как только тест скрипта самого. Или нужно файл что бы был index.php? И в нем уже сам скрипт написать? Подскажите пожалуйста что не так делаю 🙄. Server на vps, или ещё нужно что установить для работы скрипт
Скинь контакт от телеги, напишу
@IGNATOV_68
За ночь пока понял, что я пытался hph скрипт запустить как js. И что нужно указать папку, и по ней переходить. А в этой папке должен быть index.php с самим скриптом. И в сервере прописать это, хотя может и не так, 😁🙄