20190507_jeffrey - silenceuncrio/diary GitHub Wiki

0910

先 verify 一下 M330 CTCU profile 的 web ui 狀況

網頁都有客製化成 M300 上 CTCU 的樣式

HTTPS 連線約有 10% 不到的機率 CGI 會死掉造成點選了 menu 沒有反應

1010

繼續 M300 的 feature/lighttpd

1025

今年上半年的績效 我自評 82 主管評 84

1035

終於做出一點我想要的樣子

commit ff96561cace6d84466980e744c1646edb2210c0c
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date:   Tue May 7 10:37:47 2019 +0800

    porting status.cgi
    - cgi - /cgi-bin/status.cgi?act=status
    - fcgi - /fcgi-bin/iweb.fcgi?app=status?act=status

 proscend/prosrc/fcgi/Makefile     |   2 +-
 proscend/prosrc/fcgi/app.h        |   3 +
 proscend/prosrc/fcgi/app_status.c | 493 ++++++++++++++++++++++++++++++++++++++
 proscend/prosrc/fcgi/iweb.c       |   7 +-
 proscend/prosrc/fcgi/jweb.c       |   8 +
 proscend/prosrc/fcgi/jweb.h       |   1 +
 6 files changed, 510 insertions(+), 4 deletions(-)

有了這一支 fcgi 我就可以來試一下 lighttpd 的 URL rewrite

1400

lighttpd 搭配以下的 config

...
server.modules              = (
                                "mod_rewrite",
#                               "mod_redirect",
...
                                "mod_accesslog" )
...
#### url handling modules (rewrite, redirect, access)
url.rewrite-once = ( "^/xxx$" => "/fcgi-bin/iweb.fcgi" )
...

確定在網址列輸入 192.168.1.1/xxx

會去執行 192.168.1.1/fcgi-bin/iweb.fcgi

1450

url rewrite 暫時搞定

commit 86876cea73a1984a86785280b30a7aea95f1a92c
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date:   Tue May 7 14:48:36 2019 +0800

    use lighttpd url rewrites to rewrite cgi-related request to fcgi-related request, for ex.
    - before rewrite: REQUEST_URI="/cgi-bin/status.cgi?act=status"
    - after rewrite:  REQUEST_URI="/fcgi-bin/iweb.fcgi?app=status&act=status"

 .../recipes-extended/lighttpd/lighttpd_1.4.36.bbappend       |  3 ++-
 .../default/rootfs/home/factory/icos/lighttpd/lighttpd.conf  | 12 ++++++++----
 2 files changed, 10 insertions(+), 5 deletions(-)

目前搭配的 config 如下

...
server.modules              = (
                                "mod_rewrite",
#                               "mod_redirect",
...
                                "mod_accesslog" )
...
#### url handling modules (rewrite, redirect, access)
url.rewrite-once = (
  "^/cgi-bin/([a-zA-Z]+).cgi$" => "/fcgi-bin/iweb.fcgi?app=$1",
  "^/cgi-bin/([a-zA-Z]+).cgi\?act=([a-zA-Z]+)$" => "/fcgi-bin/iweb.fcgi?app=$1&act=$2"
)

1540

按照 web 的順序前進

System > Time and Date

一點選後觸發的 CGI 為 /cgi-bin/sntp.cgi?act=config

這會回 401 讓 javascript 顯示 login 畫面

我先來把 sntp.cgi porting 到 iweb.fcgi 來

commit d289870f3ddb822e8bc7636ab08800f6fe111092
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date:   Tue May 7 16:04:17 2019 +0800

    porting status.cgi
    - cgi - /cgi-bin/status.cgi?act=status
    - fcgi - /fcgi-bin/iweb.fcgi?app=status?act=status

 proscend/prosrc/fcgi/Makefile     | 2 +-
 proscend/prosrc/fcgi/app.h        | 5 +++++
 proscend/prosrc/fcgi/app_status.c | 2 ++
 proscend/prosrc/fcgi/iweb.c       | 6 +++++-
 4 files changed, 13 insertions(+), 2 deletions(-)

再來又是難題了

需要 implement session