forked from hummypkg/webif
33 lines
659 B
Plaintext
33 lines
659 B
Plaintext
|
#!/mod/bin/jimsh
|
||
|
|
||
|
package require cgi
|
||
|
source /mod/var/mongoose/lib/setup
|
||
|
require chunked pretty_size
|
||
|
|
||
|
cgi_input
|
||
|
#cgi_dump
|
||
|
|
||
|
set file [cgi_get file "/tmp/hosts"]
|
||
|
if {$file eq "-"} { exit }
|
||
|
|
||
|
start_chunked
|
||
|
|
||
|
if {![file exists $file]} {
|
||
|
chunk ">>> File $file does not exist.\r\n"
|
||
|
} else {
|
||
|
set type [exec /mod/bin/file --brief --mime-type --dereference $file]
|
||
|
if {![string match {text/*} $type]} {
|
||
|
chunk ">>> File $file is not a plain file ($type)"
|
||
|
} elseif {[file size $file] > 102400} {
|
||
|
chunk ">>> File $file is too large."
|
||
|
chunk ">>> [pretty_size [file size $file]]"
|
||
|
} else {
|
||
|
set fp [open $file r]
|
||
|
chunk [read $fp]
|
||
|
close $fp
|
||
|
}
|
||
|
}
|
||
|
|
||
|
end_chunked
|
||
|
|