Synology-Forum.nl

Tweaks / Addons A.K.A. The Underground => 3rd party apps integratie in DSM => Topic gestart door: wizjos op 08 oktober 2008, 15:34:09

Titel: Linux Command reference
Bericht door: wizjos op 08 oktober 2008, 15:34:09
Dit script maakt een lijst van alle op de Syno beschikbare Linux commandos. Als je met de muis boven een commando staat, wordt - voor zover beschikbaar - een korte helptext getoont. Als je op het commando klikt, wordt een referentie-pagina - voor zover beschikbaar - van linux.die.net getoond. Daar lees je dan, wat je "in principe" (Synology doet het wel eens op geheel eigen wijze :( )met het Linux commando kunt.  Het is in ieder geval een goed naslagwerk.

De codes:

application.cfg:
text = Commands
description = Linux-Commands Reference
type = embedded
path = /phpsrc/commands/commands.cgi

commands.cgi NB. Bijgewerkt met de beveiliging van Merty. Zie http://synology.nl/forum/viewtopic.php?f=83&t=2274.:
#!/bin/ash
# if not admin or no user at all...no authentication...so, bye-bye
user=$(/usr/syno/synoman/webman/modules/authenticate.cgi);
if [ "$user" !=  "admin" ] ;
then
  echo "Content-type: text/html"
  echo ""
  echo "<HTML><HEAD><TITLE>Login Required</TITLE></HEAD><BODY>Please login as admin first, before using this webpage</BODY></HTML>"
  exit
fi
cat <<EOT
Content-type: text/html

<html><head><title>Commands</title>
<style>body,a{text-decoration:none;font:12px Verdana;padding:2px}</style></head><body>
<h3>Commands</h3>/bin/<br>
EOT
for f in /bin/* ; do
TITLE=$(${f##*/} --help 2>&1 | egrep -v 'invalid|^$|BusyBox')
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${f##*/}" title="$TITLE">${f##*/}</a>
EOT
done
echo "<br>/sbin/<br>"
for f in /sbin/* ; do
TITLE=$(${f##*/} --help 2>&1 | egrep -v 'invalid|^$|BusyBox')
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${f##*/}" title="$TITLE">${f##*/}</a>
EOT
done
echo "<br>/usr/syno/bin/<br>"
for f in /usr/syno/bin/* ; do
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${f##*/}">${f##*/}</a>
EOT
done
echo "<br>/usr/syno/sbin/<br>"
for f in /usr/syno/sbin/* ; do
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${f##*/}">${f##*/}</a>
EOT
done
echo "<br>/opt/bin/<br>"
for f in /opt/bin/* ; do
FN=${f##*/}
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${FN##*-}">${FN##*-}</a>
EOT
done
echo "<br>/opt/sbin/<br>"
for f in /opt/sbin/* ; do
FN=${f##*/}
cat <<EOT
<a target="_blank" href="http://linux.die.net/man/1/${FN##*-}">${FN##*-}</a>
EOT
done
echo "</body></html>"

En dat ziet er dan zo uit:
(http://94.212.224.81/images/syno/commands.jpg)

Vergeet niet het cgi bestand als uitvoerbaar te flaggen (chmod 755 commands.cgi).

Veel plezier er mee! :D

Wizjos
Titel: Re: Linux Command reference
Bericht door: wizjos op 25 oktober 2008, 21:52:38
Code is bijgewerkt met de beveiliging van Merty.

Groet,

Wizjos
Titel: Re: Linux Command reference
Bericht door: zdDog op 17 juni 2009, 23:47:44
Hi

is er standaard geen /usr/syno/apache/cgi-bin ?

commands.cgi wordt niet gevonden, maar als ik voor test alles verander in index.php, ook in @appstore dan wordt de file wel gevonden

ik heb genoemde dir dus niet; moet ik iets met ipkg eerst installeren?
Titel: Re: Linux Command reference
Bericht door: wizjos op 18 juni 2009, 13:34:44
Ha zdDog,

Er is idd. geen dir. /usr/syno/apache/cgi-bin...
Maar (uit 3rd party apps handleiding), .cgi bestanden moeten met een chmod 755 bestandsnaam.cgi uitvoerbaar worden geflagged.
Heb je dat wel gedaan?
Wat ook belangrijk is, is of je je .cgi bestand hebt aangemaakt via Windows: indien ja, dan heb je hoogstwaarschijnlijk aan het einde van alle regels een ^M-teken staan. Haal deze ook weg!

Groet,

Wizjos
Titel: Re: Linux Command reference
Bericht door: zdDog op 18 juni 2009, 20:45:21
yes thanks, die ^M was het probleem...now working ;)