ninix μȼĥˤĤ
==============================

SSTP (Sakura Script Transfer Protocol)
--------------------------------------

SEND/1.3 μ
- - - - - - - -

SEND/1.3  HWnd: إåϡꥸʥǤϥɥϥ
ֹɽޤninix μˤƤ Unix ɥᥤ󥽥
ȤΥɥ쥹 (Хѥ̾) ɽޤSSTP 饤Ȥϥꥯ
Ȥͽ Unix ɥᥤ󥽥åȤ³
դ֤ˤƤʤФʤޤ:

    SEND SSTP/1.3
    Sender: client.py
    HWnd: /tmp/.client-unix
    Script: \h\s[0]ĴҤɤ\n\n\q0[#a0][ޤޤ]\q1[#a1][ޥ]\m[wait]
    Entry: #a0,\m[OK]\h\s[0]ա\m[end]\e
    Entry: #a1,\m[NG]\h\s[0]ƨʥ衪\m[end]\e
    Charset: Shift_JIS

    [EOD]

SSTP ФϡHWnd: إåǻꤵ줿 Unix ɥᥤ󥽥åȤ
̤ƥץ˸줿 \m[] ΰ SSTP 饤Ȥ
֤ޤ嵭Ǻǽ褬Ф줿硢SSTP 
 /tmp/.client-unix ³ưʲΥǡޤ

    +wait\n
    +OK\n
    +end\n
    -\n

ǡϲʸ \n (ASCII  0x0a) Ƕڤ졢ƹԤϰĤ
ѥåȤɽޤѥåȤκǽΰʸϤΥѥåȤμ
ɽޤ

    +    \m[] ΰѥå
    -    ̿λΤѥå

\m[] ΰˤ Sakura Script ΥʳǤդʸϤ
ȤǤޤ%selfname ʤɤΥ᥿ʸŸ֤ޤ

EXECUTE/1.5
- - - - - -

SSTP ˳ĥꥯ EXECUTE/1.5 ɲäƤޤΥꥯ
Ȥ SSTP Фϥǡκɤ߹ߤ򳫻Ϥޤ:

    EXECUTE SSTP/1.5
    Sender: ninix-install
    Command: Reload
    Charset: Shift_JIS

    [EOD]

ɲä줿ޥɤϰʲ̤Ǥ

    Reload    ǡκɤ߹ߤ򳫻Ϥ

ΥꥯȤ SSTP ФưƤۥȤΤ뤳Ȥ
Ǥޤ¾ΥۥȤΥꥯȤФƤ 420 Refuse 
֤ޤ

SHIORI ĥ٥
-------------------

ʲγĥ٥ȤȯԤ褦ˤʤäƤޤ

OnNinixReloading  ǡκɤ߹ߤ򳫻Ϥ
OnNinixReloaded   ǡκɤ߹ߤλ

ץ饰
----------

ninix ѤΥץ饰 ninix-install ޥɤǥ󥹥ȡ뤹
ȤˤǤդεǽΤɲä뤳ȤǤޤ

ninix-install ޥɤǥ󥹥ȡǽʥեϡץ饰
 (¹Բǽʥץե)  plugin.txt եޤ
֥ե (zip ޤ lha ) Ǥ

plugin.txt ϥץ饰̾Τ䵯ưˡ򵭽Ҥƥȥե
Ǥʸɤ EUC-JP Ǥ:

    # sstpnews plugin 1.0
    name: SSTP News
    startup: sstpnews.py,--fetch
    menuitem: ˥塼ɤ,sstpnews.py,--fetch
    menuitem: С,sstpnews.py,--version

# ǻϤޤԤϥȤǤȹԤȶԤ̵뤵ޤ

name: إåϥץ饰̾ (̻) ɽޤΥإå
ɬܤǤ

startup: إåΤεư˰٤¹Ԥ륳ޥɤɽ
ޤ¹ԥե̾Ȱ򥳥 (,) ǶڤäƻꤷƲ
Υإåʣꤹ뤳ȤϤǤޤ

menuitem: إåΤαå˥塼ɲäܤɽ
˥塼ι̾¹ԥե̾򥳥ޤǶڤäƻ
ƲΥإåʣꤹ뤳ȤǤޤ

startup: إå menuitem: إåϤάǽǤ

ץ饰μ¹ԻΥȥǥ쥯ȥϼ¹ԥե֤줿
ǥ쥯ȥˤʤޤץ饰μ¹ԻˤϰʲδĶѿ
ꤵޤ

    NINIX_PID           (ƥץ) Υץ ID
    NINIX_SSTP_PORT    Ѳǽ SSTP ݡֹ (⤷̵
                       ʸ "none" ꤵ)
    NINIX_PLUGIN_DIR   ץ饰󤬳ǼƤǥ쥯ȥ

Τλȥץ饰Ф SIGHUP ʥ뤬ޤ
ץ饰󤬲򤷤ƤĽλ뤫ϥץ饰ԤμͳǤ

ץ饰ΤȤ̿ˤ SSTP ѤޤƱۥȾʣ
ΤưƤǽޤΤǡNINIX_SSTP_PORT ǻꤵ
줿ʳΥݡֹϻȤʤ褦ˤƲ

Python ٥⥸塼
-------------------

٥⥸塼 shiori.py Ȥե̾ǥȤΥ
ե뤳ȤˤꡢPython ٥⥸塼򼫺뤳
Ǥޤ

shiori.py ϰʲΥ⥸塼ؿʤФʤޤ

    list_dict(dir)
    եΥꥹȤ֤ΥꥹȤͿ줿ե
    ߤ󥹥ȡоݤȤʤ롣ꥹȤγǤϰǻꤵ
    ǥ쥯ȥ꤫ХѥǤʤФʤʤ

    open(dir, debug=0)
    ninix.shiori ⥸塼 Shiori 饹줿󥿡
    եĥ饹 (Shiori 饹Υ֥饹) Υ󥹥
    󥹤֤

ñʼʲ˼ޤ

----------------------------------------------------------------

import ninix.shiori

import time
import whrandom

def list_dict(dir):
    return []

def open(dir, debug=0):
    return Shiori(dir, debug)

class Shiori(ninix.shiori.Shiori):
    def get_event_response(self, event,
                           ref0=None, ref1=None, ref2=None, ref3=None,
                           ref4=None, ref5=None, ref6=None, ref7=None):
        if event in ["OnFirstBoot", "OnBoot"]:
            return "%usernameˤϡ"
        elif event == "OnMouseDoubleClick":
            return whrandom.choice(["ĤĤʤǲ", "Фޤ"])
        elif event == "OnMinuteChange":
            now = time.localtime(time.time())
            if now[4] == 0:
                return "%dǤ" % now[3]
            elif now[4] == 30:
                return "%dȾǤ" % now[3]
        return None
    def getstring(self, name):
        if name == "homeurl":
            return "http://localhost/nanika/"
        return None

----------------------------------------------------------------

$Id: extension.txt,v 1.1.1.1 2003/04/11 05:54:30 shy Exp $
