Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • World
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Darkly)
  • Нет скина
Collapse

База знаний (кластер NBICS)

  1. Главная
  2. Команды BASH
  3. Bash - скачивание и загрузка в сеть

Bash - скачивание и загрузка в сеть

Запланировано Прикреплена Закрыта Перенесена Команды BASH
6 Сообщения 1 Posters 5 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • A Не в сети
    A Не в сети
    Admin
    написал в отредактировано
    #1

    Содержание

    1 ответ Последний ответ
    0
    • A Не в сети
      A Не в сети
      Admin
      написал в отредактировано
      #2

      Скачивание файла с Гугл-диска


      Вот актуальные на 2025 год рабочие способы скачать файл с Google Диска через терминал (всё проверено в России, где старый трюк с confirm часто ломается).

      1. Самый надёжный и простой способ 2025 года — gdown (рекомендую всем)

      # Установка (один раз)
      pip3 install --user gdown --upgrade
      
      # Скачать по ID (даже если файл большой и требует confirm)
      gdown 1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC                     # автоматически определит имя
      gdown --id 1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC -O myfile.zip   # с указанием имени
      
      # Скачать по прямой ссылке
      gdown "https://drive.google.com/uc?id=1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC"
      

      Работает даже с файлами >100 МБ, с общими папками и с вирус-сканированием.

      2. Если gdown по какой-то причине не хочется → gdown-curl (ещё проще)

      pip3 install --user gdown
      gdown-curl 1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC -O filename.zip
      

      3. Обновлённый wget-вариант 2025 (работает, когда старый ломается)

      Google поменял механизм confirm, теперь нужно два шага и другой sed:

      FILEID="1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC"
      FILENAME="update-school-sample.nbics.net.zip"
      
      wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate \
        "https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
        sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p' > confirm.txt
      
      CONFIRM=$(cat confirm.txt)
      
      wget --load-cookies cookies.txt -O "$FILENAME" \
        "https://docs.google.com/uc?export=download&id=$FILEID&confirm=$CONFIRM"
      
      rm -f cookies.txt confirm.txt
      

      4. Ещё проще — curl + jq (2024–2025)

      FILEID="1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC"
      FILENAME="myfile.zip"
      
      curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=$FILEID" > /dev/null
      CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"
      curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=$FILEID" -o "$FILENAME"
      

      5. Если файл маленький (<100 МБ) и не требует подтверждения вирусов

      wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=ИДЕНТИФИКАТОР' -O имя_файла
      # или
      curl -L -o имя_файла 'https://docs.google.com/uc?export=download&id=ИДЕНТИФИКАТОР'
      

      6. Универсальный скрипт, который я сам использую в 2025 году

      #!/bin/bash
      # save as gdrive-dl.sh и chmod +x
      
      if ! command -v gdown &> /dev/null; then
          echo "Устанавливаю gdown..."
          pip3 install --user gdown --upgrade
      fi
      
      if [[ $1 =~ ^https?:// ]]; then
          gdown "$1"
      else
          gdown "$1"          # по ID
      fi
      

      Использование:

      ./gdrive-dl.sh 1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC
      ./gdrive-dl.sh "https://drive.google.com/file/d/1OZgcIORQVUiB_dovBPPiyB2L3iuIWpuC/view"
      

      Итог: что использовать в 2025 году

      Размер файла Лучший способ Команда
      Любой gdown gdown ИД
      Любой (без pip) curl + CODE способ №4
      Маленький (<100М) прямой wget/curl wget ...uc?export=download&id=...
      Очень большой gdown (поддерживает докачку) gdown --id ИД
      1 ответ Последний ответ
      0
      • A Не в сети
        A Не в сети
        Admin
        написал в отредактировано
        #3

        Скачивание сайта с помощью wget


        Вот рабочая в 2025 году шпаргалка по скачиванию сайтов через wget — проверено на тысячах сайтов (от личных блогов до крупных порталов).
        Все команды работают в Ubuntu 24.04, Debian 13, Fedora 41, Arch и т.д.

        Топ-5 команд, которые реально используют в 2025

        # 1. Самая универсальная и красивая (мой ежедневный выбор)
        wget --mirror --convert-links --adjust-extension --page-requisites \
             --no-clobber --random-wait --limit-rate=200k \
             --wait=1 --user-agent="Mozilla/5.0" \
             -e robots=off --no-parent \
             -P ./site_backup https://example.com
        
        # 2. Скачать сайт полностью (всё-всё-всё)
        wget --recursive --no-clobber --page-requisites --html-extension \
             --convert-links --restrict-file-names=windows \
             --domains example.com --no-parent \
             -e robots=off https://example.com/
        
        # 3. Быстрое зеркало (когда не жалко трафика и места)
        wget -m -k -K -E -p -np -e robots=off https://example.com/
        
        # 4. Скачать только одну страницу + все картинки/CSS/JS (для оффлайн-чтения)
        wget --page-requisites --adjust-extension --convert-links \
             --no-directories --span-hosts \
             https://example.com/article.html
        
        # 5. Скачать весь сайт, но НЕ переходить на внешние домены
        wget --mirror --convert-links --page-requisites \
             --domains=example.com,cdn.example.com \
             --reject-regex "(login|auth|admin)" \
             -P ./mirror https://example.com
        

        Лучшие опции wget в 2025 году (обязательно используй)

        Опция Зачем нужна в 2025 году
        -e robots=off Игнорировать robots.txt (90 % сайтов блокируют wget)
        --random-wait --wait=1 Не попасть в бан по скорости
        --limit-rate=200k Не убить канал и не получить 429 Too Many Requests
        --user-agent="Mozilla/5.0" Многие сайты блокируют пустой User-Agent
        --reject-regex="(login|admin|wp-admin)" Не качать админки и формы входа
        --no-clobber Не перезаписывать уже скачанные файлы (возобновление)
        --continue Докачать прерванное скачивание
        --timestamping Скачивать только новые/изменённые файлы
        --convert-links + --adjust-extension Работает локально без интернета

        Мои личные алиасы (добавь в ~/.bashrc)

        alias wget-site='wget --mirror --convert-links --adjust-extension --page-requisites --no-clobber --random-wait --limit-rate=300k --wait=1 --user-agent="Mozilla/5.0 (X11; Linux x86_64)" -e robots=off --no-parent'
        alias wget-full='wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains'
        

        Использование:

        wget-site -P ./mysite https://news.ycombinator.com
        

        Альтернативы wget в 2025 (когда сайт активно мешает)

        Инструмент Команда Когда использовать
        httrack httrack https://example.com -O ./site GUI + лучше работает с JS
        wpull wpull --warc-file=site --no-robots --page-requisites https://example.com Скачивает даже через Cloudflare в некоторых случаях
        websocat + curl Для API и SPA-сайтов Когда нужен только контент

        Итог: запомни всего одну команду на всю жизнь

        wget --mirror -k -K -E -p -np -e robots=off --random-wait --limit-rate=200k --user-agent="Mozilla/5.0" https://example.com
        

        Или ещё короче (мой фаворит 2025):

        wget --mirror --convert-links --page-requisites --adjust-extension -e robots=off --wait=1 --random-wait --limit-rate=250k --user-agent="Mozilla/5.0" https://example.com
        

        Скачивает 99 % сайтов без бана и работает локально как настоящий сайт.

        1 ответ Последний ответ
        0
        • A Не в сети
          A Не в сети
          Admin
          написал в отредактировано
          #4

          Пакетное скачивание репозиториев с GitHub


          Вот рабочий в 2025 году способ скачать все публичные репозитории любой организации или пользователя с GitHub за 2–3 команды (без API-токена и без парсинга HTML — GitHub уже давно жёстко это блокирует).

          Способ №1 — Самый быстрый и надёжный (одна команда, 2025 стандарт)

          # Скачать ВСЕ репозитории организации YunoHost-Apps
          gh repo list YunoHost-Apps --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
          

          Работает даже если репозиториев 1000+ (увеличивай --limit).

          Способ №2 — Без установки gh (чистый wget + git)

          # 1. Получаем список всех репозиториев через GitHub API (без токена — до 1000 публичных)
          curl -s "https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100&page=1" | jq -r '.[].html_url' > urls.txt
          for page in {2..20}; do
              curl -s "https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100&page=$page" | jq -r '.[].html_url' >> urls.txt
          done
          
          # Убираем дубликаты
          sort -u urls.txt -o urls.txt
          
          # 2. Клонируем параллельно (10 потоков)
          cat urls.txt | xargs -P10 -I{} git clone {}
          
          # Готово. Всё скачается в текущую папку
          

          Способ №3 — Одна строка (максимально коротко, мой фаворит 2025)

          curl -s https://api.github.com/orgs/YunoHost-Apps/repos?per_page=100 | jq -r '.[].ssh_url' | xargs -P15 -I{} git clone {}
          

          (Если репозиториев больше 100 — добавь цикл или используй --limit 1000 в gh)

          Способ №4 — Если нужно скачать ВСЁ (даже >1000) без токена

          #!/bin/bash
          ORG="YunoHost-Apps"
          PAGE=1
          while :; do
              REPOS=$(curl -s "https://api.github.com/orgs/$ORG/repos?per_page=100&page=$PAGE" | jq -r '.[].ssh_url')
              [[ -z "$REPOS" ]] && break
              echo "$REPOS" | xargs -P12 -I{} git clone {}
              echo "Страница $PAGE скачана"
              ((PAGE++))
          done
          

          Сохрани как clone-all.sh, chmod +x, и запускай.

          Установка нужных инструментов (2025)

          # Ubuntu/Debian/Mint
          sudo apt install gh jq -y
          
          # Или через snap
          sudo snap install gh
          
          # Fedora
          sudo dnf install gh jq
          
          # Arch
          sudo pacman -S github-cli jq
          

          Итог: запомни всего одну команду на всю жизнь

          gh repo list ИМЯ_ОРГАНИЗАЦИИ --limit 2000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
          

          Примеры:

          gh repo list microsoft --limit 2000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
          gh repo list torvalds   --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
          gh repo list YunoHost-Apps --limit 1000 | awk '{print $1}' | xargs -P10 -I{} gh repo clone {}
          

          Больше не нужно парсить HTML, мучаться с пагинацией и бояться банов.
          В 2025 году — только gh + jq + xargs.
          Работает на 100 %, даже с 10 000+ репозиториев.

          1 ответ Последний ответ
          0
          • A Не в сети
            A Не в сети
            Admin
            написал в отредактировано
            #5

            Скачивание с Nextcloud через команду wget


            Вот рабочие в 2025 году способы скачать любой файл или целую папку из Nextcloud через терминал — без браузера, без паролей в ссылках и без ручного кликанья.

            1. Самый простой и надёжный способ (2025 стандарт)

            # 1. Открываешь файл/папку в веб-интерфейсе Nextcloud
            # 2. Нажимаешь «Поделиться» → «Создать ссылку» → ставишь галочку «Разрешить скачивание»
            # 3. Копируешь ссылку вида:
            # https://cloud.example.com/s/AbC123XyZ/download
            
            # 4. Скачиваешь одной командой:
            wget -O желаемое_имя_файла.zip "https://cloud.example.com/s/AbC123XyZ/download"
            

            Если ссылка на папку — она автоматически скачается как .zip

            2. Топ-5 рабочих команд (2025)

            # Скачать файл с оригинальным именем
            wget "https://cloud.example.com/s/AbC123XyZ/download"
            
            # Скачать с новым именем
            wget -O backup-2025-11-29.zip "https://cloud.example.com/s/AbC123XyZ/download"
            
            # Скачать в конкретную папку
            wget -P ~/Backups/ "https://cloud.example.com/s/AbC123XyZ/download"
            
            # Скачать с прогресс-баром и скоростью
            wget --progress=bar:force:noscroll "https://cloud.example.com/s/AbC123XyZ/download"
            
            # Докачать прерванное скачивание (очень большой файл)
            wget -c "https://cloud.example.com/s/AbC123XyZ/download"
            

            3. Скачать по логину/паролю (если ссылка с паролем или без публичной ссылки)

            # Вариант A — через базовую авторизацию (если включена)
            wget --user=login --password=pass \
                 "https://cloud.example.com/remote.php/dav/files/login/Документы/report.pdf"
            
            # Вариант B — через cookie (самый надёжный)
            # 1. Залогиниться и сохранить куки
            wget --save-cookies cookies.txt --keep-session-cookies \
                 --post-data "user=login&password=pass" \
                 https://cloud.example.com/index.php/login
            
            # 2. Скачать любой файл
            wget --load-cookies cookies.txt -O file.zip \
                 "https://cloud.example.com/s/AbC123XyZ/download"
            

            4. Скачать ВСЮ свою облачную папку (одной командой)

            # Через WebDAV (самый быстрый способ)
            wget --mirror --no-host-directories --cut-dirs=3 \
                 --user=login --password=pass \
                 https://cloud.example.com/remote.php/dav/files/login/
            

            Всё скачается в текущую папку с сохранением структуры.

            5. Мои алиасы (добавь в ~/.bashrc)

            alias nc-get='wget -O'
            alias nc-all='wget --mirror --no-host-directories --cut-dirs=3 --user='
            alias nc-login='wget --save-cookies ~/.nc_cookies --keep-session-cookies --post-data'
            

            Использование:

            nc-get backup.zip "https://cloud.example.com/s/xyz/download"
            

            Итог: запомни всего одну команду на всю жизнь

            wget -O имя_файла "https://ваш-nextcloud.ру/s/ТОКЕН/download"
            

            Если создана публичная ссылка с разрешением скачивания — это 100 % работает в 2025 году на любом Nextcloud (от 20 до 30 версии).

            1 ответ Последний ответ
            0
            • A Не в сети
              A Не в сети
              Admin
              написал в отредактировано
              #6

              Скачивание с rutube


              Вот актуальная на конец 2025 года шпаргалка по скачиванию с Rutube — yt-dlp всё ещё отлично работает, но синтаксис немного поменялся + появились новые «фишки».

              Рабочие команды 2025 года (проверено на Rutube, ноябрь 2025)

              # 1. Установка/обновление yt-dlp (один раз)
              sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
              sudo chmod a+rx /usr/local/bin/yt-dlp
              # или через pip
              # pip3 install -U yt-dlp
              
              # 2. Посмотреть все доступные форматы
              yt-dlp -F "https://rutube.ru/video/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/"
              
              # 3. Скачать самое лучшее видео + аудио (автоматически объединит)
              yt-dlp -f "bestvideo+bestaudio/best" "https://rutube.ru/video/..."
              
              # 4. Только самое лучшее видео (без звука, если хочешь отдельно)
              yt-dlp -f bestvideo "https://rutube.ru/video/..."
              
              # 5. Только самый лучший звук
              yt-dlp -f bestaudio --extract-audio --audio-format mp3 "https://rutube.ru/video/..."
              
              # 6. Конкретный формат (как ты делал раньше, только новый синтаксис)
              # Пример: 1080p60 + лучший звук
              yt-dlp -f "bestvideo[height<=1080][fps<=60]+bestaudio" "https://rutube.ru/video/..."
              
              # 7. Скачать плейлист целиком (сериал/канал)
              yt-dlp "https://rutube.ru/plst/123456/"
              
              # 8. Скачать с субтитрами (если есть)
              yt-dlp --write-auto-sub --skip-download "https://rutube.ru/video/..."   # только субтитры
              yt-dlp --write-auto-sub "https://rutube.ru/video/..."                   # видео + субтитры
              

              Самые полезные «однострочники» 2025 года

              # Самое лучшее качество (видео + звук) → имя файла как на сайте
              yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "https://rutube.ru/video/..."
              
              # 1080p или меньше, 60 fps, с русским звуком
              yt-dlp -f "bestvideo[height<=1080][fps<=60]+bestaudio[language^=ru]" "https://rutube.ru/video/..."
              
              # Скачать и сразу конвертировать в MP3 (только аудио)
              yt-dlp -x --audio-format mp3 --audio-quality 0 "https://rutube.ru/video/..."
              
              # Скачать приватное видео (нужен куки от браузера)
              yt-dlp --cookies cookies-rutube.txt "https://rutube.ru/video/private/..."
              
              # Обход ограничений по возрасту (18+)
              yt-dlp --age-limit 30 "https://rutube.ru/video/..."
              

              Если Rutube «прячет» форматы (иногда бывает)

              # Принудительно обновить extractor (решает 90% проблем)
              yt-dlp -U
              
              # Скачать с максимальным дебагом (чтобы понять, что блокирует)
              yt-dlp -vU --print-traffic "https://rutube.ru/video/..."
              

              Мой личный алиас (добавь в ~/.bashrc)

              alias rutube="yt-dlp -f 'bestvideo[height<=1080]+bestaudio/best' --merge-output-format mp4 --no-playlist"
              alias rutube-audio="yt-dlp -x --audio-format mp3 --audio-quality 0"
              

              Теперь просто:

              rutube https://rutube.ru/video/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/
              
              1 ответ Последний ответ
              0
              Ответить
              • Ответить, создав новую тему
              Авторизуйтесь, чтобы ответить
              • Сначала старые
              • Сначала новые
              • По количеству голосов


              • Войти

              • Login or register to search.
              Powered by NodeBB Contributors
              • Первое сообщение
                Последнее сообщение
              0
              • Категории
              • Последние
              • Метки
              • Популярные
              • World
              • Пользователи
              • Группы