NetVision-Technik

Zur?ck   NetVision-Technik > Forum > Server > Betriebssysteme

Betriebssysteme Linux, Debian, Suse und was es sonst noch so gibt; hier werden alle allgemeinen Fragen beantwortet

Antwort
 
Themen-Optionen Ansicht
Alt 04.05.2011, 18:31   #1
Zero111
Ausbilder Schmidt
Letzte Erfolge
 
Benutzerbild von Zero111
 
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
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 Zero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes Ansehen
Standard UseNet Autoposter

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
sollte das Packet newspost nicht gefunden werden den Paketnamen entfernen und newspost manuell herunterladen und installieren:

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
64 Bit
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
Dann hätten wir alles an Software

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"
Am Script selber ist es nicht zwingend etwas einzutragen aber da man ja faul ist kann man dort diverse Defaultwerte eintragen

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
um das komplette Verzeichnis automatisch zu posten. Wer keine Zeit hat kann das ganze auch noch in ein Screen auslagern

Code:
autopost --help
zeigt die Hilfe ein. Die Parameter sollten eigentlich selbsterklärend sein

//Edit Da der Parser hier immer das Script zerhackt ist die Datei im Anhang hochgeladen
Angeh?ngte Dateien
Dateityp: txt autopost.txt (6,0 KB, 15x aufgerufen)
__________________

Ge?ndert von Zero111 (04.05.2011 um 18:39 Uhr)
Zero111 ist offline   Mit Zitat antworten Nach oben
Folgende 9 Benutzer sagen Danke zu Zero111 für den nützlichen Beitrag:
$iMpLy (04.05.2011), D@rk-€vil™ (04.05.2011), DoLo (05.05.2011), gotthummer (05.05.2011), Pikeman (19.07.2012), Schwamm (05.05.2011), sixtyseven (05.05.2011), synadari (25.12.2011), Thunder™ (04.05.2011)
Alt 04.05.2011, 23:17   #2
SP4C3
Erfahrener Benutzer
Punkte: 19.573, Level: 88 Punkte: 19.573, Level: 88 Punkte: 19.573, Level: 88
Levelaufstieg: 45% Levelaufstieg: 45% Levelaufstieg: 45%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von SP4C3
 
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:
791 SP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes Ansehen
Standard

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...
SP4C3 ist offline   Mit Zitat antworten Nach oben
Alt 04.05.2011, 23:29   #3
Zero111
Ausbilder Schmidt
Letzte Erfolge
 
Benutzerbild von Zero111
 
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter Themenstarter
Downloads: 43
Uploads: 1
Nachrichten: 3942
Renommee-Modifikator:
10 Zero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes Ansehen
Standard

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
__________________
Zero111 ist offline   Mit Zitat antworten Nach oben
Alt 04.05.2011, 23:39   #4
SP4C3
Erfahrener Benutzer
Punkte: 19.573, Level: 88 Punkte: 19.573, Level: 88 Punkte: 19.573, Level: 88
Levelaufstieg: 45% Levelaufstieg: 45% Levelaufstieg: 45%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von SP4C3
 
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:
791 SP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes AnsehenSP4C3 genießt hohes Ansehen
Standard

hmm ok überredet
SP4C3 ist offline   Mit Zitat antworten Nach oben
Alt 05.05.2011, 12:33   #5
D@rk-€vil™
König
Punkte: 90.825, Level: 100 Punkte: 90.825, Level: 100 Punkte: 90.825, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von D@rk-€vil™
 
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:
3461 D@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes AnsehenD@rk-€vil™ genießt hohes Ansehen
Standard

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.
D@rk-€vil™ ist offline   Mit Zitat antworten Nach oben
Alt 05.05.2011, 12:54   #6
Zero111
Ausbilder Schmidt
Letzte Erfolge
 
Benutzerbild von Zero111
 
Registriert seit: 30.10.2008
Ort: Essen (Ruhr) Ruhrpott4Ever :D
Alter: 36
Beitr?ge: 2.665
Abgegebene Danke: 107
Erhielt 1.644 Danke für 154 Beiträge
Themenstarter Themenstarter
Downloads: 43
Uploads: 1
Nachrichten: 3942
Renommee-Modifikator:
10 Zero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes AnsehenZero111 genießt hohes Ansehen
Standard

zwei dinge stören mich dran:

Java und benötigt eine GUI
__________________
Zero111 ist offline   Mit Zitat antworten Nach oben
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beitr?ge zu antworten.
Es ist Ihnen nicht erlaubt, Anh?nge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitr?ge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS