LINUX.ORG.RU
ФорумTalks

Блокировка Ютуб. На кого повлияло?

 , , ,


2

2

РКН блокирует ютуб с августа. Уже без ВПН ничего не посмотришь. Это раз. Второе, заметил что даже моего приложения android коснулось, не может законектиться к удаленному серверу, reset by peer. Через ВПН - ОК. Что за херня? Или мне показалось?


Перемещено leave из admin

★★★★

На кого повляло?

Мне испортило настроение. Но интересно, как будет развиваться борьба РКН против авторов средств обхода, особенно анти-DPI. Видимо, будут совмещать с блокировками по IP.

anonymous
()

А вы знаете, что в книгах гораздо больше информации, чем в YouTube?

И второе, то что смартфоны не нужны - миллион раз уже обсуждалось.

Ох и школьники пошли. Не могут уже жить без своей сенсорной игрушки и видосиков на ютубчике

Pinux001
()
Ответ на: комментарий от Pinux001

Школьники не привыкли читать книги. Это слишком тяжело, если ты всю жизнь смотрел на «трубе» видосики не длиннее пятнадцати минут)

PRN
()
Последнее исправление: PRN (всего исправлений: 1)
Ответ на: комментарий от Pinux001

А вы знаете, что в книгах гораздо больше информации, чем в YouTube?

Ой да ладно. В книгах и воды налито, иной автор прям видно как рожает строки лишь бы томик потолще вышел.

Ну и наглядность страдает. В видео за 5-10 минут мне покажут как натянуть на колесо покрышку и будет понятно и наглядно. А в книге абзац прочтешь и будешь полчаса еще клешнями щелкать.

Готовка жрачки туда же — на видео виден и процесс и конечный результат. А в книге рецептов (особенно в старой, чем старее, тем всё менее подбобно): «возьмите СРЕДНЮЮ луковицу».

Книги художественные это здорово, особенно когда есть время расслабиться и спокойно погаллюцинировать в кусок целлюлозы. А так.. Сравнивать ВСЕ книги со ВСЕМ видеохостингом — как жопу с пальцем.

frunobulax ★★★
()

Повлияло на домохозяек, ровные пацаны написали свои SNI DPI потратив один вечер, завернули в прокси и смотрят ютуб в 4К без рекламы и VPN.

Obezyan
()
Ответ на: комментарий от PRN

Меня тоже ломает смотреть видео длиннее 15 мин(да и длиннее 10 тоже), потому что вместо одного можно посмотреть два покороче, но на разные темы. Имхо, абсолютное большинство длинных видео - это неумение грамотно и лаконично выражать мысли, неумение составить чёткий сценарий и нарциссизм блогера.

avgust23
()

На кого повлияло?

ИМХО(!) ни на кого не повлияло. Многие тупо свалили на другие площадки, при этом не сделав никаких выводов. Кто-то из принципа остался на ютубе, но это всё как об стену горох.

u5er ★★
()
Ответ на: комментарий от Pinux001

А вы знаете, что в книгах гораздо больше информации, чем в YouTube?

Некоторые слишком упахиваютя, чтобы регулярно читать. Если ты на работе или учебе филонишь, это твой выбор. Он не делает тебя более умным. А ещё вести машину (варить борщ, гладить белье) и слушать говорящую голову можно, тогда как читать во время других дел проблематично.

На YouTube, между прочим, можно найти университетские лекции по всему. Сложные темы проще освоить по лекциям, а затем уже углубляться в них по книгам.

И второе, то что смартфоны не нужны - миллион раз уже обсуждалось.

Не выдавай свое мнение за всеобщее. Я, кстати, не одну книгу прочитал со смартфона.

Vidrele ★★★
()

На кого повлияло?

Очевидно на тех, кто по невиданным причинам до сих пор не обзавёлся VPN. Это не первый и не последний сайт, который они заблокировали.

Ну и на создателей контента ещё — им теперь геморроя поприбавится.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

а зачем ты в 2024 году ходишь в интернет без впн?

ann_eesti
()
Ответ на: комментарий от gobot

А… Не замечал никаких проблем с чем-то ещё. Впрочем, я гуглосервисами кроме ютуба и не пользуюсь никакими. Изредка поиском, когда searx и ddg подводят, а яндекс не подходит.

CrX ★★★★★
()
Ответ на: комментарий от avgust23

Имхо, абсолютное большинство длинных видео - это неумение грамотно

Возможно мы с тобой смотрит разные видео. Информативные лекции/доклады как правило объемные. В мелких можно рассказать только кратко, поверхностно. Но последние бывают полезны для первого ознакомления.

PRN
()
Ответ на: комментарий от gobot

Если тебе не понравилось что немного тему увел то уж прости, пятница вечер — потрепаться охота.

А по сабжу я тебя могу таким же текстом направить в поиск, где прям вот уже ВСЁ про блок разжевано, в тч как преодолеть.

frunobulax ★★★
()
Ответ на: комментарий от PRN

Во-во.

Хотя я вообще не помню, когда последний раз смотрел видео короче получаса, не считая музыкальных клипов.

CrX ★★★★★
()
Ответ на: комментарий от PRN

Наверное. Я лекции не смотрю. Недавно смотрел об археологии Сибири, там 10-15 минут достаточно, чтобы рассказать про один объект.

avgust23
()
Ответ на: комментарий от papin-aziat

Объясни для ровных непрограммистов-сетевиков куда копать?

В ютубе посмотри

anonymous
()
Ответ на: комментарий от frunobulax

У меня нет проблем с преодолением блокировок к ютубу. И куда ты меня собрался направить, умник хренов с собакой на аваторе?

gobot ★★★★
() автор топика
Ответ на: комментарий от papin-aziat

Копай в сторону zapret или byedpi. У чувака с обезьяной слабенький в части DPI провайдер, и не факт, что тебе подойдут простейшие манипуляции с SNI.

anonymous
()
Ответ на: комментарий от gobot

У меня нет проблем с преодолением блокировок к ютубу.

А вот проблема с выражением мыслей осталась, грубиян. 😊

frunobulax ★★★
()
Ответ на: комментарий от PRN

Школьники не привыкли читать книги

Их просто не приучили. Так же есть не приученные мыть посуду, чистить зубы, заправлять кровать и мыть жопку.

utanho ★★★★★
()

Я там шортсы иногда смотрел, так что не критично. Тем более, что большая часть из попадавшихся снимается всё хуже и хуже.

grem ★★★★★
()
Ответ на: комментарий от frunobulax

иной автор прям видно как рожает строки

Угу. Особенно всякие книги по типа саморазвитию.
То, что можно утрамбовать в 5-6 страниц крупного текста, раздувают страниц на 250.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Воды там тоже больше. Прямо сильно больше.

во-первых это неправда. Во-вторых воду в книгах намного проще «проматывать».

anonymous
()
Ответ на: комментарий от frunobulax

А у тебя проблема с логикой. Посылать в ютуб не зная зачем и по какому поводу. Обосрался? Ну подтирайся

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Посылать в ютуб не зная зачем и по какому поводу

Так ты объяснить не можешь что у тебя случилось. Заголовок своей же темы прочти :)

frunobulax ★★★
()

А всего-то нужно было вовремя незаметно склонировать Ютуб в Рутуб. Ну как незаметно…

TechnoMag ★★
()
Ответ на: комментарий от Kolins

Не придётся. Просто гемора прибавится: теперь заливать не только на ютуб, а на ютуб + рутуб + дзен + вк. Потому что аудитория разделилась — многие остались на ютубе и никуда оттуда не пойдут в эти ваши рутубы, кому-то претит вк или яндекс, а кого-то воротит от рутуба, поэтому придётся не выбирать что-то одно, а лить везде. Тем, кто стримит в прямом эфире — ещё хуже.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)
Ответ на: комментарий от CrX

Тем, кто стримит в прямом эфире — ещё хуже.

так стримеры на какой-то другой платформе сидят, я название не помню но что-то на слуху, ее тоже того?

Kolins ★★★★
()
Ответ на: комментарий от Kolins

так стримеры на какой-то другой платформе сидят, я название не помню но что-то на слуху

Twitch? Там в основном геймеры. Но я специально даже не «стримеры» написал, а именно «те, кто стримит вживую», потому что геймерами они не ограничиваются. Есть, например, просто в формате интервью/подкаста и возможностью задать вопросы в чате (или через донат). Или лекции онлайн, где тоже иногда вопросы из чата задают лектору.

ее тоже того?

Не, твитч вроде жив пока. Но он не мешает никому — там геймеры в основном, они в политику не лезут, играют себе и играют.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

они в политику не лезут, играют себе и играют.

Тихонечко испускают ЛГБТ-феромоны :)

frunobulax ★★★
()
Ответ на: комментарий от papin-aziat

Давайте сделаем свой анальный зонд, назовем его zanal (Зонд Анальный).

  1. создаете папку zanal и в ней файл go.mod со следующим содержимым
module zanal

go 1.21

require github.com/likexian/doh v0.7.1

require (
	github.com/likexian/gokit v0.25.15 // indirect
	golang.org/x/net v0.24.0 // indirect
	golang.org/x/text v0.14.0 // indirect
)
  1. создаете там же файл main.go
package main

import (
	"io"
	"os"
	"os/signal"
	"net"
	"net/http"
	"time"
	"bufio"
	"errors"
	"regexp"
	"context"
	"strconv"
	"strings"
	"syscall"
	"github.com/likexian/doh"
	"github.com/likexian/doh/dns"
)

type Packet struct {
	raw     []byte
	method  string
	domain  string
	port    string
	path    string
	version string
}

func Read(conn *net.TCPConn) ([]byte, error) {
	ret := make([]byte, 0)
	buf := make([]byte, 1024)
	for {
		n, err := conn.Read(buf)
		if err != nil {
			switch err.(type) {
			case *net.OpError:
				return nil, errors.New("timed out")
			default:
				return nil, err
			}
		}
		ret = append(ret, buf[:n]...)
		if n < 1024 {
			break
		}
	}
	if len(ret) == 0 {
		return nil, io.EOF
	}
	return ret, nil
}

func Write(from *net.TCPConn, to *net.TCPConn) {
	for {
		buf, err := Read(from)
		if err != nil {
			if err == io.EOF {
				return
			}
			return
		}
		if _, err := to.Write(buf); err != nil {
			return
		}
	}
}

func proxyHttp(lConn *net.TCPConn, pkt *Packet, ip string) {
	var port int = 80
	var err error
	s := string(pkt.raw)
	lines := strings.Split(s, "\r\n")
	lines[0] = pkt.method + " " + pkt.path + " " + pkt.version
	for i := 0; i < len(lines); i++ {
		if strings.HasPrefix(lines[i], "Proxy-Connection") {
			lines[i] = ""
		}
	}
	result := ""
	for i := 0; i < len(lines); i++ {
		if lines[i] == "" {
			continue
		}
		result += lines[i] + "\r\n"
	}
	result += "\r\n"
	pkt.raw = []byte(result)
	if pkt.port != "" {
		port, err = strconv.Atoi(pkt.port)
		if err != nil {
		}
	}
	rConn, err := net.DialTCP("tcp", nil, &net.TCPAddr{IP: net.ParseIP(ip), Port: port})
	if err != nil {
		lConn.Close()
		return
	}
	defer func() {
		lConn.Close()
		rConn.Close()
	}()
	go Write(rConn, lConn)
	_, err = rConn.Write(pkt.raw)
	if err != nil {
		return
	}
	Write(lConn, rConn)
}

func proxyHttps(lConn *net.TCPConn, initPkt *Packet, ip string, allowedUrl *regexp.Regexp) {
	var port int = 443
	var err error
	if initPkt.port != "" {
		port, err = strconv.Atoi(initPkt.port)
		if err != nil {

		}
	}
	rConn, err := net.DialTCP("tcp", nil, &net.TCPAddr{IP: net.ParseIP(ip), Port: port})
	if err != nil {
		lConn.Close()
		return
	}
	defer func() {
		lConn.Close()
		rConn.Close()
	}()
	_, err = lConn.Write([]byte(initPkt.version + " 200 Connection Established\r\n\r\n"))
	if err != nil {
		return
	}
	clientHello, err := Read(lConn)
	if err != nil {
		return
	}
	chPkt := Packet{
		raw: clientHello,
	}
	go Write(rConn, lConn)
	if !(allowedUrl != nil && allowedUrl.Match([]byte(initPkt.domain))) {
		if _, err := rConn.Write(chPkt.raw); err != nil {
			return
		}
	} else {
		chunks := [][]byte{chPkt.raw}
    if allowedUrl != nil && allowedUrl.Match(chPkt.raw) {
	    var raw []byte = chPkt.raw
	    if len(raw) < 1 {
	    	chunks = [][]byte{raw}
	    } else {
	    	chunks = [][]byte{raw[:1], raw[1:]}
	    }
	  }
	  for i := 0; i < len(chunks); i++ {
	  	_, err := rConn.Write(chunks[i])
	  	if err != nil {
	  		return
	  	}
	  }
	}
	Write(lConn, rConn)
}

func Run(allowedUrl *regexp.Regexp) {
	l, err := net.ListenTCP("tcp4", &net.TCPAddr{IP: net.ParseIP("127.0.0.1"), Port: 8080})
	if err != nil {
		os.Exit(1)
	}
	for {
		conn, err := l.Accept()
		if err != nil {
			continue
		}
		go func() {
			b, err := Read(conn.(*net.TCPConn))
			if err != nil {
				return
			}
			pkt := &Packet{raw: b}
	    reader := bufio.NewReader(strings.NewReader(string(pkt.raw)))
	    request, err := http.ReadRequest(reader)
	    if err == nil {
	      pkt.domain, pkt.port, err = net.SplitHostPort(request.Host)
	      if err != nil {
	      	pkt.domain = request.Host
	      	pkt.port = ""
	      }
	      pkt.method = request.Method
	      pkt.version = request.Proto
	      pkt.path = request.URL.Path
	      if request.URL.RawQuery != "" {
	      	pkt.path += "?" + request.URL.RawQuery
	      }
	      if request.URL.RawFragment != "" {
	      	pkt.path += "#" + request.URL.RawFragment
	      }
	      if pkt.path == "" {
	      	pkt.path = "/"
	      }
	      request.Body.Close()
	    } else {
	    	conn.Close()
				return
	    }
      ip := ""
      isIp, _ := regexp.MatchString("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", pkt.domain)
	    if isIp {
        ip = pkt.domain
	    } else {
          ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
	        defer cancel()
	        c := doh.Use(doh.CloudflareProvider, doh.GoogleProvider)
	        rsp, err := c.Query(ctx, dns.Domain(pkt.domain), "A")
          if err == nil {
	    	    answer := rsp.Answer
	          for _, a := range answer {
	          	if a.Type != 1 {
	          		continue
	          	}
	          	ip = a.Data
	          }
	        }
          c.Close()
	    }
	    if ip == "" {
				conn.Write([]byte(pkt.version + " 502 Bad Gateway\r\n\r\n"))
				conn.Close()
				return
			}
			isLooped := false
			parsedIP := net.ParseIP(ip)
			if parsedIP.To4() != nil {
			  addr, err := net.InterfaceAddrs()
	      if err == nil {
	      	for _, addr := range addr {
	        	if ipnet, ok := addr.(*net.IPNet); ok {
	        		if ipnet.IP.To4() != nil && ipnet.IP.To4().Equal(parsedIP) {
	        			isLooped = true
	        		}
	        	}
	        }
	      }
	    }
			if pkt.port == strconv.Itoa(8080) && isLooped {
				conn.Close()
				return
			}
			if pkt.method == "CONNECT" {
				proxyHttps(conn.(*net.TCPConn), pkt, ip, allowedUrl)
			} else {
				proxyHttp(conn.(*net.TCPConn), pkt, ip)
			}
		}()
	}
}

func main() {	
  allowedUrl, _ := regexp.Compile("googlevideo.com|i.ytimg.com|youtube.com")
	go Run(allowedUrl)
	sigs := make(chan os.Signal, 1)
	done := make(chan bool, 1)
	signal.Notify(sigs,	syscall.SIGKILL, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT, syscall.SIGHUP)
	go func() {
		_ = <-sigs
		done <- true
	}()
	<-done
}

  1. выполняете в терминале:
go get zanal
GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" zanal
./zanal
  1. Прописываете в системе прокси для HTTP и SSL: 127.0.0.1 порт 8080
  2. Вы великолепны.

Опционально, чтобы не запускать каждый раз руками /.zanal остановите выполнение ./zanal (CTRL+C или закройте терминал) после чего создайте файл /etc/systemd/system/zanal.service

[Unit]
Description=Zanal
After=network.target

[Service]
ExecStart=/path/to/zanal
ExecReload=/path/to/zanal
Type=notify
Restart=always

[Install]
WantedBy=default.target

замените коде /path/to/zanal на ваш полный путь к zanal файлу после чего добавьте сервис в автозагрузку:

sudo chmod 644 /etc/systemd/system/zanal.service
sudo systemctl enable zanal
sudo systemctl start zanal

Ждем от @lovesan читабельный вариант на Lisp уложенный в 100 строк.

Obezyan
()

Блокировка Ютуб. На кого повлияло?

На всех причастных

Что за херня? Или мне показалось?

роскомопозор, не показалось

Слишком много залипал в трубу, так что может и к лучшему. На трубе до сих пор слушаю музыку через Tor. Пока ломки особой нет, если будет - может сделаю таки VPN на раутер, а может и бустеров на десктопе хватит. На теле Planet VPN есть, но пока не юзал. Если труба не работает - пока замещаю так: не телике - кинопоиском, на десктопе и смарте залипаю во всякие текстовые сайты.

Никаким рутубам и вквидео трубу не заменить, с его крутыми рекомендациями и тоннами видео на разнообразную тематику

FreeWebber
()

Досматривал November rain от Тактикмедиа на RuTube. Глобально - пофиг.

Norgat ★★★★★
()

Я любил смотреть shorts на тему слэнга и научпопа, теперь неудобно стало, но как только вернусь с дачи в город настрою впн и все вернется на круги своя. Простой Прокси уже не помогает.

soomrack ★★★★★
()

Даже странно. Такое ощущение, что до блокировки ютуб только в нём все и сидели, ничего больше не делали.

grem ★★★★★
()
Ответ на: комментарий от FreeWebber

Да собственно вопрос то был не как обойти - это любому ваську понятно тутушнему, даже пестрой собаке. Дело в том, что android приложение перестало работать - Socket exception: connection reset. Как могли? Как посмели? Как детектят трафик с андроида?

gobot ★★★★
() автор топика
Ответ на: комментарий от soomrack

Да не вернется нихрена. Кого смотреть то будешь? Старые ролики если только.

gobot ★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)