Задать вопрос
  • Какие домены YouTube для обхода?

    @dgohn404
    domainkey.youtube.com,a.rtmp.youtube.com,a.rtmps.youtube.com,accounts.youtube.com,admin.youtube.com,ads.youtube.com,ai.ytimg.com,analytics.youtube.com,apiblog.youtube.com,artists.youtube.com,au.youtube.com,b.rtmp.youtube.com,b.rtmps.youtube.com,br.youtube.com,c.youtube.com,ca.youtube.com,cache1.c.youtube.com,casespartner-pa.youtube.com,charts.youtube.com,cms.youtube.com,consent.youtube.com,corp.youtube.com,creatoracademy.youtube.com,cz.youtube.com,de.youtube.com,director.youtube.com,dk.youtube.com,eligibility-panelresearch.googlevideo.com,es.youtube.com,facebook.youtube.com,fcmatch.youtube.com,fi.youtube.com,fr.youtube.com,gaming.youtube.com,gdata.youtube.com,ggpht.cn,ggpht.com,googlevideo.com,gr.youtube.com,help.youtube.com,hk.youtube.com,hu.youtube.com,i.ytimg.com,i1.ytimg.com,i2.ytimg.com,i3.ytimg.com,i4.ytimg.com,i9.ytimg.com,id.youtube.com,ie.youtube.com,il.youtube.com,img.youtube.com,in.youtube.com,insight.youtube.com,it.youtube.com,jnn-pa.googleapis.com,jp.youtube.com,kids.youtube.com,kr.youtube.com,lh3.googleusercontent.com,live.youtube.com,lscache1.c.youtube.com,m.youtube.com,manifest.googlevideo.com,mms.youtube.com,movies.youtube.com,music.youtube.com,mx.youtube.com,news.youtube.com,nl.youtube.com,no.youtube.com,nz.youtube.com,p.youtube.com,payments.youtube.com,pl.youtube.com,realtimesupport.youtube.com,redirector.c.youtube.com,redirector.googlevideo.com,restrict.youtube.com,s.youtube.com,s.youtubeeducation.com,s.ytimg.com,sandbox.youtube.com,se.youtube.com,signaler-pa.youtube.com,studio.youtube.com,support.youtube.com,test.youtube.com,tv.youtube.com,tw.youtube.com,uk.youtube.com,upload.youtube.com,wide-youtube.l.google.com,withyoutube.com,www.googlevideo.com,www.m.youtube.com,www.r1---sn-a5mekned.a1.googlevideo.com,www.youtube-nocookie.com,www.youtube.be,www.youtube.co.uk,www.youtube.com,www.youtube.de,www.youtube.es,www.youtube.fr,www.youtube.nl,www.youtube.pl,www.youtubeeducation.com,www.youtubegaming.com,youtu.be,youtube-nocookie.com,youtube-ui.l.google.com,youtube.ae,youtube.al,youtube.am,youtube.at,youtube.az,youtube.ba,youtube.be,youtube.bg,youtube.bh,youtube.bo,youtube.by,youtube.ca,youtube.cat,youtube.ch,youtube.cl,youtube.co,youtube.co.ae,youtube.co.at,youtube.co.cr,youtube.co.hu,youtube.co.id,youtube.co.il,youtube.co.in,youtube.co.jp,youtube.co.ke,youtube.co.kr,youtube.co.ma,youtube.co.nz,youtube.co.th,youtube.co.tz,youtube.co.ug,youtube.co.uk,youtube.co.ve,youtube.co.za,youtube.co.zw,youtube.com,youtube.com.ar,youtube.com.au,youtube.com.az,youtube.com.bd,youtube.com.bh,youtube.com.bo,youtube.com.br,youtube.com.by,youtube.com.co,youtube.com.do,youtube.com.ec,youtube.com.ee,youtube.com.eg,youtube.com.es,youtube.com.gh,youtube.com.gr,youtube.com.gt,youtube.com.hk,youtube.com.hn,youtube.com.hr,youtube.com.jm,youtube.com.jo,youtube.com.kw,youtube.com.lb,youtube.com.lv,youtube.com.ly,youtube.com.mk,youtube.com.mt,youtube.com.mx,youtube.com.my,youtube.com.ng,youtube.com.ni,youtube.com.om,youtube.com.pa,youtube.com.pe,youtube.com.ph,youtube.com.pk,youtube.com.pt,youtube.com.py,youtube.com.qa,youtube.com.ro,youtube.com.sa,youtube.com.sg,youtube.com.sv,youtube.com.tn,youtube.com.tr,youtube.com.tw,youtube.com.ua,youtube.com.uy,youtube.com.ve,youtube.cr,youtube.cz,youtube.de,youtube.dk,youtube.ee,youtube.es,youtube.fi,youtube.fr,youtube.ge,youtube.googleapis.com,youtube.gr,youtube.gt,youtube.hk,youtube.hr,youtube.hu,youtube.ie,youtube.in,youtube.iq,youtube.is,youtube.it,youtube.jo,youtube.jp,youtube.kr,youtube.kz,youtube.la,youtube.lk,youtube.lt,youtube.lu,youtube.lv,youtube.ly,youtube.ma,youtube.md,youtube.me,youtube.mk,youtube.mn,youtube.mx,youtube.my,youtube.ng,youtube.ni,youtube.nl,youtube.no,youtube.pa,youtube.pe,youtube.ph,youtube.pk,youtube.pl,youtube.pr,youtube.pt,youtube.qa,youtube.ro,youtube.rs,youtube.sa,youtube.se,youtube.sg,youtube.si,youtube.sk,youtube.sn,youtube.soy,youtube.sv,youtube.tn,youtube.tv,youtube.ua,youtube.ug,youtube.uy,youtube.vn,youtubeeducation.com,youtubeembeddedplayer.googleapis.com,youtubefanfest.com,youtubegaming.com,youtubego.co.id,youtubego.co.in,youtubego.com,youtubego.com.br,youtubego.id,youtubego.in,youtubei.googleapis.com,youtubei.youtube.com,youtubekids.com,youtubemobilesupport.com,yt.be,yt3.ggpht.com,yt3.googleusercontent.com,yt4.ggpht.com,ytimg.com,za.youtube.com,googleads.g.doubleclick.net
    Ответ написан
    Комментировать
  • Какие домены YouTube для обхода?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    youtube.com
    youtu.be
    yt.be
    googlevideo.com
    ytimg.com
    ggpht.com
    gvt1.com
    youtube-nocookie.com
    youtube-ui.l.google.com
    youtubeembeddedplayer.googleapis.com
    youtube.googleapis.com
    youtubei.googleapis.com
    yt-video-upload.l.google.com
    wide-youtube.l.google.com
    Могу ответственно подтвердить как разработчик обходов)
    Ответ написан
    9 комментариев
  • Как сменить регион аккаунта Google Play?

    @Python_snake Автор вопроса
    Сам спросил, сам отвечу.
    Достаточно создать новый платежный профиль США и выбрать его основным, но PayPal так и не удалось подключить.
    Ответ написан
    1 комментарий
  • Как подружить 1 стор Pinia с разными инстансами одного и того же виджета?

    @null_object
    Pinia не очень удобна, если вы хотите делать на основе нее фабрики, единственный правильный способ работы со стором - создавать внутри состояния, функции и возвращать их. Также надо помнить, что все созданные сторы Pinia живут вплоть до закрытия вкладки и занимают память.

    Как вариант, можно попробовать подобную реализацию
    interface InputState {
      value: Ref<string>;
      props: object;
    }
    
    const useStore = defineStore(`inputs`,  () => {
      const inputs = new Map<string, InputState>();
    
      function defineInput(id: string, value: Ref<string>, props = {}) {
        inputs.set(id, { value, props });
      }
    
      return { inputs, defineInput };
    })


    В качестве альтернативы Pinia можно посмотреть на композаблы из vueuse: createGlobalState и createInjectionState. Первый практически полный аналог Pinia, но более легковесный, второй позволяет создавать глобальное состояние только на поддерево компонентов и не будет занимать память, если это состояние не нужно.

    P.S. задачу вы не озвучили, но почти наверняка, как вам уже написали, Pinia вам не нужна
    Ответ написан
    2 комментария
  • Как использовать event вместе с modifiers внутри v-on по условию?

    0xD34F
    @0xD34F Куратор тега Vue.js
    const props = computed(() => isDragging.value
      ? { onClickCapture: withModifiers(onClick, [ 'prevent', 'stop' ]) }
      : null // или { onClick }, если надо только модификаторы убрать
    );

    <div v-bind="props">
    Ответ написан
    1 комментарий
  • Как связать передаваемую в компонент v-model с property внутри стора pinia?

    XanXanXan
    @XanXanXan
    defineModel нужна для двусторонней привязки модели из дочернего к родителю, а не для стора.

    Для привязки к пинии достаточно привязать переменную из стора напрямую к v-model. Пиния не запрещает так делать.
    Если нужно привязывать импортированную в родителе переменную пинии, то просто передать её в v-model дочернего, где есть переменная defineModelбез имени.

    Можно через записываемый computed, как в ответе выше, но это скорее нужно при более сложной логике получения и установки.

    Ну и самое классическое решение - в сторе сделать метод установки переменной, повесить его на обработчик в компоненте. А значение брать через :model-value
    Ответ написан
    2 комментария
  • Как подстраховаться на будущее?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В какую сторону можно начать копать уже сейчас?

    В сторону казахстанской границы.
    Ответ написан
    Комментировать
  • Как подстраховаться на будущее?

    CityCat4
    @CityCat4 Куратор тега VPN
    Жил да был черный кот за углом...
    ky0 дал единственный правильный ответ. Частично. Поскольку РК в будущем будет входить в "красный" сегмент, если принципиально важен доступ к сайтам Европы и Штатов, то РК - транзитный узел на пути куда-нибудь в Европу/Америку/Австралию etc (которые будут входить соответственно в "радужный").

    Распад тырнета на сегменты - к сожалению ближе, чем мы все думаем. Причем нынешняя эпопея VPN - она его ускоряет.

    Еще минутка "оптимизма".

    Как я вижу будущее тырнета (не ближайшее, но увы, уже ближнее):
    - внутри страны - без ограничений (ну в смысле с ограничениями местного РКН)
    - вне страны - либо просто болт (если белый список), либо "зарегистрировать VPN" в местной Конторе и пользоваться им (зная, что "Родина слышит, Родина знает...")
    Ответ написан
  • Провайдер блокирует vless vpn, как обойти блокировку?

    Vindicar
    @Vindicar
    RTFM!
    Если ходить через прокси на ресурсы в россии - пустя несколько дней твой сервер попадает в серый список, и ты ловишь замедление трафика до него.
    Более того, если у тебя большой процент трафика идёт через твой сервер - тоже прекрасно ловишь замедление.

    Так что позарез нужно настраивать клиент-прокси так, чтобы пускал через сервер только заблокированное, а в X-UI ставить галки "не ходить на ресурсы из Китай/Ирана/России".
    Как долго сервер висит в сером списке - я фз, можешь у хостера заказать смену IP адреса на новый, но при неосторожном использовании новый IP улетит туда же. Может, стоит временно использовать клиентское решение типа goodbyedpi, чтобы про сервер "забыли".
    Ответ написан
    4 комментария
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @qpiu1
    Использую vless, но один фиг его детектят все сайты которые я хочу обмануть. не могу понять почему, толи из за хостинга слишком популярные IP. Пробовал несколько, искал полудомашние сервера. Либо проблема в настройках, пока изучаю, толи сама технология палится.
    Ответ написан
    4 комментария
  • Можно ли отслеживать css переменные с помощью computed?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Вот по-быстрому накидал в качестви зарядки такой кастомный дерьмохук (который ни в коем случае нельзя использовать в проде, только в целях демонстрации. :) ):
    import { Ref, computed, ref, watch, onMounted, onUnmounted } from 'vue';
    
    function isHTMLElement(arg: unknown): arg is HTMLElement {
      return !!arg && arg instanceof HTMLElement;
    }
    
    function useCSSVariable(
      variable: string,
      el: HTMLElement | Ref<HTMLElement> = document.documentElement
    ) {
      if (!variable.startsWith('--')) variable = `--${variable}`;
      if (!isHTMLElement(el)) watch(el, value => (el = value), { immediate: true });
    
      const prev = ref();
    
      let timeoutId: number;
      const interval = () => {
        const current = isHTMLElement(el)
          ? getComputedStyle(el).getPropertyValue(variable)
          : null;
    
        if (current !== prev.value) prev.value = current;
    
        timeoutId = window.setTimeout(interval, 100);
      };
    
      onMounted(() => {
        interval();
      });
    
      onUnmounted(() => {
        clearTimeout(timeoutId);
      });
    
      return computed<string>({
        set(value) {
          let current: null | string = null;
    
          if (isHTMLElement(el)) {
            el.style.setProperty(variable, value);
            current = el.style.getPropertyValue(variable);
          }
    
          if (prev.value !== current) prev.value = current;
        },
        get() {
          return prev.value;
        }
      });
    }


    Ещё раз - использовать это не надо, это скорее шутка. Что надо - выяснить твою задачу и решать её нормально по-человечески.
    Ответ написан
    Комментировать
  • Каков наилучший способ v-bind для :hover :active и тд, и можно ли вообще так сделать?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Вопрос по большому счёту не относится к vue.

    Решения:
    1. Использовать класс-модификатор, который порасит как надо.
    <template>
      <input class="hover--red"/>
    </template>
    
    <style>
    .hover--red:hover {
      color: #f00
    }
    </style>

    2. Использовать css (не путать с scss) переменные.
    <script setup>
    // ...
    const hoverColor = '#f00'
    </script>
    
    <template>
      <input :style="{'--hover-color': hoverColor}"/>
    </template>
    
    <style>
    input:hover {
      color: var(--hover-color)
    }
    </style>


    ...upd: совсем забыл про такую фичу vue:
    3. Если стили лежат в sfc можно использовать переменные через v-bind в <style>:
    <script setup>
    // ...
    const hoverColor = '#f00'
    </script>
    
    <template>
      <input />
    </template>
    
    <style>
    input:hover {
      color: v-bind(hoverColor)
    }
    </style>

    А забыл я про неё потому, что категорически против такого смешения кода и стилей. Но я не могу вам запретить.:)
    Ответ написан
    1 комментарий
  • Как использовать withDefaults с вложенными обьектами (typescript)?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Значения по умолчанию для этого не предназначены.
    Сделай computed значение в которым смежри входящее с дефалтным как тебе нвдо.
    Ответ написан
    Комментировать
  • Как останавливать зависящие контейнеры от контейнера базы данных, если бд остановится/крашнится?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Поле depends_on определяет только последовательность запуска и удаления сервисов, к остановке отношения не имеет.
    Искомое вами поведение задаётся через healthcheck проверки доступности базы в backend и бэкенда во frontend... или простой docker compose -f путь/до/docker-compose.yaml stop, т.е. просто остановить все сервисы.
    Ответ написан
    Комментировать
  • Как слушать порты 80/443 только на главное доменное имя без поддоменов?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    "На данный момент frontend открывает и по example.com и по api.example.com"
    А почему не должен открывать, если DNS имя api.example.com смотрит на ваш сервер и в настройках nginx есть блок default_server, который обрабатывает все неописанные имена доменов.
    Ответ написан
    Комментировать
  • Как слушать порты 80/443 только на главное доменное имя без поддоменов?

    SagePtr
    @SagePtr
    Еда - это святое
    На том же самом 443 порту прослушать не получится, потому придётся прослушивать на отдельном, и проксировать через nginx.
    Нужно добавить отдельный блок server для поддомена (или несколько блоков), но со своими настройками и без default_server. Не старые блоки заменить, а дописать новые. Что-то вроде этого:
    server {
        listen [::]:80;
        listen 80;
    
        server_name api.example.com;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen [::]:443 ssl;
        listen 443 ssl;
        http2  on;
        server_name api.example.com;
        ssl_certificate путь_к_серту_для_api.example.com;
        ssl_certificate_key путь_к_ключу_для_api.example.com;
        location / {
            proxy_pass 127.0.0.1:порт_вашего_приложения;
            ........
            ........
        }
    }
    Ответ написан
    2 комментария
  • Можно ли использовать "Иностранные SSO", если я россиянин, а домен и сервер зарубежные?

    vabka
    @vabka Куратор тега Веб-разработка
    Запрещено, если сайт действует в России, его владелец россиянин и его использует россиянин.

    Соответственно ты можешь иностранным пользователям давать иностранные сервисы аутентификации.

    Если сайт не доступен в России, то тоже можно использовать все сервисы.

    Если в России доступен, то перед аутентификацией надо спросить у пользователя, откуда он и не показывать иностранные сервисы тем, кто в россии
    Ответ написан
    Комментировать
  • Можно ли использовать "Иностранные SSO", если я россиянин, а домен и сервер зарубежные?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читайте закон.
    Владелец сайта и (или) страницы сайта в сети "Интернет", и (или) информационной системы, и (или) программы для электронных вычислительных машин, являющийся российским юридическим лицом или гражданином Российской Федерации и осуществляющий свою деятельность в сети "Интернет" на территории Российской Федерации, в случае, если доступ к информации, размещенной на его сайте и (или) странице сайта в сети "Интернет", и (или) в его информационной системе, и (или) программе для электронных вычислительных машин, предоставляется пользователям, прошедшим авторизацию, обязан проводить ее в отношении пользователей, находящихся на территории Российской Федерации, одним из следующих способов: ...
    Ответ написан
    4 комментария
  • Почему между 1 и 2 колонкой таблицы с position: sticky, смещается border?

    Fragster
    @Fragster
    помогло? отметь решением!
    5dtgF5u.png
    потому left - это то, сколько останется до края при прилипании, а в примере даже предыдущая колонка шире. Кажется, в данном случае лучше всего использовать offsetLeft для этого значения.

    как-то так:
    https://codepen.io/FragsterAt/pen/XWwYBbg?editors=1010
    Ответ написан
    6 комментариев