Dumby
Спасибо большое! И за поддержку CB, новые версии всё-таки значительно быстрее.
А возможно ли с помощью Custom Buttons следить за буфером обмена и при наличии ссылки на YouTube, добавлять её к определённому тексту и посылать в командную строку Windows? Суть в youtube-dl, хотелось бы упростить загрузку, сейчас, я копирую ссылку, выделяю в блокноте другую ссылку, заменяю, а потом копирую всё в cmd, особенно неудобно при скачивании нескольких видео.
D: chdir D:\YouTube youtube-dl.exe --no-check-certificate -f bestvideo+bestaudio https://www.youtube.com/watch?v=6PDmZnG8KsM
Отсутствует
посылать в командную строку Windows
Если посылать в командную строку Windows, то, говорят,
могут возникнуть проблемы, если ссылка содержит символы «&».
Попробуй сначала напрямую вызывать youtube-dl.exe с аргументами.
Создай кнопку с таким содержимым вкладки Код.
Копируешь ссылку, жмёшь кнопку.
var url = gClipboard.read(); if (!url.startsWith("https://www.youtube.com/watch?")) return; var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(FileUtils.File(String.raw`D:\YouTube\youtube-dl.exe`)); var args = ["--no-check-certificate", "-f", "bestvideo+bestaudio", url]; process.runw(false, args, args.length);
var url = gClipboard.read(); if (!url.startsWith("https://www.youtube.com/watch?")) return; var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(FileUtils.File(String.raw`C:\Windows\System32\cmd.exe`)); var args = [ "/C", String.raw`D:\YouTube\youtube-dl.exe`, "--no-check-certificate", "-f", "bestvideo+bestaudio", url + " " ]; process.runw(false, args, args.length);
Отсутствует
Dumby
Огромное спасибо, просто супер, работают оба кода, пока поиспользую первый. Я даже сейчас после копирования ссылки пытаюсь тянуться в блокнот по старому, рефлекс. А случайно нельзя внедрить эту кнопку в контекстное меню, чтобы при нажатии сразу инициировалось скачивание?
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAc0lEQVQ4jWNgGB7gvqdtwANP+y8PvOz/E4Pve9m/v+9pG4AwwMv+PLGakQw5DzcAm4Ifty//f5IQhtcQvAb8/fP1/++Pr/6/bKog3wAY/rBuKWUGfNq5kXwvvO5tJs8LP25f/v80O5G4QKQ4GilOSEMbAAAJoGH0pNGWEwAAAABJRU5ErkJggg==
Отсутствует
var url = gClipboard.read(); if (!url.startsWith("https://www.youtube.com/watch?")) return;
youtube-dl кроме youtube ещё кучу сайтов поддерживает http://rg3.github.io/youtube-dl/supportedsites.html
я на youtube-dl запускаю так:
у меня своё расширение (делалось не для youtube-dl а вообще для запуска приложений с аргументами)
и простой bash скрипт чтобы выбрать директорию куда скачивать
#!/bin/bash if [ -n "$1" ]; then SDIR=$(dirname "$0") DIR="" read -r DIR < "$SDIR/directory.txt" if [ -z "$DIR" ]; then DIR="$HOME" echo "$DIR" > "$SDIR/directory.txt" fi cd "$DIR" || { DIR="$HOME" cd "$DIR" || exit 1 } ZDIR=$(zenity --file-selection --directory --title="Выбрать директорию") if [ "$?" -eq 1 ]; then exit 1 fi if [ "$ZDIR" != "$DIR" ]; then echo "$ZDIR" > "$SDIR/directory.txt" cd "$ZDIR" || exit 1 fi mate-terminal --profile=youtube-dl --command "$1" fi if [ -n "$2" ]; then mate-terminal --profile=youtube-dl --command "$2" fi
Отредактировано Vitaliy V. (17-10-2019 14:02:13)
Отсутствует
youtube-dl кроме youtube ещё кучу сайтов поддерживает http://rg3.github.io/youtube-dl/supportedsites.html
Тоже хотел написать, но там тогда подстановка без аргументов должна быть.
Отредактировано Karn (14-12-2018 21:05:11)
Отсутствует
я влюбился в твою сборку
Отредактировано func4ptch4 (14-12-2018 21:18:34)
Отсутствует
Dumby
Ещё, кстати, могли бы добавить в код адреса такого вида "https://youtu.be/HK0eCViLgow", которые возникают при копировании embedded видео? И возможность выбирать директорию для скачанного?
Отсутствует
Как искать в теме ?
тупой форум...
есть кнопка под новый хром-firefox чтоб при щелчке по картинке правой кнопкой с нажатым контролом, копировался ее URL ?
Для старого помню была кнопка такая.
Отредактировано selevo (15-12-2018 11:00:40)
Отсутствует
у меня своё расширение (делалось не для youtube-dl а вообще для запуска приложений с аргументами)
А можно это расширение потестировать?
И вопрос по этой панели запуска: она постоянно видна или есть автоскрытие или кнопка показать/скрыть панель запуска?
Отсутствует
Скрипт копирует ссылку на картинку в буфер обмена
Отсутствует
А можно это расширение потестировать?
для WebExtensions Experiments требуется Firefox Developer Edition или Nightly
или же конфиг 1 часть https://forum.mozilla-russia.org/viewto … 88#p764788
эксперименты там
https://github.com/VitaliyVstyle/Vitali … xperiments
скачайте async_run_applications.xxxx.xx.xx.xpi
И вопрос по этой панели запуска: она постоянно видна или есть автоскрытие или кнопка показать/скрыть панель запуска?
панель это другое, а в этом расширении всего три кнопки, для запуска приложений такая
возможность выбирать директорию для скачанного?
кстати для делал такой bat файл для youtube-dl
@echo off setlocal enableextensions chcp 1251 >nul title Youtube-dl cd /d "%~dp0" if not exist youtube-dl.exe ( cls echo youtube-dl.exe не найден. goto:error ) if "%~1" == "" ( if "%~2" == "" ( echo Версия youtube-dl: youtube-dl --version goto youtubepromt ) ) for /f "usebackq delims=" %%i in ( `@"%systemroot%\system32\mshta.exe" "javascript: var objShellApp = new ActiveXObject('Shell.Application'); var Folder = objShellApp.BrowseForFolder(0, 'Выбрать директорию',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}'); try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e) {}; close();" ^ 1^|more` ) do set sFolderName=%%i if not defined sFolderName ( echo Папка не выбрана. goto youtubepromt ) if "%~2" == "" ( youtube-dl -o "%sFolderName%\%%(title)s.%%(ext)s" "%~1" goto youtubepromt ) else ( youtube-dl -o "%sFolderName%\%%(title)s.%%(ext)s" %~1 "%~2" goto youtubepromt ) :youtubepromt echo. echo Для справки: youtube-dl -h echo. cmd /q /k goto:eof :error echo. echo Нажмите любую клавишу для выхода. pause >nul goto:eof
но я проверил его пару раз и больше не пользовался, на сижу
Отредактировано Vitaliy V. (16-12-2018 18:11:48)
Отсутствует
Vitaliy V.
Спасибо, но хотелось бы сразу в Custom Buttons иметь зашитый адрес, а если ещё в контекстное меню получится всё встроить. К сожалению, не знаю, возможно ли это сделать с помощью CB, ждём мастера Dumby.
Отсутствует
Помогите пожалуйста адаптировать этот код к custom_buttons-0.0.7.0.0.1 под FF 63.
И можно ли как то создать дополнительную пустую панель ниже закладок как это было в FF 56? Хочу сделать панель с быстрым переходом к папкам и файлам.
Отредактировано Резидент (16-12-2018 23:03:49)
Отсутствует
хотелось бы сразу в Custom Buttons иметь зашитый адрес
в смысле всегда одинаковую папку для сохранения? это куда проще и сами можете сделать
с опцией -o или --output как то так
-o "путь к папке\%%(title)s.%%(ext)s"
Отсутствует
Vitaliy V.
Пробовал, в разных вариантах, но не получилось, может быть я неправильно делаю, добавляя это в аргументы? Или в синтаксисе накосячил?
/*CODE*/ var url = gClipboard.read(); if (!url.startsWith("https://www.youtube.com/watch?")) return; var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(FileUtils.File(String.raw`D:\YouTube\youtube-dl.exe`)); var args = ["--no-check-certificate", "--no-call-home", "-f", "bestvideo+bestaudio", "-o "D:\YouTube\%%(title)s.%%(ext)s"", url]; process.runw(false, args, args.length);
Отсутствует
Или в синтаксисе накосячил?
Угу, так пробуйте
var args = ["-o", "D:\\YouTube\\%(title)s.%(ext)s", "--no-check-certificate", "--no-call-home", "-f", "bestvideo+bestaudio", url];
Отредактировано Vitaliy V. (17-12-2018 00:55:16)
Отсутствует
Vitaliy V.
Фух, спасибо, работает, ведь сталкивался уже с подобным, вечно чёрточку и т.п. забудешь и всё. Но удивительно, что "-O" и "директория" работают по отдельности. Но двойные проценты в именах лишние: %(title)s.%(ext)s.
/*CODE*/ var url = gClipboard.read(); if (!url.startsWith("https://www.youtube.com/watch?")) return; var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(FileUtils.File(String.raw`D:\YouTube\youtube-dl.exe`)); var args = ["-o", "D:\\YouTube\\%(title)s.%(ext)s", "--no-check-certificate", "--no-call-home", "-f", "bestvideo+bestaudio", url]; process.runw(false, args, args.length);
Отредактировано Karn (17-12-2018 01:16:10)
Отсутствует
Но двойные проценты в именах лишние: %(title)s.%(ext)s.
в пакетном файле они не лишние...
с ним поудобнее будет чем просто youtube-dl.exe запускать
как добавить реакцию кнопки ещё и на ссылки такого вида: https://youtu.be/kBOaLjtR4mw? Через запятую, конечно, не работает.
да замените if (!url.startsWith("https://www.youtube.com/watch?")) return;
на
Отсутствует
Vitaliy V.
Класс, класс, ну и как можно отказаться от Custom Buttons, когда вот так запросто, несколькими строчками, можно облегчить рутинные действия. И так, если использовать аргументы формата YouTube (MP4 для смартфонов, например), то качает ещё и с Vimeo, но не с других сайтов. Убрав же их, похоже, с Ютуба и так качает в макси качестве, но становятся доступны и остальные сайты.
/*CODE*/ var url = gClipboard.read(); if (!url.startsWith("http://") && !url.startsWith("https://")) return; var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(FileUtils.File(String.raw`D:\YouTube\youtube-dl.exe`)); var args = ["-o", "D:\\YouTube\\%(title)s.%(ext)s", "--no-check-certificate", url]; process.runw(false, args, args.length);
Отсутствует
Dumby
Не в курсе, какую поганку завернули в FF64 ? В munu ПКМ не реагирует...
if(e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey) { e.preventDefault(); menu.showPopup(self, -1, -1, "popup", "bottomleft", "topleft"); } }; this.oncontextmenu = e => e.target != this ? menu.hasAttribute("context") : e.ctrlKey || e.shiftKey || e.altKey || e.metaKey || ( e.detail != 1 ? menu.hidePopup() : !!menu.openPopup(this, "after_start") ); custombuttons.alertSlide1 = function(sTitle) { var as = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService); as.showAlertNotification('chrome://global/skin/icons/information-16.png', "", sTitle, false, "", null); setTimeout(() => as.closeAlert(), 999); };
Отредактировано drage2 (17-12-2018 15:45:57)
Отсутствует
Артик пишетДоканают эти обновления....
А что кто-то насильно принуждает обновляться ??
именно. Буржуи принуждают. Старые версии перестают поддерживаться, с ними не работают важные обновления, многие обновления тоже перестают поддерживаться. Ты всё верно сказал "насильно принуждают". Если бы не принуждали, мы бы сидели на винде Экс Пи, на Мозилле 3,0 всю жизнь и не заходили бы сюда, ибо кнопки работали вечно.
Отсутствует