![]() |
|
|||||||
| Betriebssysteme Linux, Debian, Suse und was es sonst noch so gibt; hier werden alle allgemeinen Fragen beantwortet |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 37
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Um von Linux irgendetwas ins UseNet zu posten braucht man immer eine Reihe von Software für die es keine GUI gibt oder man nutzt Windows Programme mittels wine.
Da ich wie bestimmt einige andere auch einen Linux Server habe sowie einen UseNet Account (und da hin und wieder auch mal was uppe) Bisher musste ich immer auf Windows Tools Zurückgreifen (WinRar, Quickpar, Yenc PP) für Linux gibt es diese Tools als Kommandozeilenversion jedoch ohne grafische GUI. Da das ganze auch Ziemlich langwierig ist (Rar Archive, Par2 Dateien) muss man immer drauf achten ob das ganze schon fertig ist Um das ganze zu automatisieren hab ich in den letzten Tagen ein Shellscript zusammengeschustert. Musste zwar Stundenlang Google massakrieren aber gut ding braucht Weile Zum Anfang braucht man etwas Software Debian/Ubuntu mit root Rechten Code:
apt-get update && apt-get install rar par2 newspost 32 Bit Code:
wget http://nl.archive.ubuntu.com/ubuntu/pool/universe/n/newspost/newspost_2.1.1-4_i386.deb dpkg -i newspost_2.1.1-4_i386.deb Code:
wget http://nl.archive.ubuntu.com/ubuntu/pool/universe/n/newspost/newspost_2.1.1-4_amd64.deb dpkg -i newspost_2.1.1-4_amd64.deb ![]() und nun zum Script Code:
#Defaultparameter
# NNTP Daten
NNTP_User=""
NNTP_Pass=""
NNTP_Host=""
NNTP_Port="119"
#Emailadresse
Email=""
Name=""
#Verzeichnisse
TMP_Folder="/home/uploads/"
File=$PWD
#Sonstiges
Delete_after=true
Autopost=true
Newsgroup="alt.binaries.mom"
NFO=false
Part_Size="10m"
Par2_Size="10"
Block_Size="384000"
Subject="Kein Betreff"
echo "UseNet Autoposter V1.2 by Zero111:"
#Usage
Usage="
$0 [args]
Alle Werte sind optional. Bei weglassen werden die im Script gesetzten
Standartwerte genommen
--help / --? Zeigt diese Hilfeseite an
--File=[] Datei/Verzeichnis das gepostet werden soll
--Output=[] Dateisuffix des Archivs
--Newsgroup=[] Newsgroup in der gepostet werden soll
--NFO=[] Pfad und Dateiname der NFO
--NNTP-Host=[] Adresse des NNTP Server
--NNTP-User=[] NNTP Login Name
--NNTP-Pass=[] NNTP Passwort
--NNTP-Port=[] NNTP Port
--Email=[] Absender Email
--Name=[] Ihr Name
--Subject=[] Betreff/Titel
--no-delete-TMP Verhindert das Löschen der Temporär angelegten Daten
--no-autopost Verhindert das Autoposten
--no-create-rar Keine Rar Dateien erstellen
--no-create-par Keine Par2 Dateien erstellen
--TMP-Folder=[] Setzen eines TMP Verzeichnis
--Part-Size=[] Größe der Rar Archive
--Par2-Size=[] Größe der Wiederherstellungsdaten in %
--Block-Size=[] Par2 Blockgröße"
#Parameter verarbeiten
if [ $# -ne 0 ]; then
params="${*}"
name=" "
while test ${#name} -gt 0; do
xstring=${params#* }
name=${params%$xstring}
name=${name% }
if test ${#name} -gt 0; then
param=$name
else
param=$params
fi
params=$xstring
typeset -u bez
bez=`echo "$param" | cut -d'=' -f 1`
wert=`echo "$param" | cut -d'=' -f 2`
case $bez in
--HELP | --?) echo "$Usage" ; exit 1;;
--FILE) File=$wert;;
--OUTPUT) Output=$wert;;
--NNTP-USER) NNTP_User=$wert;;
--NNTP-PASS) NNTP_Pass=$wert;;
--NNTP-HOST) NNTP_Host=$wert;;
--NNTP-PORT) NNTP_Port=$wert;;
--EMAIL) Email=$wert;;
--SUBJECT) Subject=$wert;;
--NAME) Name=$wert;;
--TMP-FOLDER) TMP_Folder=$wert;;
--NO-DELETE-TMP) Delete_after=false;;
--NO-AUTOPOST) Autopost=false;;
--NEWSGROUP) Newsgroup=$wert;;
--NFO) NFO=$wert;;
--PART-SIZE) Part_Size=$wert;;
--PAR2-SIZE) Par2_Size=$wert;;
--BLOCK-SIZE) Block_Size=$wert;;
--NO-CREATE-RAR) no_rar=true;;
--NO-CREATE-PAR) no_par=true;;
*) echo "Unbekannter Parameter $bez Benutze $0 --help für die Hilfe"; exit 1;;
esac
done
fi
echo "Verarbeite Daten..."
echo "Scanne $File ..."
echo -n "Vorhanden und Leserecht: "
if [ -r $File ]; then
echo "OK"
else
echo "FAIL"; exit -1
fi
echo -n "Dateityp: "
if [ -d $File ]; then
file_isdir=true
count=`du -a $File | wc -l`
echo "Verzeichnis ($count Elemente)"
else
file_isdir=false
echo "Datei"
fi
echo -n "Prüfe ob TMP Verzeichnis existiert und beschreibar ist: "
if [ -d $TMP_Folder -a -w $TMP_Folder ]; then
echo "OK"
else
echo "FAIL"; exit -1
fi
echo -n "Prüfe NFO: "
if [ -f $NFO ]; then
NFO_OK=true
echo "OK"
else
NFO_OK=false
echo "Keine NFO gefunden, keine angebeben oder keine Leserechte"
fi
echo -n "Verarbeite Archivsuffix: "
if [ -n "$Output" ]; then
echo "Verwende angegebene Archivsuffix: $Output"
else
Output=`basename $File`
echo "Kein Suffix angegeben. Verwende $Output"
fi
echo "Alles Okay"
if [ "$NFO_OK" = "true" ]; then
echo -n "Kopiere angegebene NFO... "
CP $NFO $TMP_Folder
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Die NFO konnte nicht kopiert werden"
exit 1
else
echo "OK"
fi
fi
if [ "$no_rar" != "true" ]; then
echo -n "Erstelle Rar Archiv... "
rar a $TMP_Folder$Output.rar -v$Part_Size -m0 $File -inul -r
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Beim Erstellen des Archives ist ein Fehler aufgetreten"
exit 1
else
echo "OK"
fi
else
echo -n "Kopiere Daten... "
if ($file_isdir == "true"); then
CP --no-clobber $File* $TMP_Folder
else
CP --no-clobber $File $TMP_Folder
fi
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Fehler beim Kopieren der Daten"
exit 1
else
echo "OK"
fi
fi
if [ "$no_par" != "true" ]; then
echo -n "Erstelle Par2 Wiederherstellungsdateien... (Kann was dauern) "
par2create -q -q -s$Block_Size -r$Par2_Size $TMP_Folder*
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Beim Erstellen der Wiederherstellungsdateien ist ein Fehler aufgetreten"
exit 1
else
echo "OK"
fi
fi
if [ "$Autopost" != "true" ]; then
echo "Bereit zum Upload."
echo -n "Upload starten? "
typeset -u answer
read answer
case $answer in
JA | J | YES | Y) Autopost=true;;
NEIN | N | NO | *) Autopost=false;Delete_after=false;;
esac
fi
if [ "$Autopost" = "true" ]; then
echo "Beginne Upload ..."
newspost -i $NNTP_Host -u $NNTP_User -p $NNTP_Pass -z $NNTP_Port -c $Output.sfv -f $Email -n $Newsgroup -F $Name -y -s $Subject $TMP_Folder*
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Beim Posten der Daten ist ein Fehler aufgetreten"
exit 1
else
echo "Upload OK"
fi
fi
if [ "$Delete_after" != "true" ]; then
echo "Vorgang erfolgreich abgeschlossen"
echo -n "Temporäre Dateien entfernen? "
typeset -u answer
read answer
case $answer in
JA | J | YES | Y) Delete_after=true;;
NEIN | N | NO | *) Delete_after=false;;
esac
fi
if [ "$Delete_after" = "true" ]; then
echo -n "Lösche Temporäre Daten ..."
rm $TMP_Folder*
if [ $? -ne 0 ]; then
echo "FAIL"
echo "Fatal Error: Beim Löschen der Daten ist ein Fehler aufgetreten"
exit 1
else
echo "OK"
fi
fi
echo "Alles Fertig"
Das Script mittels chmod 755 ausfürbar machen Wer das Script global verfügbar haben will kann es einfach in Verzeichnis /usr/bin kopieren/verschieben Wenn man korrekte Defaultwerte gesetzt reicht einfach ein Code:
autopost #ihr Scriptname Code:
autopost --help //Edit Da der Parser hier immer das Script zerhackt ist die Datei im Anhang hochgeladen
__________________
Ge?ndert von Zero111 (04.05.2011 um 18:39 Uhr) |
|
|
|
| Folgende 9 Benutzer sagen Danke zu Zero111 für den nützlichen Beitrag: | $iMpLy (04.05.2011), D@rk-€vil™ |
|
|
#2 | |||||||||||
|
Erfahrener Benutzer
Registriert seit: 06.12.2008
Ort: /dev
Beitr?ge: 433
Abgegebene Danke: 12
Erhielt 77 Danke für 8 Beiträge
Downloads: 10
Uploads: 0 Nachrichten: 331 Renommee-Modifikator:
792 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Es gibt auch grafische clients. In Massen sogar. Ein Usenet Client heißt Newsreader und die gibts für Linux definitiv schon länger als für Windows...
|
|||||||||||
|
|
|
|
|
#3 |
|
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 37
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ich rede nicht von Clients..
Clienten können idr nur Binaries lesen oder in Text Groups antworten schreiben Ich rede hier vom Upload der Binärdaten und da ist für Linux noch Rar Folgendes ist zzt UseNet "Standart" Dateien in WinRar Teil Archiven je 10-15MB (dazu braucht man in Windows WinRar, Linux: rar) Dazu 10% Wiederherstellungsinformationen (fall die Server mal wieder Mist bauen was sehr häufigpassiert) (Windows: QuickPar, Linux: par2create) Zum Uploaden des ganzen Mist benötigt man unter Windows Yenc PowerPost, unter Linux newspost Hab für diese Linuxtools keine GUI gefunden und ich hab das Script extra auf Kommandozeilenebene belassen damit auch Serverbesitzer ohne GUI das Tool benutzen können Ins UseNet uploaden mit 100Mbit ist schon ne feine Sache
__________________
|
|
|
|
|
|
#4 | |||||||||||
|
Erfahrener Benutzer
Registriert seit: 06.12.2008
Ort: /dev
Beitr?ge: 433
Abgegebene Danke: 12
Erhielt 77 Danke für 8 Beiträge
Downloads: 10
Uploads: 0 Nachrichten: 331 Renommee-Modifikator:
792 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
hmm ok überredet
|
|||||||||||
|
|
|
|
|
#5 | |||||||||||
|
König
Registriert seit: 06.09.2008
Ort: Da wo der Himmel neun schlägt...
Beitr?ge: 1.630
Abgegebene Danke: 253
Erhielt 1.103 Danke für 139 Beiträge
Downloads: 89
Uploads: 3 Nachrichten: 3824 Renommee-Modifikator:
3462 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
dann schau dir ma JBinUp an ^^
damit kann man des ganze auch machen ^^
__________________
Chaosqueen: Gegen unseren DDos Schutz hat keiner ne Chance.
Ich: Träum mal schön weiter du Naive Person. ![]() |
|||||||||||
|
|
|
|
|
#6 |
|
Ausbilder Schmidt
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 37
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter
Downloads: 43
Uploads: 1 Nachrichten: 3942 Renommee-Modifikator:
10 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
zwei dinge stören mich dran:
Java und benötigt eine GUI
__________________
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1) | |
|
|