Когда я захожу на определенный сайт, провайдер видит URL?
А если я захожу на https?
Откуда провайдер узнает, что я скачиваю определенный фильм/программу через torrent?
Все пакеты которые я получаю и раздаю значит провайдер скачивает себе, чтобы узнать что это за фильм/программа?
Или он отслеживает факт скачивания .torrent файла, а затем делает вывод по идущим пакетам, что это скачивается?
Когда я пользуюсь VPN, что видит провайдер?
Что я зашел на определенный IP и с него идут зашифрованные потоки?
OpenVPN будет работать через VPN IP и в браузере и при обновлении Windows, драйверов, ...?
Читал, что в Windows есть такая особенность, что если провайдер как-то урезает пакет, то VPN отключается и сайту показывается мой реальный IP?
При этом провайдер видит на каком я сайте, что скачиваю?
Таких фишек много?
Как от них защитится?
Если пользуюсь каким-то расширением типа ZenMate, dotvpn, провайдер аналогично как и с VPN видит что что-то отправляется и приходит на определенный VPN IP?
При использовании Tor, кто-то пользуется моим IP, пока я пользуюсь чужим?
Что при этом видит провайдер, что я получаю потоки данных с определенных IP и каждый раз разный IP?
Провайдер видит URL?
Каким образом можно полностью управлять сетью на ПК, видеть что, куда и когда отправляется или приходит на ПК (Windows, Linux)?
<?php
const MP3_DIR = '/drive2/Dropbox/backup/mp3/';
require_once __DIR__ . '/vendor/autoload.php';
$curl = new \Zelenin\Curl();
$playlist_url = 'http://music.yandex.ru/?ncrnd=6537#!/users/Muz-winamp/playlists/1046';
preg_match_all( '/users\/(.*)\/playlists\/(.*)/isu', $playlist_url, $matches );
$owner = $matches[1][0];
$playlist_id = $matches[2][0];
$response = $curl->get( 'http://music.yandex.ru/get/playlist2.xml?kinds=' . $playlist_id . '&owner=' . $owner );
$playlist = json_decode( $response['body'], true );
$playlist_title = $playlist['playlists'][0]['title'];
$tracks = implode( ',', $playlist['playlists'][0]['tracks'] );
$response = $curl->get( 'http://music.yandex.ru/get/tracks.xml?tracks=' . urlencode( $tracks ) );
$tracks = json_decode( $response['body'], true );
$tracks = $tracks['tracks'];
$playlist_dir = MP3_DIR . $playlist_title;
if ( !file_exists( $playlist_dir ) && !is_dir( $playlist_dir ) ) {
mkdir( $playlist_dir );
}
foreach ( $tracks as $track ) {
$artist = $track['artist'];
$title = $track['title'];
$response = $curl->get( 'http://storage.music.yandex.ru/download-info/' . $track['storage_dir'] . '/2.mp3' );
$xml = new DOMDocument();
$xml->loadXML( $response['body'] );
$host = $xml->getElementsByTagName( 'host' )->item(0)->nodeValue;
$ts = $xml->getElementsByTagName( 'ts' )->item(0)->nodeValue;
$path = $xml->getElementsByTagName( 'path' )->item(0)->nodeValue;
$s = $xml->getElementsByTagName( 's' )->item(0)->nodeValue;
$n = md5( 'XGRlBW9FXlekgbPrRHuSiA' . substr( $path, 1 ) . $s );
$mp3_url = 'http://' . $host . '/get-mp3/' . $n . '/' . $ts . $path;
//echo $mp3_url . PHP_EOL;
$response = $curl->get( $mp3_url );
$mp3_name = addslashes( $artist . ' - ' . $title . '.mp3' );
echo $mp3_name . PHP_EOL;
file_put_contents( MP3_DIR . $playlist_title . '/' . $mp3_name, $response['body'] );
}
На каждом отрезке от 10*n до 10*n+9 таких чисел ровно 5. Поэтому нам достаточно посчитать число таких полных отрезков, и обработать краевые отрезки. Пусть sumdig(n) - функуция, которая выдаёт остаток от деления суммы цифр n на 2. Тогда: int s0=(B/10-A/10-1)*5; int s1=(10+sumdig(A/10)-A%10)/2; int s2=(2+B%10-sumdig(B/10))/2; return s0+s1+s2;