Regardez des vidéos de wcofun.com directement depuis votre terminal. Vous pouvez rechercher, diffuser et télécharger des vidéos ou des listes de lecture. Vous pouvez également continuer à partir de l'épisode où vous vous êtes arrêté.
Téléchargez simplement le script wcofun, installez les dépendances répertoriées ci-dessous et exécutez-le.
wget https://raw.githubusercontent.com/matheusfillipe/wcofun.cli/master/wcofun
chmod +x wcofun
./wcofun
sudo apt install coreutils jq fzf rofi mpv -y
Malheureusement, vous aurez toujours besoin de htmlq qui peut être installé avec cargo :
cargo install htmlq
Ou téléchargé depuis leur page de versions et mis sur votre chemin :
# Notice this might not be the earliest version!
wget https://github.com/mgdm/htmlq/releases/download/v0.4.0/htmlq-x86_64-linux.tar.gz
tar -xvzf htmlq-x86_64-linux.tar.gz
sudo cp htmlq /usr/bin/ # or anywhere in your path
Vous pouvez installer depuis l'AUR : https://aur.archlinux.org/packages/wcofun
yay -S wcofun
Ou si vous téléchargez le script, vous pouvez obtenir les dépendances avec :
yay -S coreutils mpv htmlq jq fzf rofi # htmlq is on the AUR
Pour éviter les problèmes « Non trouvé » :
yay -S curl-impersonate-chrome
brew install coreutils htmlq jq fzf mpv
./wocfun search query here
./wcofun
ou ./wocfun ici Si vous souhaitez télécharger tous les épisodes : ./wcofun -d Search query here
WCOFUN.CLI
---------------------------------------------------------------------------------
Syntax:
/home/matheus/Projects/wcofun/wcofun [-n] [-s | -D | -d [range]] [search query]
All parameters are optional.
Example:
Search and stream or download one episode: wcofun [search query]
Download all episodes: wcofun -D [search query]
Watch next episode: wcofun -n
Options:
-D: Download all episodes of selected anime.
-d [ep-number|start-end]: Download a range of episodes by specifying the beginning and end. You can also specify a single episode number or a range like n- to download all starting from the nth or -n to download all until the nth. An empty range (-) will cause cause it to prompt for the episode number and then download.
-s: Stream selectped episode
-n: Play next episode of lastly watched anime
-p: Play previous episode of lastly watched anime
-P [command]: Pre execution command. Useful for launching an http proxy.
-e: Edit config with nvim
-c: Edit cached searches with nvim
-h: Show this help
Par défaut, il utilisera fzf depuis un terminal et rofi si aucune sortie de terminal n'est disponible. Vous pouvez avoir un fichier de configuration sur ~/.wcofunrc
où vous pouvez exporter certaines variables pertinentes :
# MENU_CMD: Choose your menu command. Tested with dmenu, fzf and rofi only
# NOTIFY_CMD. How to tell you about the status. Leave empty for a simple echo to stdout
export MENU_CMD= " fzf "
export MENU_CMD= " rofi -dmenu -i "
# MENU_CMD="dmenu"
export NOTIFY_CMD= " notify-send WCOFUN "
# User agent. Maybe you have problems so try changing this.
export UA= " User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0 "
# Maybe you want to use a proxy? (Helps when getting blocked by cloudflare, or if you want to debug)
export CURL_EXTRA_PARAMS= " " # this option is not used for stream and download
# CURL_EXTRA_PARAMS="-k --tlsv1 -x http://localhost:8080"
export PRE_COMMAND= " "
# PRE_COMMAND="mitmdump 2>&1 /dev/null"
Si vous n'obtenez aucun résultat pour tout, vous êtes probablement bloqué par cloudflare. Ce problème se produit parce que la prise de contact tls de curl n'est pas la même que celle d'un navigateur. Voici quelques solutions pour cela :
Installez un proxy comme mitmproxy
: pacman -S mitmproxy
ou brew install mitmproxy
et créez une configuration comme :
export CURL_EXTRA_PARAMS= " -k --tlsv1 -x http://localhost:8080 "
export PRE_COMMAND= " mitmdump 2>&1 /dev/null "
Cela lancera le proxy localement avant le démarrage de la recherche wcofun.
Si vous êtes sous Linux, j'ai découvert que cela est dû à la version la plus récente d'openssl qui est détectée d'une manière ou d'une autre par cloudflare. Vous pouvez obtenir la version 20.04 libssl.so.1.1
d'Ubuntu à partir d'une machine Ubuntu ou d'ici. Extrayez-en la bibliothèque et lancez le paramètre wcofun LD_LIBRARY_PATH
en conséquence.
mkdir libssl
cd libssl
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
ar xar x libssl1.1_1.1.1f-1ubuntu2_amd64.deb
tar xf data.tar.xz
mkdir -p ~ /curlibs
cp usr/lib/x86_64-linux-gnu/libssl.so.1.1 ~ /curlibs
cd ..
rm -r libssl
# And finally run it like:
LD_LIBRARY_PATH= ~ /curlibs wcofun
Ou vous pouvez ajouter export LD_LIBRARY_PATH=~/curlibs
à votre ~/.wcofunrc
.
Construisez ce projet comme décrit dans leur fichier Lisez-moi en choisissant Firefox ou Chrome, copiez l'exécutable curl construit quelque part sur votre système et définissez-y CURL_PATH
.
git clone --depth=1 https://github.com/lwthiker/curl-impersonate
cd curl-impersonate
docker build -t curl-impersonate-chrome chrome/
# Wait for a while and let's check it out
docker run -it curl-impersonate-chrome /bin/bash
ls /build/out
Si vous voyez curl-impersonate curl_chrome98
cela signifie que cela a fonctionné. Ne fermez pas encore la coque du conteneur.
depuis un autre type de terminal :
docker cp curl-impersonate-chrome:/build/out/curl-impersonate /some/important/path/curl-impersonate
Maintenant, définissez simplement CURL_PATH="/some/important/path/curl-impersonate"
sur votre ~/.wcofunrc
Sur Arch Linux, vous pouvez facilement l'installer avec :
yay -S curl-impersonate-bin
Et définissez CURL_PATH="/usr/local/bin/curl-impersonate-chrome"
sur votre ~/.wcofunrc