status 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/sh
  2. model="$(lua -e 'print(require("platform_info").get_model())')"
  3. escape_html() {
  4. sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'
  5. }
  6. linknodes() {
  7. PREFIX=$(uci get network.local_node_route6.target | cut -d: -f 1-4)
  8. sed 's#\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\):\([0-9a-f]\{2\}\)#<a href="http://['$PREFIX':\1\2:\3ff:fe\4:\5\6]/">&</a>#g'
  9. }
  10. echo Content-type: text/html
  11. echo ""
  12. cat <<EOF
  13. <!DOCTYPE html>
  14. <html>
  15. <head>
  16. <title>$(cat /proc/sys/kernel/hostname)</title>
  17. </head>
  18. <body>
  19. EOF
  20. echo "<h1>$(cat /proc/sys/kernel/hostname)</h1>"
  21. echo "<pre>"
  22. echo "Model: $model" | escape_html
  23. echo "Firmware release: $(cat /lib/gluon/release | escape_html)"
  24. echo
  25. uptime | sed 's/^ \+//' | escape_html
  26. echo
  27. ip address show dev br-client | escape_html
  28. echo
  29. free -m | escape_html
  30. echo
  31. df /rom /overlay | escape_html
  32. echo "</pre>"
  33. echo "<h2>Neighbours</h2>"
  34. iw dev | grep IBSS -B 5 | grep Interface | cut -d' ' -f2 | while read if
  35. do
  36. echo "<h3>$if</h3>"
  37. echo "<pre>"
  38. iw dev $if link | escape_html
  39. echo
  40. iw dev $if station dump | escape_html | linknodes
  41. echo "</pre>"
  42. done
  43. cat <<EOF
  44. </body>
  45. </html>
  46. EOF