世界を動かす技術を、日本語で。

FFmpegがForgejoに移行する

概要

  • Anubis は、AI企業による ウェブスクレイピング防止 のために導入された保護システム
  • アクセス時に Proof-of-Work を要求し、悪質な大量アクセスを抑制
  • 一般ユーザーには 大きな負担がかからない 設計
  • 一部の JavaScript無効化プラグイン が影響を及ぼす可能性
  • 本質的には 暫定的な対策 であり、今後さらなる識別技術の導入予定

Anubisによる保護の理由

  • サイト管理者が Anubis を導入し、AI企業などによる 過剰な自動データ収集 からサーバーを防御
  • 大量のスクレイピング がサーバーのダウンタイムやリソース枯渇を引き起こすリスクの低減
  • 一般ユーザー自動化ボット を区別するための仕組み

Proof-of-Work方式の概要

  • アクセス時に Hashcash に似たProof-of-Work(計算課題)を要求
  • 通常の個人利用 では負荷が小さく、 大量アクセス 時のみコスト増大
  • AIスクレイパー などの自動化ツールによる不正なアクセス抑制

今後の対策方針

  • Anubis はあくまで 一時的な対応策
  • 今後は ヘッドレスブラウザの識別 (例:フォントレンダリングの違いなど)を強化
  • 正規ユーザー へのProof-of-Work表示を減らす方向性

利用上の注意点

  • Anubis最新のJavaScript機能 を使用
  • JShelter などのJavaScript制限プラグインは Anubisの動作を妨げる 可能性
  • 快適な利用のため、 該当ドメインではプラグインの無効化 を推奨

Anubisバージョン情報

  • このウェブサイトは Anubis v1.21.3 を稼働

Hackerたちの意見

なんでForgejoに移ったの?

古いメールリストを使ってパッチを回してたみたいだし、プルリクエストやイシュートラッキングみたいな機能があって、Forgejoが魅力的な選択肢になったんじゃないかな。

リスト、長いね? https://forgejo.org/

まだテスト中みたいだけど、これがあるよ。 https://ffmpeg.org/pipermail/ffmpeg-devel/2025-July/346938.h...: ### 2025年7月22日、貢献方法の近代化 プロジェクトは貢献方法を近代化して、ソフトウェアフォージに切り替えています。code.ffmpeg.orgにプラットフォームを設定しました。新しいプロセスでは、すべてのコミットやマージリクエストに対して継続的インテグレーションが行われ、カテゴライズ用のラベル付け、コンフリクト解決、OpenIDやGithubでのログインが可能になります。メインリポジトリはcode.ffmpeg.org/FFmpeg/FFmpegになり、他のリポジトリはすべてそこにミラーされます。ユーザーは今すぐ使い始めることが推奨されています。メールリストは約25年間私たちの開発を支えてきましたが、参加者が増えるにつれて、マージされたパッチの割合が減少してきました。メールリストは摩擦の原因となり、議論が停滞したり、カテゴライズされていないノイズがパッチを埋もれさせてしまうことが多くなりました。patchwork.ffmpeg.orgが提出物を追跡するために設置されましたが、信頼性は低く、多くのパッチやメールが見逃されてしまいました。ちょうど9年前に稼働して以来、54,476のパッチが記録され、そのうち53,650のパッチはアーカイブされていない状態です。それに対して、メールリストでは同じ期間に合計150,736通のメールがありました。また、新しいユーザーはメールリストの開発でしばしば困難に直面していました。正しいSMTPログイン情報を見つけたり、git send-emailの設定をしたり、新しいメールセキュリティメカニズムがメールリストの運用を妨げたり、パッチをレビューするための快適なワークフローがなかったり。何年もの議論と投票を経て、新しいプラットフォームcode.ffmpeg.orgを正式に発表します。これがForgejoで動いています。ドキュメントは変更を反映するように更新されます。メールリストは引き続き監視され、プロジェクトの議論や他のトピックに使われますが、時間が経つにつれてトラフィックやノイズは大幅に減少するはずです。バグや問題はcode.ffmpeg.orgで受け付けますが、しばらくの間はtrac.ffmpeg.orgでも受け付けます。これにより、未マージのパッチの量が大幅に減少することを期待しています。もし返信や結論がなかったパッチを提出した場合は、お詫び申し上げますので、新しいプラットフォームで再提出してください。

このサイトを開くと「Oh Noes! Invalid Response」ってアニメの女の子が出てくる。リフレッシュしたり、プライベートウィンドウで開いたりしても同じ。EDIT: もう一度試したら「ボットじゃないか確認中」って同じく気持ち悪いアニメの女の子が出て、その後CSSなしでサイトが読み込まれた。もう一回試したら、やっと読み込まれた。EDIT 2: リンクをクリックしたらまた「Oh Noes!...」に戻っちゃった。

それはAnubisがあなたのブラウザにプルーフ・オブ・ワークをさせようとしてるんだよ。 https://github.com/TecharoHQ/anubis

それがアヌビスのアンチボットメカニズムだよ。彼らが選んだ選択肢には理解できる部分もあるけど、正直言うと、アヌビスのアニメキャラとその不定期な失敗(俺も見たことあるけど、結構普通の環境なのに)って、特定の内輪の人を引き寄せて、他の人たちを遠ざけるフィルタリングメカニズムとして機能してるんじゃないかと思う。これは意図的だと思うよ。

なんでかわからないけど、最近携帯(Android)からAnubis保護のウェブサイトにアクセスできない。無効なレスポンスって出る :(

参考までに、AndroidのFirefoxでは普通にアクセスできるよ。

クッキーをブロックした?

その間、俺のスマホはポテトみたいで、プルーフ・オブ・ワークのチャレンジを解くのが遅いんだよね。

アニメの女の子、何なの?彼女を超えられなかったんだけど。これってForgejoの特徴なの?

それはアヌビス、ウェブクローラー対策ツールだよ。

アヌビスだよ、AIクローラーブロッカーなんだ。

すべてが主観的で、好みは人それぞれだってことを理解した上で言うけど、個人的には、かわいいアニメキャラが、私のサイトに訪れるすべての人に見せられるほど、センスがあるとかプロフェッショナルだとか思えないんだよね。アートスタイルのファンには申し訳ないけど、私にはマイナスの信号に感じる。こういうのにCloudflareを使うのは好ましくないけど、もし画像を無効にできないならアヌビスは使いたくない。別のサイトで見るたびに「うーん、変だな。これは誰のブランディングなんだ?」って思っちゃう。

もし画像を無効にできないならアヌビスは使いたくない。別のサイトで見るたびに「うーん、変だな。これは誰のブランディングなんだ?」って思っちゃう。彼らは無ブランド版のボットストッパーも提供してるよ。それは商業用のオファリングの一部で、"プロフェッショナル"な環境向けに作られてるんだ。

個々の好みの表現は尊重するけど、プラットフォームがプロフェッショナルな成熟に達していないことを強く示唆してるね。

それは単に一般的になっただけで、最初にこれが作られた小規模なサイトにとっては、ちょっとプロフェッショナルじゃなくても問題ないんだ。でも、企業がアヌビスのブランディングのせいで使わない場合、無ブランド版も売ってるよ。

クラシックな企業のキャラクター像、つまり不自然な体型の人とはどう違うの? ただのアートスタイルだよね。

実はこれ、結構好きなんだよね。あと、コンフォートウェブやオタクたちも同じ気持ちで、彼らは落ち着いた長期プロジェクトの大きな推進力になってるんだよ。

アートには全然興味ないけど、ユーザーエージェントの差別の方がずっとひどいよね。「公式に認められた」ブラウザを使ってない人はAIボットだって暗に示すの、めちゃくちゃ悪質な手口だと思う。Googleですら思いつかないんじゃないかな。

子供たちなんだよね。みんなアニメが好き。IBMやDECで働いてたときの真剣なチームとは全然違って、彼らはトレックのロゴをあちこちに貼ってたけど。

さらに悪いことに、古いブラウザを使っている人はサイトにすらアクセスできなくなっちゃうんだよね。

うーん、可愛いアニメのオクトキャットが気になる?GitHubの至る所にいるよね。確かに大きくはないけど、かなり広まってる。要するに、人はこういうのに慣れちゃって、気にしなくなるってこと。

もっと悪いこともあったかもしれない、カニだったかもしれない。

一番のニュースは、どのソフトウェアを使っているかじゃなくて、ついにメールリストから離れたことだね。これは大きな勝利だよ。

GitHubは「マイクロソフトだから」除外として、Forgejoを選んだ理由って何かあるの? GitLabやGitea、Gogsじゃなくて。Forgejoに対して何か悪く言うつもりはないけど、他の選択肢よりもForgejoがいい理由が知りたいんだ。

ForgejoはGiteaのソフトフォークで、ライセンスや商標の問題があって、ちょっと大げさに騒がれたと思う。(Giteaは自分たちのソフトウェアを使わずにGitHubを使ってたことで有名だったし、これが結構変な選択だと思ってた。) 両チームの開発ロードマップに詳しくないから、フォークを追うのが良いアイデアかどうかは判断できないけど、Giteaのガバナンスにフラストレーションを感じてるプロジェクトが多いのは知ってる。GitLabはオープンコアだし、UXや自己ホスティングのリソース消費の多さに不満を持ってる人が多いよね(ただ、YJITがここで大きな改善をもたらしたと思うけど)。Gogsを真剣に使ってるプロジェクトは一つくらいしか見たことないから、他の3つと同じレベルの普及度はない気がする。

こんなに影響力のあるプロジェクトが主権を選ぶのを見るのはクールだね。もっと多くのプロジェクトが彼らの例に続いてほしいな。もしFFmpegのようなインターネットの基盤プロジェクトなら、GitHubにいるのは最悪だと思う。誤字を直そうとする人たちからの低品質なプルリクエストや問題が何千も来るし、無理やり理由をつけてホワイトスペースを追加するようなナンセンスな変更が多いからね。そうやって「FFmpegの貢献者」って履歴書に書きたいだけなんだよ。

タイポは結構影響大きいから、軽視しない方がいいよ。俺がnode-grpcに貢献したのは、欠けてた引用符を直しただけだけど、それが実際にクラッシュを引き起こしてたからなんだ。

無駄なPRや空白だけのPRを拒否するのは簡単で早いよ。君が言ってるほど大きな問題じゃない。いくつかのプロジェクトを見て、コードベースを探りながらドキュメントを更新したことがあるけど、感謝されることもあれば、コード変更じゃない貢献をしようとしたことで非難されることもあった。メンテナが実際のコードやドキュメントの改善を考えるよりも、人を排除することに興味があるのはイライラするね。

379しかないffmpegのGitHubで「何千」とか言うのは大げさだよ。見てみると、実際には5〜10%以下だね。

この問題は、LLMが貢献者のPR提出を「支援」することで、メンテナの時間を無駄にすることが増えて、さらに悪化してるよね。リポジトリに直接接続できるOpenAI Codexみたいなツールは、この問題をさらに悪化させる可能性が高い。とはいえ、これがLLMやコーディングエージェントの実際の価値を測る基準でもある。もしトップのオープンソースプロジェクトが、LLMによって1日に何十個ものバグを効果的に修正される日が来たら、彼らがしっかりした信頼できるリソースに成長したってことがわかるよね。

このページのコメントは完全にクソみたいな状態だね。3分の1がアンチボット保護のマスコットについて文句言ってるし(そう、あれはアニメキャラだよ;気にしなよ)、他の人たちはソフトウェア開発グループや会社の政治について細かいことを言ってる。セルフホスティングは一般的に良いし、FFmpegにはお疲れ様と言いたい。多くの大規模プロジェクトはセルフホスティングしてるし、俺の前の会社も必要なら電源を切れる物理サーバーを持ってる。Git自体がもっとしっかりした問題処理の手段(いや、メールは1980年代のプロトコルで、Linux用でも十分じゃない)やCI/CDを持ってればいいのに、別のホストに任せるんじゃなくて。今はみんなGitHub ActionsやGitLabパイプライン、Jenkinsパイプラインとかを学ばなきゃいけないんだよね。

自己ホスティングは一般的に良いことだね。いくつかのプロジェクトに貢献してきたけど、結果はまちまちだよ。誰かのGitLab(または他の)サーバーが遅すぎて、ページを開くのに数秒かかるとイライラするし、管理者が休暇中で何かを見逃して、自己ホスティングのソリューションが1週間ダウンすることもある。あるサーバーでは、理由もなく定期的に休眠アカウントを削除する必要があるみたいで、プロジェクトに戻るたびに新しいユーザーアカウントを作らなきゃならない。anubis保護されたサーバーでは、アンチボット保護が偽陽性をたくさん出すから、ページ読み込みの失敗を避けるためにブラウザを切り替えなきゃいけないこともある。あるサーバーは、理由もなく自宅のIPが入ったブラックリストを採用していて、VPNなしではサーバーにアクセスできなくなっちゃった。結局、GitLabやGitHubみたいに普通に動くサイトを使うのと比べると、すごく古くて疲れる感じがする。やりたい気持ちはわかるけど、いくつかのトレードオフがあると思う。

そのうちの3分の1がアンチボット保護のマスコットについて文句を言ってる(そう、あれはアニメキャラだよ;気にしないで) もし毎回あなたのウェブサイトを訪れるたびに、何もない画面であなたの独特なアニメキャラを数秒見せることを強制するなら、そういう人たちがそれがいかに未熟か指摘するのは全く合理的だと思う。「気にしないで」って言うのは、あなたも同じくらい未熟に聞こえるだけだよ。

そう、あれはアニメキャラだよ;気にしないで 俺は可愛いと思うよ。可愛くなかったら問題にならないだろうし。無害だし、ソフトウェアの機能を妨げることもない。唯一の批判点は、プロジェクトに不慣れな人が一瞬キャラクターだけを見たらちょっと混乱するかもしれないってことかな。https://anubis.techaro.lol/ Cloudflareでも、ページに転送される前に一瞬何が起こっているかを見る時間をくれるから、それはいいUXの改善になると思う。まあ、自己ホスティングについては同意するし、目標に最も合ったプラットフォームを選べるのは良いことだよね! > そして今、みんながGitHub Actions、GitLabパイプライン、Jenkinsパイプラインなどを学ばなきゃいけない。新しいCIソリューションが常に出てくるのはあまり好きじゃない部分もあるけど、GitLab CIを学んだ後は、Jenkinsよりも一般的に好むようになった。なんか気持ちがいいんだよね。でも、Drone CIやWoodpecker CIみたいなものは、俺の仕事以外のニーズも素晴らしくカバーしてくれる。特に、作るソフトウェアの多くがDockerコンテナにパッケージ化されていて、さらに簡素化されて標準化されるから!大抵のロジックは、環境に関係なく簡単に実行できるシェルスクリプトにカプセル化できるから、さらにポータブルになるんだ。

このページのコメントは完全にクソだね。 それに気づいたよ。かなり呆れた。明らかにいつものHNの基準を超えてる。自分のコードをGitHubではなく自己ホスティングするという考えが、理由もなく多くの人を刺激しているんじゃないかと思う。人々はGitHubのFOMOを投影してるのかな?自分が大切にしているGitHubの価値が、プロジェクトがそれを選ばないたびに減少していると思ってるのかな?

アヌビスは面白いよね。ライセンスにマスコットを保持しなきゃいけないって書いてあると思う。もしそれを取り除きたいなら、彼らにお金を払わなきゃいけないんだ。

[遅延中]

「Git自体がもっとしっかりした問題管理の手段を持ってればいいのに(メールは1980年代のプロトコルで、Linux用でも十分じゃないよ)。CI/CDも、別のホストに任せるんじゃなくて、問題をGit自体に突っ込んでほしい。Fossilはウィキと問題管理をそれでやってるけど、GitHubはウィキだけだし。Git自体でこれを実現するオープンソースの方法はいくつかあるよ。」

最高だね、今アヌビスが「無効なレスポンス」って言ってる(Firefox Android)。AIボット保護が正当な利用もブロックしてるのを見るのは素晴らしい。これをチェックしたいけど、できないんだよね。