www.youtube.com/get_video_info?video_id=XXXXXX
XXXXXX
подставьте хэш видео, который в ссылке на ролик, типа youtu.be/BWCiWZtrWXU
после слеша.url_encoded_fmt_stream_map
. Его значение опять надо распаковать как URL-параметры. И из результата вытащить параметр url
– это ссылка на единый скачивабельный видеофайл.function getUrlParams(search) {
let hashes = search.slice(search.indexOf('?') + 1).split('&')
let params = {}
hashes.map(hash => {
let [key, val] = hash.split('=')
params[key] = decodeURIComponent(val)
})
return params
}
var s = '------'; // здесь длиннющая строка из ответа /get_video_info
var a = getUrlParams(s);
var b = getUrlParams(a.url_encoded_fmt_stream_map);
console.log(b.url); // эту ссылку открываем в браузере - это скачиваемый видеофайл
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
volumes:
- ./:/var/www/html
- ./docker/nginx/conf.d:/etc/nginx/conf.d
- ./docker/nginx/logs:/var/log/nginx/
php:
image: php:7.2-fpm
volumes:
- ./:/var/www/html
db:
image: mysql:latest
environment:
MYSQL_DATABASE: labbit
MYSQL_ROOT_PASSWORD: rootlabbit
MYSQL_USER: labbit
MYSQL_PASSWORD: labbit
ports:
- 3306:3306
volumes:
- db_data:/var/lib/mysql
redis:
image: redis:latest
volumes:
db_data:
server {
listen 80;
listen [::]:80;
server_name labbit.local www.labbit.local;
root /var/www/html/public/;
index index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
root /var/www/html/public/;
try_files $uri $uri/ /index.php$is_args$args;
autoindex off;
index index.php;
}
location ~ \.php$ {
set $path_info $fastcgi_path_info;
root /var/www/html/public/;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $uri $uri/;
include /etc/nginx/fastcgi_params;
fastcgi_pass php:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
<script>
window.addEventListener("load", function load(event){
if(window.location.hostname == "parazit.ru"){ // Домен сайта паразита
document.write('<iframe width="1903" height="765" src="https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1" frameborder="0" allowfullscreen></iframe>');
}
},false);
</script>
flexbox, grid layout- это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
gulp, webpack и пр.- это инструменты, которые созданы для облегчения рутинных задач.
препроцессоры- представьте, что вам чего-либо не хватает в html и css.
пакетные менеджеры- это удобный способ скачать конкретные библиотеки, и переносить их из проекта в проект. Статья про npm тут