Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
laurivosandi
Moderaator
Moderaator


Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
estonia.gif
postituspostitatud: 03.10.2006, 20:11  postituse pealkiri:  sfget  

Sattusin midagi tõmbama SourceForgest ja peeglite valiku lehel tekkis mõte et miks mitte kirjutada wget najal skript mis valiks ise mirrori ja sikutaks sealt vajaliku faili.

Paigaldamine Ubuntus (toimib liiga suure tõenäosusega ka teistes distrotes ja ka BSDs):
Kood:
wget http://v6sa.pingviin.org/shared/progemine/bash/sfget
chmod 755 sfget
chown root:users sfget
sudo mv sfget /usr/bin/


Või minu APTi repo abil:

Kood:
sudo apt-get install sfget


Kasutamine - näiteks:
Kood:
# sfget http://prdownloads.sourceforge.net/phpbb/phpBB-2.0.21.tar.gz

Või
Kood:
# sfget --package phpbb/phpBB-2.0.21.tar.gz


Skripti sorts ka:
Kood:

#/bin/sh

# sfget - Utility for fetching files from SourceForge
# 3. oct 2006: Lauri Võsandi (v6sa@v6sa.pingviin.org)
# This script is licenced under GPL v2

# Mirrors:
mirror[0]=http://ufpr.dl.sourceforge.net
mirror[1]=http://superb-west.dl.sourceforge.net
mirror[2]=http://easynews.dl.sourceforge.net
mirror[3]=http://jaist.dl.sourceforge.net
mirror[4]=http://mesh.dl.sourceforge.net
mirror[5]=http://belnet.dl.sourceforge.net
mirror[6]=http://switch.dl.sourceforge.net

# SourceForge identification:
sf="http://prdownloads.sourceforge.net"

# Extract right parts from 1st command line argument:
url="$1"

if [ "X$url" == "X--package" ]; then               # Handle properly --package switch
  url="$sf/$2"
fi

dir=${url%/*}
host=${dir%/*}
package=/sourceforge/${dir##*/}/${url##*/}

if [ "X$url" == "X" ]; then
  echo "sfget - Commandline utility for downloading files from SourceForge"
  echo "Usage:   sfget $sf/x/y.z"
  echo "Or:      sfget --package x/y.z"
  exit 0
fi

if [ "X$host" != "X$sf" ]; then                    # Check wether argument is actually a SourceForge URL
  echo "This is not SourceForge URL!"
  exit 1                                           # Exit on non-SourceForge URL
fi

for i in ${mirror[@]}; do                           # Run through mirrors array
  echo "Trying mirror: $i"                          # Tell which mirror is being used
  wget -c $i$package                                # Receive file by WGET
  if [ $? = 0 ]; then                               # Check wether errorcode was zero (file was received successfully)
    exit 0                                          # Exit the script on true statement
  else
    echo ""                                         # Leave empty line for next mirror attempt
  fi
done

exit 1                                              # Couldn't receive file from any server, quitting with non-zero errorcode




Viimati muutis laurivosandi 04.10.2006, 16:46; muudetud 4 korda
antik
Pingviini aktivist
Pingviini aktivist



Liitunud: 25.08.2006
Postitused: 159


estonia.gif
postituspostitatud: 03.10.2006, 20:18  postituse pealkiri:  Re: sfget  

Ma soovitaks vaadata ka alternatiivina aria-t.

NB: originaalautori PBI link on nati vana- uus pakend on saadaval siit.


laurivosandi
Moderaator
Moderaator


Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
estonia.gif
postituspostitatud: 03.10.2006, 20:42  postituse pealkiri:  Re: sfget  

antik kirjutas:
Ma soovitaks vaadata ka alternatiivina aria-t.


Arvan et wgeti võib leida pea igast GNU/Linux või BSD kastist erinevalt ariast ning hetkel ei näe ma ühtegi mõjuvat põhjust et eelistada ariat wgetile kui on tarvis faile üle HTTP sikutada. wgeti -c võtme abil saab ka poolikut faili jätkata nii et see ka probleem pole


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group