2025-01-03 20:20:49 とろの投稿 toro_th@misskey.io
icon

このアカウントは、notestockで公開設定になっていません。

icon

やらなきゃいけないことから逃げるために音楽でも聴くか〜(YouTubeをひらく)

https://www.youtube.com/watch?v=YzuWMyd7Pjk

………

Attach YouTube
icon

バイトいきたくない〜

icon

https://gigazine.net/news/20241226-fixbrowser/

非Javascriptな独自ブラウザといえばDilloやNetSurfがおもいうかぶけれど、これはfix scriptsなるものを採用しているらしい。
FixBrowserはまだ実用にたえるほどではないけれど、FixProxy + FireFoxはそれなりにつかえそうだった。
ただ、日本語は文字化けしてしまっていたのが残念。

Web site image
ゼロから作られた超軽量ブラウザ「FixBrowser」のアルファ版公開、JavaScript非対応でリソース消費量を大幅削減
icon

ちなみにfixproxyのほうでもなぜか阿部寛のホームページはみれず

icon

開発者のかたから返事もらいました。

1. バイナリ(LinuxかWindows)とソースコードをダウンロードしたら、バイナリのFixProxyをソースコードのほうのフォルダにうつします。
2. proxy/html/whitelist.fixの101行目「sanitize_unicode(doc); 」を消して上書きします。
3. バイナリを -t パラメータつけて実行します(Windowsならフォルダを右クリックして「ターミナルで開く」して「./fixproxy.exe -t」を実行する)
4. 日本語がつかえる!

icon

bodyがないページはエラーを返すしくみっぽい。
阿部寛のページはbodyがないのでみれない。

icon

duckduckgoを日本語モードにする
script/handler.fix
53行目のあとに以下の行を追加する。
url_set_param(url, "kl", "jp-jp");

icon

多くのサイトでcssが表示されなくてこわれるのは、外部ドメインのcssをブロックしているから。
proxy/html/whitelist.fix
445行目あたりに以下を追加する。


// Check if the value ends with .css
if (string_ends_with(value, ".css")) {
same_domain = true; // Treat as same domain
}

icon

そのほか、scripts/site以下に個別のサイトごとの設定がある。
たとえば、
scripts/site/net/gi/gigazine.net/entry.fix

import "util/common";

function is_same_domain(src, dest) {
    if (domain_ends_with(dest, "gzn.jp")) return true;
    return false;
}

function adjust_document(request, document) {
    var elems = element_query_all(document, "a[href] > img"); // aタグ直下のimgタグを検索
    for (var i = 0; i < length(elems); i++) {
        var img_elem = elems[i];
        var a_elem = element_get_parent(img_elem); // 親aタグを取得

        if (a_elem) {
            var href = element_get_attr(a_elem, "href"); // href属性を取得
                element_set_attr(img_elem, "src", href); // srcをhrefで設定
        }
    }
}