インストール - 5chブラウザ

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

5chブラウザとは、5ちゃんねる (旧2ちゃんねる) を閲覧するために特化した専用ブラウザソフトウェアのことである。

主な特徴としては、以下に示すようなものがある。

  • 5ちゃんねるの閲覧に最適化されたインターフェース
  • スレッドの自動更新機能
  • お気に入りスレッドの登録と管理
  • NGワード設定による不要な投稿の非表示
  • 画像の自動収集と閲覧
  • デスクトップ通知による新着レスの通知
  • 複数の5chサーバへの対応
  • 過去ログの閲覧機能
  • 外部ブラウザとの連携


これらの機能により、ユーザは5ちゃんねるを快適かつ効率的に閲覧することができる。


Siki

Sikiのダウンロード

Sikiの公式Webサイトにアクセスして、SikiのAppImageファイルをダウンロードする。
ダウンロードしたAppImageファイルに実行権限を付加する。

chmod u+x Siki-<Sikiのバージョン>.AppImage

mkdir -p ~/InstallSoftware/Siki
cd Siki-<Sikiのバージョン>.AppImage <任意のインストールディレクトリ>


nutsを使用する場合

nutsプラグイン(バージョン 1.11 2023/07現在最新)をダウンロードする。


ダウンロードしたファイルを解凍する。

unzip nuts-<バージョン>.zip


解凍したディレクトリにあるrequest-hookディレクトリを、Sikiのpluginsディレクトリに配置する。

cd nuts-<バージョン>
mv request-hook ~/.config/Siki/profile/plugins


もし、5ch向けプロキシを設定している場合は、プロキシの設定を削除する。

Sikiを起動して、[ファイル]メニューバー - [設定]を選択する。
[設定]画面の左ペインにある[ワークスペース] - 右ペインにある[プラグイン] - [通信を制御するプラグインの有効化]から、
[plugins/request-hook]チェックボックスにチェックを入力する。

最後に、Sikiを再起動して、読み書きができるかどうかを確認する。

※注意
書き込みに制限が掛かる場合、端末を偽装するため、~/.config/Siki/profile/plugins/request-hook/config.jsファイルにある3つの項目を編集する必要がある。

  • APP_KEY
  • HM_KEY
  • POST_USER_AGENT


# ~/.config/Siki/profile/plugins/request-hook/config.jsファイル

## 設定 1
"APP_KEY": "a6kwZ1FHfwlxIKJWCq4XQQnUTqiA1P",
"HM_KEY": "ZDzsNQ7PcOOGE2mXo145X6bt39WMz6",
"POST_USER_AGENT": "Monazilla/1.00 JaneStyle/4.23 Windows/10.0.22000",

## 設定 2
"APP_KEY": "HnNrwoBmZhuS2Iy7XcfKcNjXWbStay",
"HM_KEY": "Mw1lAicafV2JFefaoBURwgMJ7IqfvM",
"POST_USER_AGENT": "Monazilla/1.00 Live5ch/1.59 Windows/10.0.22000",

## 設定 3
"APP_KEY": "8yoeAcaLXiEY1FjEuJBKgkPxirkDqn",
"HM_KEY": "F7vFmWCGd5Gzs8hc03NpRvw4bPwMz3",
"POST_USER_AGENT": "Monazilla/1.00 2chMate/0.8.10.153 Dalvik/2.1.0 (Linux; U; Android 12; Pixel 5 Build/SQ3A.220705.004)",

## 設定 4
"APP_KEY": "1n0gDnwQE6st8KPj1qD7dKEWubpp1N",
"HM_KEY": "3Op2jFmeYpcMfuDwnV8OtXmKu6n8oL",
"POST_USER_AGENT": "Monazilla/1.00 Ciisaa/1.71 Dalvik/2.1.0 (Linux; U; Android 12; Pixel 5 Build/SQ3A.220705.004)",

## 設定 5
"APP_KEY": "vIyNd18OvKKeRkMmBUqqtEsdLuA8hh",
"HM_KEY": "EowMzHCOOQVJ3xQCfU9iyLu6MwRCN1",
"POST_USER_AGENT": "Monazilla/1.00 JaneStyle_Android/2.4.2 Dalvik/2.1.0 (Linux; U; Android 12; Pixel 5 Build/SQ3A.220705.004)",

## 設定 6
"APP_KEY": "FPSs7VEcPnNKfAyvP2Mbsu17pPB00s",
"HM_KEY": "GyKdrY37rxE0L9X2xOCmusbA7kGsYW",
"POST_USER_AGENT": "Monazilla/1.00 V2C-R/3.5.2 Windows/10.0.22000",


設定を有効にするため、Sikiを再起動する。

5ch向けプロキシの導入 (nutsを使用しない場合)

5ch向けプロキシの一覧は、以下に示すWebサイトを参照すること。
https://prokusi.wiki.fc2.com/wiki/%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8

2chproxyを使用する場合

依存関係のライブラリをインストールする。

# RHEL
sudo dnf install git perl-HTTP-Daemon perl-LWP-Protocol-https perl-YAML-Tiny

# SUSE
sudo zypper install git perl-HTTP-Daemon perl-LWP-Protocol-https perl-YAML-Tiny


2chproxyをダウンロードする。

git clone https://github.com/yama-natuki/2chproxy.pl.git
mv ./2chproxy.pl ~/InstallSoftware/Siki


2chproxyをアップデートするには、2chproxyのディレクトリに移動して、以下のコマンドを実行する。

cd <2chproxyのディレクトリ>
git pull


ダウンロードした2chproxyディレクトリにあるjd.shファイルの設定を、以下のように編集する。

 # /<2chproxyのディレクトリ>/jd.shファイル
 
 # 2chproxy.plの場所をフルpathで書く。
 PROXY="/<2chproxyのディレクトリ>/2chproxy.pl"
 
 # JDの場所
 JD="/<Sikiのインストールディレクトリ>/Siki_<バージョン名>.AppImage"


2chproxyを個別に起動する場合は、以下のコマンドを実行する。

cd <2chproxyのディレクトリ>
perl 2chproxy.pl


Sikiの起動スクリプトを作成する。

vi /<Sikiのインストールディレクトリ>/Siki.sh
chmod u+x /<Sikiのインストールディレクトリ>/Siki.sh


 # /<Sikiのインストールディレクトリ>/Siki.shファイル
 
 #!/usr/bin/env sh
 
 appname="Siki_<Sikiのバージョン>.AppImage"
 
 # use -f to make the readlink path absolute
 dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
 
 if [ "$dirname" = "." ]; then
    dirname="$PWD/$dirname"
 fi
 
 perl $dirname/2chproxy.pl/2chproxy.pl &
 
 # Run Siki binary
 "$dirname/$appname" "$@"
 
 # Stop 2chproxy.pl
 $dirname/2chproxy.pl/2chproxy.pl --kill


最後に、Sikiを起動して、読み込み用プロキシおよび書き込む用プロキシを設定する。

  1. メインメニュー[ファイル] - [設定]を選択する。
  2. [設定]画面が開くので、[ワークスペース]から[読み込み用プロキシ]項目と[書き込む用プロキシ]項目に、以下に示す値を入力する。
    127.0.0.1:8080 または localhost:8080


proxy2chを使用する場合

https://prokusi.wiki.fc2.com/wiki/proxy2ch

proxy2chをビルドするために必要な依存関係のライブラリをインストールする。

sudo zypper install libcurl-devel pthread-stubs-devel libopenssl-devel libopenssl-1_1-devel libgnutls-devel


proxy2chの公式Webサイトから、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf v<バージョン>.tar.gz
cd v<バージョン>


proxy2chをビルドする。

make -j $(nproc)


proxy2chをSiki等の5chブラウザのインストールディレクトリにコピーする。

cp proxy2ch README.md <Sikiのインストールディレクトリ>


Sikiの起動スクリプトを作成する。

vi ~/InstallSoftware/Siki/Siki.sh
chmod u+x /<Sikiのインストールディレクトリ>/Siki.sh


 # /<Sikiのインストールディレクトリ>/Siki.shファイル
 
 #!/usr/bin/env sh
 
 appname="Siki_<Sikiのバージョン>.AppImage"
 
 # use -f to make the readlink path absolute
 dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
 
 if [ "$dirname" = "." ]; then
    dirname="$PWD/$dirname"
 fi
 
 # Run proxy2ch
 $dirname/proxy2ch/proxy2ch -4 -g -a '<ユーザエージェント名>' &
 
 # Run Siki binary
 "$dirname/$appname" "$@"
 
 # Terminate the proxy.
 killall $dirname/proxy2ch/proxy2ch


Siki等の5chブラウザを起動して、読み込み用プロキシおよび書き込む用プロキシを設定する。

  • Sikiの場合
    1. メインメニュー[ファイル] - [設定]を選択する。
    2. [設定]画面が開くので、[ワークスペース]から[読み込み用プロキシ]項目と[書き込む用プロキシ]項目に、以下に示す値を入力する。
      localhost:9080


共通

Sikiのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/Siki.desktop


# ~/.local/share/applications/Siki.desktopファイル

[Desktop Entry]
Type=Application
Name=Siki <Sikiのバージョン>
GenericName=Siki
Comment=5ch Browser
Exec=/home/<ユーザ名>/InstallSoftware/Siki/Siki.sh
Icon=/home/<ユーザ名>/InstallSoftware/Siki/Siki.png
Terminal=false
Categories=Network;
Keywords=Network;Internet;5ch;
StartupNotify=true
MimeType=


Sikiの設定

Sikiを2chProxyに接続するため、Sikiのメイン画面左下にある[設定] - [ワークスペース設定]を選択する。

[Workspace ReadProxy](読み込み用Proxy)項目を、127.0.0.1:8080に設定する。
[WorkSpace ReadUserAgent]項目および[WorkSpace WriteUserAgent]項目を、Mozilla/5.0に設定する。(UserAgentは任意で変更してもよい)

5chの任意の板リストを取得するには、Sikiのメイン画面上にあるアドレスバーへ板のURLを入力して、[Enter]キーを押下する。

例. 電気電子板 : https://rio2016.5ch.net/denki/subback.html

また、Sikiのメイン画面左にあるディレクトリマークを選択すると、掲示板リストが開閉できる。

書き込みを行う場合は、Sikiのメイン画面右下にある[書き込み欄を開く]を押下して、レスを記述する。


JDim

パッケージ管理システムからインストール

パッケージ管理システムからインストールしたJDimは、2chproxy.plファイルを使用してもスレッドの書き込みができない。
そのため、必ずソースコードからビルドする必要がある。

ソースコードからインストール

JDimのビルドに必要な依存関係のライブラリをインストールする。

# RHEL
sudo dnf install gtkmm30-devel gnutls-devel libSM-devel libtool automake autoconf-archive

# SUSE
sudo zypper install automake autoconf-archive libtool gtkmm3-devel gnutls-devel libSM-devel wayland-devel wayland-protocols-devel

# PinePhone (Mobian)
sudo apt install autoconf autoconf-archive dh-autoreconf automake autotools-dev m4 autoconf-archive libltdl-dev libtool \
                 gnutls-bin libgnutls-dane0 libopts25 libunbound8 libgnutls30 libgnutlsxx30 libgnutls28-dev \
                 libgmp-dev libgmpxx4ldbl libgnutls-openssl27 libidn2-dev libp11-kit-dev libtasn1-6-dev libtasn1-doc nettle-dev \
                 gir1.2-atspi-2.0 libatk-bridge2.0-dev libatk1.0-dev libatkmm-1.6-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev \
                 libdatrie-dev libepoxy-dev libfribidi-dev libgdk-pixbuf-2.0-dev libgdk-pixbuf2.0-bin libglibmm-2.4-dev libgraphite2-dev libgtk-3-dev \
                 libgtkmm-3.0-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev liblzo2-2 libpango1.0-dev libpangomm-1.4-dev libsigc++-2.0-dev libsm-dev \
                 libthai-dev libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev \
                 libxinerama-dev libxrandr-dev libxrender-dev libxtst-dev pango1.0-tools x11proto-input-dev x11proto-randr-dev x11proto-record-dev \
                 x11proto-xext-dev x11proto-xinerama-dev libwebp7 libwebp-dev libavif-bin libavif-dev libmigemo1 libmigemo-dev

# PinePhone (Manjaro)
sudo pacman -S --needed autoconf autoconf-archive automake m4 libtool gnutls libtasn1 unbound gmp openssl libidn2 nettle at-spi2-core at-spi2-atk atk atkmm \
                        cairo cairomm pango pangomm libdatrie libproxy fribidi gdk-pixbuf2 glibmm graphite gtkmm3 harfbuzz lzo libice libsigc++ libsm \
                        libthai libxcb xcb-proto xcb-util xcb-util-renderutil xcb-util-cursor xcb-util-image \
                        libxcomposite libxcursor libxdamage libxext libxfixes libxft libxi libxinerama libxrandr libxtst libx11 \
                        libwebp libavif \
                        gtest  # Mesonを使用してビルドする場合


JDimのGithubにアクセスして、JDimのソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf JDim-v<バージョン>.tar.gz
cd JDim-v<バージョン>


または、git cloneコマンドを使用して、JDimのソースコードをダウンロードする。

git clone -b master --depth 1 https://github.com/JDimproved/JDim.git JDim
cd JDim


JDimをビルドおよびインストールする。

# configureスクリプトを使用する場合
autoreconf -i

mkdir build && cd build

../configure --prefix=<JDimのインストールディレクトリ> --with-pangolayout --with-tls=gnutls --with-native 
make -j $(nproc)
make install

# MesonおよびNinjaを使用する場合
cd JDim

meson --prefix=<JDimのインストールディレクトリ> \
      -Dalsa=enabled -Dpangolayout=enabled -Dnative=enabled -Dmigemo=enabled -Dtls=gnutls \
      -Dbuild_tests=disabled \
      ./build
ninja -j $(nproc) -C ./build
ninja -C ./build install


もし、configureスクリプトの実行中に、AX_CXX_COMPILE_STDCXX(17, noext, mandatory)等のエラーが出力される場合、
autoconf-archiveライブラリをインストールして、autoreconf -iを再実行する。
autoconf-archiveライブラリが存在しない場合、または、再び同様のエラーが出力される場合は、以下に示す手順を実行する。

  1. まず、configure.acファイル内の"AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])"の行を削除する。
  2. 次に、autoreconf -iコマンドを実行して、configureスクリプトを生成する。
  3. 最後に、makeコマンドの実行時に、CXXFLAGS+="-std=c++17"オプションを付加する。
    例 : make CXXFLAGS+="-std=c++17" -j $(nproc)


次に、2chproxy.plの動作に必要なライブラリをインストールする。

# SUSE
sudo zypper install libhttp-daemon-perl liblwp-protocol-https-perl libyaml-tiny-perl

# PinePhone Mobian
sudo apt install libhttp-daemon-perl liblwp-protocol-https-perl libyaml-tiny-perl

# PinePhone Manjaro
sudo pacman -S perl-http-daemon perl-lwp-protocol-https perl-yaml perl-yaml-tiny


2chproxy.plをダウンロードする。

cd ~/InstallSoftware
git clone https://github.com/yama-natuki/2chproxy.pl.git 2chproxy


ダウンロードした2chproxy.plディレクトリにあるjd.shファイルを、以下に示すように編集する。

# 2chproxy.plファイルのパスを記述
PROXY="/<2chproxyのインストールディレクトリ>/2chproxy.pl"

# JDimの実行ファイルのパスを記述
JD="/<JDimのインストールディレクトリ>/bin/jdim"


JDimのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/JDim.desktop


[Desktop Entry]
Type=Application
Name=JDim User-Build
Comment=JDim is a 2ch browser based on gtkmm3.
Exec=/<2chproxyのインストールディレクトリ>/jd.sh
Icon=/<JDimのインストールディレクトリ>/share/icons/hicolor/48x48/apps/jdim.png
Terminal=false
Categories=Network;Internet;
Keywords=2ch;5ch;jd;bbs;


PinePhoneの場合、以下に示すJDimの実行に必要なライブラリをインストールする。

# PinePhone Mobian
sudo apt install cmigemo-common libatkmm-1.6-1v5 libcairomm-1.0-1v5 libglibmm-2.4-1v5 libgtkmm-3.0-1v5 libmigemo1 libonig5 libpangomm-1.4-1v5 libsigc++-2.0-0v5 nkf skkdic

# PinePhone Manjaro
sudo pacman -S atkmm cairomm glibmm gtkmm3 pangomm oniguruma libsigc++ skk-jisyo skktools


JDimの設定

JDimのメイン画面から、[設定] - [ネットワーク] - [プロキシ設定]を選択する。

  • 2ch読み込み用
    • [使用する]チェックボックス
      チェックを入力する。
    • ホスト名
      localhostと入力する。
    • ポート番号
      8080

  • 2ch書き込み用
    • [使用する]チェックボックス
      チェックを入力する。
    • ホスト名
      localhostと入力する。
    • ポート番号
      8080


次に、JDimのメイン画面から、[設定] - [about:config 高度な設定]を選択する。

  • 2chのクッキーを保存する
    [はい]を選択する。
  • 2chのクッキー
    yuki=akariと入力する。


その他

もし、スレッドを読み込めない場合は、JDimのメイン画面にある[設定]メニューバー - [ネットワーク] - [IPv6使用]チェックボックスをオフにして、
/etc/sysctl.confファイルに、以下の設定を追記する。

sudo nano /etc/sysctl.conf


net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


/etc/sysctl.confファイルの設定を反映させるため、以下のコマンドを実行する。

sudo sysctl -p


初期設定では、メニューバーが非表示になっている場合がある。
メニューバーを表示するには、[F8]キーを押下することにより、メニューバーの表示 / 非表示の切り替えができる。