Moai+Easter アナウンスメント

Moai Manual Advanced Manual Annoucement FAQ

はじめに

このアナウンスメントでは我々Moai開発チームより皆様へ、主に以下に関する情報をお知らせします.

  • Moaiの次期バージョンの開発状況.
  • Moaiの最新バージョンで追加された新機能.
  • Moaiの全般的な特徴についてなど.
  • その他連絡事項等.
現在のMoaiの最新バージョンは2.2 です.
(Moai Ver2.2は2019年11月22日にリリースされました).
尚、Ver1.0系列(Ver1.1.8以前)の配布およびサポートは既に終了しております.


目次



Moai 次期バージョンの開発状況

次期バージョンMoai Ver2.3( コードネーム Raraku )のリリースに向け、現在開発中です.
次回のバージョンでは以下の新機能の導入や修正等を予定しています.

プログラミング言語Raraku
Moai独自のプログラミング言語Raraku(Ver1.0)を搭載します.
これは以下のようなものになる予定です.
  • マルチプラットフォームな静的型付け言語である.
  • ソースコード(拡張子rrksのファイル)はRaraku コンパイラにより Raraku オブジェクトファイル(拡張子rrko)にコンパイルされる.
  • 複数のRarakuのコードを一つのライブラリや実行ファイル(rrkx)へリンクできる.
  • Raraku rrkxファイルは Raraku VM というスタック型仮想マシン上で動作する.
  • Web上からRarakuの開発が行えるUIを提供(Raraku Studio).
  • Raraku BIRDという仕組みを用いてHTML内にRaraku言語を埋め込み実行させることで、高度に柔軟なドキュメントを自動生成したり(Rongorongo)、
    CGIにおいて動的な処理ができる(Dynamic Raraku BIRD).
  • Moai CGIとして使う場合、Raraku BIRDを用いるか、rrkxファイルをCGIとして実行する形となる.
  • C言語等で書かれた動的ライブラリ(DLLやSOファイル)によって機能を拡張できる(Raraku Extens).
    これにより、RanoCGI(Moaiで使っているCGIのライブラリ)やSDL、OpenGL、Windows APIなどの関数をRaraku上から実行させることもできる.
この言語はこれ自体で単独のアプリなどの開発と実行をも行うことができますが、 Moaiシステムの観点からはMoai CGIの開発などをこれを用いて行えるようにすることが当面の主な狙いとなります.
また、MoaiのBBS用pluginやフィルタ処理はVer2.3ではRarakuによって記述され直されています.
ユーザはCコンパイラをわざわざインストールしなくてもRaraku Studioとテキストエディタさえあればこれらの開発や修正を行うこともできます.



目次に戻る

Moai 最新バージョンの新機能および修正内容

Moai最新版リリース( Ver2.2.3 コードネーム ResponsiveStone ) での新機能、仕様ならびに不具合の修正等は以下のようになります.

Ver2.2.3(Android APK版のみ提供となります*)
Android AArch64アーキテクチャ環境(arm64-v8a)およびAndroid 6.0以降(Runtime Permission)への対応

この環境において、Moaiシステム全体が未対応であったためにEasterやVirtualUSERSの起動に失敗する不具合が発生していました.
また、moai_profileディレクトリの生成に失敗したり、あるいはディレクトリ内への書き込みが許可されないことが原因で、 VirtualUSERSで生成されたフィルターデータの保存に失敗する不具合が発生していました.
この不具合を修正しました.
この問題(Issues 1)の解決にあたっては daikaimon 様に不具合報告と動作確認等をご協力頂きました. この場を借りてお礼申し上げます.

Moai for Androidの起動画面において、Moai TopやEaster、VirtualUSERSなどを直接ブラウザで開くボタンを追加

今まで通り Moai for Android の画面を隠してからブラウザを開き、127.0.0.1:8124 へアクセスすることでも動作するのですが、 ユーザへの利便性を若干改善すべく、画面内にMoai TopやEaster、VirtualUSERSをブラウザで直接開けるボタンを配置しました.
このボタンを押すだけで自動的にブラウザが起動し、127.0.0.1:8124 へアクセスできます.
Ver2.2.2
MoaiCGI起動に関する不具合の修正

Moai Ver2.2.1 Android APK版 において、動的ライブラリのシンボリックリンクの生成処理に誤りがあったため、 このライブラリに依存するようなすべてのMoaiCGI(たとえばEasterやVirtualUSERSなど)の起動に失敗する重大な不具合を修正しました.
(この不具合は重大なため、旧Ver2.2.1 のapkのリンクも既に不具合のないものへと差し替えてあります).

ふたばちゃんねるの各種機能に関する不具合の修正

Easterにおいて、ふたばちゃんねるの「手書き」、「レス削除」、「del」が正常に機能しない不具合がありましたが、 これが正常に機能するよう修正しました.

ふたばちゃんねるのカタログdel機能に関する修正

Easterにおいて、ふたばちゃんねるの新機能「カタログからのdel」が正常に機能するよう修正しました.
Ver2.2.1
ふたばちゃんねるの引用機能追加に関する修正

ふたばちゃんねるの新機能として引用ポップアップ等が実装されましたが、 Easterを介するとこれに関する表示の乱れ等が発生したため、これを修正.
また引用部分やEマークをマウスクリックすることにより、Easter独自の引用ポップアップが表示されるようにしました.
Ver2.2
Androidに関する既存の問題点の大幅な修正

Moai Ver2.1以前ではAndroid 5.0( Lollipop )以降におけるMoai起動の不具合などが確認されていました.
この不具合が全面修正されています.
また Moai Ver2.1以前ではAndroidで使用する場合ターミナルエミュレータを使う必要がありましたが、 Moai Ver2.2ではそれを不要とし、通常のアプリ同様apkファイルをタップすることでインストールを可能とし、 アイコンをタップすることでMoaiを起動可能となっています.
ただしapkファイルのGoogle Play経由での配布はせず、Moai公式サイトからこれをダウンロードする形となります.
またレスポンシブデザインの導入により、スマホでのユーザーマニュアルやツールの画面の見やすさ、使いやすさが改良されています.

目次に戻る

Moai の全般的な特徴

Moaiの基本的な特徴についてはこちらを参照してください.


moaiが起動中は、あなたのマシンはローカルなプロキシサーバとウェブサーバとして同時に機能します.
特にMoai Ver2.0では後者が重要な役割を果たします. ウェブサーバの大きな役割は2つあります.

一つ目は、ブラウザからURL指定を行うことにより、アクセス先のサーバ内に置かれたHTMLや画像などを閲覧できるようにすることです.
Moaiの場合、ブラウザから例えば http://127.0.0.1:8124/*.html や http://127.0.0.1:8124/*.jpg といったURL指定によりmoaiディレクトリ配下のdoc_rootに置かれたHTMLや画像などを閲覧することができます(他にもいくつか規則があります).

二つ目は、ブラウザからURL指定を行うことにより、アクセス先のサーバ内に置かれたCGIスクリプトなどを実行させ、その結果をブラウザへ送信することです.
Moaiの場合でもこれが可能で、これを Moai CGI と呼び、Moaiとは独立した単独のWebアプリケーションとして機能します.
また、その気になればあなたがCGIスクリプトを独自に開発し、それをMoai CGI上で実行させることもできます.

目次に戻る

旧バージョン1.1.8をご使用の方へ

古くよりこのツールにお付き合い頂きありがとうございます.
Moai Ver2.0以降は、基本的に旧バージョン1.1.8とは全く互換性がない別のアプリケーションとお考え下さい.
以下では、1.1.8から2.0以降でMoaiがどのように変わったのか、その概略を説明します.

まず旧 Moai 1.1.8 で仮想環境を実現するためにあなたが行わなければならないステップは以下でした.
  1. 最初にmoaiというプログラムを一つ起動します.
  2. あなたの好きなブラウザにて「プロキシの設定」ダイアログを開き、ローカルプロキシを経由させるための設定を行います.
  3. そのブラウザよりネット掲示板などへアクセスします.
一方 Moai 2.0 以降で仮想環境を実現するためにあなたが行わなければならないステップは以下です.
  1. 最初にmoaiというプログラムを一つ起動します.
  2. あなたの好きなブラウザより普通に http://127.0.0.1:8124 へアクセスします.
  3. そのブラウザより表示される画面のリンク(Easter)よりネット掲示板などへアクセスします.
いかがでしょうか?
Moai2.0 ではブラウザにて「ローカルプロキシの設定」を行っておく必要がありません.
ただし毎回必ず http://127.0.0.1:8124 というURLより開かれる画面から始める必要があります.
毎回このURLを打ち込むのも面倒ですので、このURLをブックマークしておくとよいでしょう.


その他、VirtualUSERSについても Ver2.0以降では CustomBoyという新型の仮想環境構築エンジンを使っており、
このエンジン下では user_agent.txt は廃止され、User-Agentは CustomBoy の知識ベースおよび確率的アルゴリズムによって無から自動的に構築されます.
そしてそのランダム化のアルゴリズムはより強力なものに改良されています.


旧バージョン1.1.8は既にサポートを終了しております.
この機会に是非とも最新バージョンのMoaiを新規インストールして頂ければと思います.

実はバージョン2.0以降でも旧来通りMoaiをローカルプロキシとして使うこともできます.
ローカルプロキシの場合は基本的にどのようなサイトにでも常に機能するという強力さがあります.
一方、バージョン2.0で導入されたEasterを使って仮想環境を実現する場合、 その適用範囲はEasterがサポートするサイトに限られます.

目次に戻る

ライセンス

Moai本体およびそれに付随するシステムのうち、我々Moai開発チームが開発したものに関しては、そのライセンスはすべてNYSL(煮るなり焼くなり好きにしろ)とします.
厳密に言えば、このシステムに含まれるzlib、libresslについてはそれぞれが規定したライセンスに従うものとなりますが、これらのライセンスもNYSLと基本的に競合せず、その主張に大差はないとは思います.

尚、このシステム内のすべてのソースコードにおいては、そのライセンスがGPLおよびLGPLであるようなものは一切含まれておりません.
また将来のバージョンにおいてもそのようなものを含める予定はありません.

現時点での公式のソースリポジトリは https://github.com/mr-moai-2016/znk_project ですが再配布はご自由にどうぞ.

目次に戻る

免責事項

本ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます.
本ソフトウェアの使用によって生じるいかなる損害についても、作者は一切の責任を負わないものとします.

This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising
from the use of this software.

目次に戻る

謝辞

Moai開発にあたっては、勿論参考としたツールがあります.
Polipoというツールがそれにあたりますが、これもCで記述されたオープンソースです.
Polipoは非常に優れたローカルプロキシであり、多くの部分を参考にさせてもらいました.
この場を借りてJuliusz Chroboczek氏には感謝致します.
ポート番号8123はPolipoで使われていたものであり、それに敬意を表しMoaiではこれに続く後輩という意味で8124をデフォルトポートとしました.

目次に戻る

This article was written by:
none image

Mr.Moai

@znk project