Sehen Sie sich Videos von wcofun.com direkt von Ihrem Terminal aus an. Sie können Videos oder Wiedergabelisten suchen, streamen und herunterladen. Sie können auch mit der Episode fortfahren, in der Sie aufgehört haben.
Laden Sie einfach das wcofun-Skript herunter, installieren Sie die unten aufgeführten Abhängigkeiten und führen Sie es aus.
wget https://raw.githubusercontent.com/matheusfillipe/wcofun.cli/master/wcofun
chmod +x wcofun
./wcofun
sudo apt install coreutils jq fzf rofi mpv -y
Leider benötigen Sie weiterhin HTMLQ, das entweder mit Cargo installiert werden kann:
cargo install htmlq
Oder laden Sie es von der Veröffentlichungsseite herunter und legen Sie es auf Ihren Weg:
# 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
Sie können über die AUR installieren: https://aur.archlinux.org/packages/wcofun
yay -S wcofun
Oder wenn Sie das Skript herunterladen, können Sie die Abhängigkeiten abrufen mit:
yay -S coreutils mpv htmlq jq fzf rofi # htmlq is on the AUR
So vermeiden Sie „Nicht gefunden“-Probleme:
yay -S curl-impersonate-chrome
brew install coreutils htmlq jq fzf mpv
./wcofun
oder ./wocfun search query here
Wenn Sie alle Episoden herunterladen möchten: ./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
Standardmäßig wird fzf von einem Terminal und rofi verwendet, wenn keine Terminalausgabe verfügbar ist. Sie können unter ~/.wcofunrc
eine Konfigurationsdatei haben, in die Sie einige relevante Variablen exportieren können:
# 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"
Wenn Sie für alles keine Ergebnisse erhalten, werden Sie wahrscheinlich von Cloudflare blockiert. Dieses Problem tritt auf, weil der TLS-Handshake von Curl nicht mit dem eines Browsers übereinstimmt. Hier sind einige Lösungen hierfür:
Installieren Sie einen Proxy wie mitmproxy
: pacman -S mitmproxy
oder brew install mitmproxy
und erstellen Sie eine Konfiguration wie:
export CURL_EXTRA_PARAMS= " -k --tlsv1 -x http://localhost:8080 "
export PRE_COMMAND= " mitmdump 2>&1 /dev/null "
Dadurch wird der Proxy lokal gestartet, bevor die wcofun-Suche beginnt.
Wenn Sie Linux verwenden, habe ich herausgefunden, dass dies an der neueren Version von OpenSSL liegt, die irgendwie von Cloudflare erkannt wird. Sie können Ubuntu 20.04 libssl.so.1.1
von einem Ubuntu-Rechner oder hier herunterladen. Extrahieren Sie die Bibliothek daraus und starten Sie wcofun, indem Sie LD_LIBRARY_PATH
entsprechend einstellen.
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
Oder Sie können export LD_LIBRARY_PATH=~/curlibs
zu Ihrem ~/.wcofunrc
hinzufügen.
Erstellen Sie dieses Projekt wie in der Readme-Datei beschrieben, wählen Sie entweder Firefox oder Chrome, kopieren Sie die erstellte ausführbare Curl-Datei irgendwo auf Ihrem System und legen Sie CURL_PATH
darauf fest.
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
Wenn Sie curl-impersonate curl_chrome98
sehen, bedeutet das, dass es funktioniert hat. Schließen Sie den Behältermantel noch nicht.
Von einem anderen Terminaltyp:
docker cp curl-impersonate-chrome:/build/out/curl-impersonate /some/important/path/curl-impersonate
Setzen Sie jetzt einfach CURL_PATH="/some/important/path/curl-impersonate"
auf Ihrem ~/.wcofunrc
Unter Arch Linux können Sie es einfach installieren mit:
yay -S curl-impersonate-bin
Und setzen Sie CURL_PATH="/usr/local/bin/curl-impersonate-chrome"
auf Ihrem ~/.wcofunrc