wcofun.com のビデオを端末から直接視聴します。ビデオやプレイリストを検索、ストリーミング、ダウンロードできます。途中で抜けたエピソードから続けることもできます。
wcofun スクリプトをダウンロードし、以下にリストされている依存関係をインストールして実行するだけです。
wget https://raw.githubusercontent.com/matheusfillipe/wcofun.cli/master/wcofun
chmod +x wcofun
./wcofun
sudo apt install coreutils jq fzf rofi mpv -y
残念ながら、cargo と一緒にインストールできる htmlq がまだ必要です。
cargo install htmlq
または、リリース ページからダウンロードしてパスに配置します。
# 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
AUR からインストールできます: https://aur.archlinux.org/packages/wcofun
yay -S wcofun
または、スクリプトをダウンロードすると、次のように依存関係を取得できます。
yay -S coreutils mpv htmlq jq fzf rofi # htmlq is on the AUR
「見つからない」問題を回避するには:
yay -S curl-impersonate-chrome
brew install coreutils htmlq jq fzf mpv
./wcofun
または./wocfun search query here
すべてのエピソードをダウンロードしたい場合: ./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
デフォルトでは、端末からの fzf を使用し、端末出力が利用できない場合は rofi を使用します。 ~/.wcofunrc
に構成ファイルを作成し、関連する変数をエクスポートできます。
# 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"
すべての結果が得られない場合は、cloudflare によってブロックされている可能性があります。この問題は、curl の TLS ハンドシェイクがブラウザのハンドシェイクと同じではないために発生します。これに対するいくつかの解決策を次に示します。
mitmproxy
: pacman -S mitmproxy
またはbrew install mitmproxy
のようなプロキシをインストールし、次のような構成を作成します。
export CURL_EXTRA_PARAMS= " -k --tlsv1 -x http://localhost:8080 "
export PRE_COMMAND= " mitmdump 2>&1 /dev/null "
これにより、wcofun 検索が開始される前にプロキシがローカルで起動されます。
Linux を使用している場合、これは、cloudflare によって何らかの形で検出された openssl の新しいバージョンが原因であることがわかりました。 ubuntu 20.04 libssl.so.1.1
は、ubuntu マシンまたはここから入手できます。そこからライブラリを抽出し、それに応じてLD_LIBRARY_PATH
設定して wcofun を起動します。
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
または、 export LD_LIBRARY_PATH=~/curlibs
~/.wcofunrc
に追加することもできます。
Readme の説明に従って、Firefox または Chrome を選択してこのプロジェクトをビルドし、ビルドされた Curl 実行可能ファイルをシステム上のどこかにコピーし、 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
curl-impersonate curl_chrome98
が表示された場合は、それが機能したことを意味します。まだコンテナー シェルを閉じないでください。
rom 別の端末タイプ:
docker cp curl-impersonate-chrome:/build/out/curl-impersonate /some/important/path/curl-impersonate
あとは~/.wcofunrc
にCURL_PATH="/some/important/path/curl-impersonate"
設定するだけです
Arch Linux では、次のコマンドで簡単にインストールできます。
yay -S curl-impersonate-bin
そして、 ~/.wcofunrc
にCURL_PATH="/usr/local/bin/curl-impersonate-chrome"
設定します。