slitaz-forge annotate ns/web/index.cgi @ rev 583
Add http://ns.slitaz.org/
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Dec 06 14:45:30 2014 +0100 (2014-12-06) |
parents | |
children | 55d3d10d8b93 |
rev | line source |
---|---|
pascal@583 | 1 #!/bin/sh |
pascal@583 | 2 |
pascal@583 | 3 # Get parameters with GET, POST and FILE functions |
pascal@583 | 4 . /usr/bin/httpd_helper.sh |
pascal@583 | 5 |
pascal@583 | 6 OWNERFILE=name.users |
pascal@583 | 7 ip="$(GET ip)" |
pascal@583 | 8 [ "$ip" ] || ip=$REMOTE_ADDR |
pascal@583 | 9 name="$(GET name)" |
pascal@583 | 10 name="${name%.by.slitaz.org}" |
pascal@583 | 11 if [ "$name" -a "$REMOTE_USER" ]; then |
pascal@583 | 12 if grep -qs ^$name $OWNERFILE ; then |
pascal@583 | 13 owner="$(sed "/^$name /!d;s/.* //" $OWNERFILE)" |
pascal@583 | 14 if [ "$owner" != "$REMOTE_USER" ]; then |
pascal@583 | 15 echo "$name is already used by $owner. Abort." |
pascal@583 | 16 exit 1 |
pascal@583 | 17 fi |
pascal@583 | 18 else |
pascal@583 | 19 echo "$name $REMOTE_USER" >> $OWNERFILE |
pascal@583 | 20 fi |
pascal@583 | 21 addip=yes |
pascal@583 | 22 case " $(GET) " in |
pascal@583 | 23 *\ remove\ *|*\ delete\ *|*\ wipe\ *) |
pascal@583 | 24 addip= |
pascal@583 | 25 sed -i "/^$name /d" $OWNERFILE |
pascal@583 | 26 esac |
pascal@583 | 27 req="server 127.0.0.1 |
pascal@583 | 28 update delete $name.by.slitaz.org A" |
pascal@583 | 29 [ "$addip" ] && req="$req |
pascal@583 | 30 update add $name.by.slitaz.org 900 A $ip" |
pascal@583 | 31 case " $(GET) " in |
pascal@583 | 32 *\ mx\ *) |
pascal@583 | 33 mx="$(GET mx)" |
pascal@583 | 34 [ "$mx" ] || mx=$ip |
pascal@583 | 35 req="$req |
pascal@583 | 36 update delete $name.by.slitaz.org MX" |
pascal@583 | 37 [ "$addip" ] && req="$req |
pascal@583 | 38 update add $name.by.slitaz.org 900 MX 10 $mx" |
pascal@583 | 39 esac |
pascal@583 | 40 echo "$req |
pascal@583 | 41 send" | nsupdate |
pascal@583 | 42 else |
pascal@583 | 43 #header "text/html; charset=utf-8" |
pascal@583 | 44 cat <<EOT |
pascal@583 | 45 <!DOCTYPE html> |
pascal@583 | 46 <html xmlns="http://www.w3.org/1999/xhtml"> |
pascal@583 | 47 <head> |
pascal@583 | 48 <title>SliTaz Name Server</title> |
pascal@583 | 49 <meta charset="utf-8" /> |
pascal@583 | 50 <link rel="shortcut icon" href="favicon.ico" /> |
pascal@583 | 51 <link rel="stylesheet" type="text/css" href="style.css" /> |
pascal@583 | 52 <style type="text/css"> |
pascal@583 | 53 #header h1 { |
pascal@583 | 54 margin: 0; |
pascal@583 | 55 padding: 8px 0 0 42px; |
pascal@583 | 56 width: 250px; |
pascal@583 | 57 } |
pascal@583 | 58 #logo { |
pascal@583 | 59 background: url(/images/logo.png) no-repeat left; |
pascal@583 | 60 position: absolute; |
pascal@583 | 61 float: left; |
pascal@583 | 62 left: 0px; |
pascal@583 | 63 top: 0px; |
pascal@583 | 64 width: 40px; |
pascal@583 | 65 height: 40px; |
pascal@583 | 66 } |
pascal@583 | 67 pre { font-size: 100%; } |
pascal@583 | 68 </style> |
pascal@583 | 69 </head> |
pascal@583 | 70 <body> |
pascal@583 | 71 |
pascal@583 | 72 <div id="header"> |
pascal@583 | 73 <div id="logo"></div> |
pascal@583 | 74 <div id="network"> |
pascal@583 | 75 <a href="http://www.slitaz.org/">Home</a> |
pascal@583 | 76 <a href="http://bugs.slitaz.org/">Bugs</a> |
pascal@583 | 77 <a href="http://hg.slitaz.org/wok/">Hg</a> |
pascal@583 | 78 <a href="http://forum.slitaz.org/">Forum</a> |
pascal@583 | 79 <a href="http://roadmap.slitaz.org/">Roadmap</a> |
pascal@583 | 80 <a href="http://pizza.slitaz.me/">Pizza</a> |
pascal@583 | 81 <a href="http://tank.slitaz.org/">Tank</a> |
pascal@583 | 82 </div> |
pascal@583 | 83 <h1><a href="./">SliTaz Name Server</a></h1> |
pascal@583 | 84 </div> |
pascal@583 | 85 |
pascal@583 | 86 <!-- Content --> |
pascal@583 | 87 <div id="content"> |
pascal@583 | 88 EOT |
pascal@583 | 89 if grep -qs " $REMOTE_USER$" $OWNERFILE; then |
pascal@583 | 90 cat <<EOT |
pascal@583 | 91 <h3>Status</h3> |
pascal@583 | 92 $REMOTE_USER has $(grep " $REMOTE_USER$" $OWNERFILE | wc -l) names |
pascal@583 | 93 the in by.slitaz.org domain. |
pascal@583 | 94 <pre> |
pascal@583 | 95 EOT |
pascal@583 | 96 for i in $(grep " $REMOTE_USER$" $OWNERFILE | sed 's/ .*//'); do |
pascal@583 | 97 grep "^$i " /etc/bind/by.slitaz.org |
pascal@583 | 98 done |
pascal@583 | 99 cat <<EOT |
pascal@583 | 100 </pre> |
pascal@583 | 101 |
pascal@583 | 102 Your current IP address is $REMOTE_ADDR |
pascal@583 | 103 EOT |
pascal@583 | 104 fi |
pascal@583 | 105 cat <<EOT |
pascal@583 | 106 <h3>Usage</h3> |
pascal@583 | 107 <pre> |
pascal@583 | 108 wget -O - "http://user:pass@ns.slitaz.org/?name=<name>[&remove][&ip=<ip1>][&mx[=<ip2>]]" |
pascal@583 | 109 </pre> |
pascal@583 | 110 <h3>Examples</h3> |
pascal@583 | 111 <ul> |
pascal@583 | 112 <li> |
pascal@583 | 113 Update myblog.by.slitaz.org with my current IP address. |
pascal@583 | 114 <pre> |
pascal@583 | 115 wget -O - "http://user:pass@ns.slitaz.org/?name=myblog" |
pascal@583 | 116 </pre> |
pascal@583 | 117 </li> |
pascal@583 | 118 <li> |
pascal@583 | 119 Update myblog.by.slitaz.org with the IP address 1.2.3.4. |
pascal@583 | 120 <pre> |
pascal@583 | 121 wget -O - "http://user:pass@ns.slitaz.org/?name=myblog&ip=1.2.3.4" |
pascal@583 | 122 </pre> |
pascal@583 | 123 </li> |
pascal@583 | 124 <li> |
pascal@583 | 125 Remove myblog.by.slitaz.org from the name server. |
pascal@583 | 126 <pre> |
pascal@583 | 127 wget -O - "http://user:pass@ns.slitaz.org/?name=myblog&remove" |
pascal@583 | 128 </pre> |
pascal@583 | 129 </li> |
pascal@583 | 130 <li> |
pascal@583 | 131 Update myserver.by.slitaz.org with my current IP address and declare the mail server btw. |
pascal@583 | 132 <pre> |
pascal@583 | 133 wget -O - "http://user:pass@ns.slitaz.org/?name=myserver&mx" |
pascal@583 | 134 </pre> |
pascal@583 | 135 </li> |
pascal@583 | 136 <li> |
pascal@583 | 137 Update myserver.by.slitaz.org with my current IP address and use the mail server at 1.2.3.4. |
pascal@583 | 138 <pre> |
pascal@583 | 139 wget -O - "http://user:pass@ns.slitaz.org/?name=myserver&mx=1.2.3.4" |
pascal@583 | 140 </pre> |
pascal@583 | 141 </li> |
pascal@583 | 142 </ul> |
pascal@583 | 143 </div> |
pascal@583 | 144 |
pascal@583 | 145 <div id="footer"> |
pascal@583 | 146 <a href="http://www.slitaz.org/">SliTaz Website</a> |
pascal@583 | 147 <a href="index.cgi">Name Server</a> |
pascal@583 | 148 </div> |
pascal@583 | 149 |
pascal@583 | 150 </body> |
pascal@583 | 151 </html> |
pascal@583 | 152 EOT |
pascal@583 | 153 fi |