支持yoyo-getfastmirror(fastmirror还没上
transhell
This commit is contained in:
@@ -0,0 +1,10 @@
|
|||||||
|
Package: oyo
|
||||||
|
Version: 1.0
|
||||||
|
Maintainer: shenmo <shenmo@spark-app.store>
|
||||||
|
Priority: optional
|
||||||
|
Section: utils
|
||||||
|
Installed-Size:10
|
||||||
|
Depends: apt,curl
|
||||||
|
Description: Aptss for Yoyo OS
|
||||||
|
Architecture: all
|
||||||
|
Homepage: https://gitee.com/spark-community-works-collections/oyo
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ VERBOSE_OUTPUT=
|
|||||||
_DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} -i ${DLLIST} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} --connect-timeout=600 --timeout=600 -m0'
|
_DOWNLOADER='aria2c --no-conf -c -j ${_MAXNUM} -x ${_MAXCONPERSRV} -s ${_SPLITCON} -i ${DLLIST} --min-split-size=${_MINSPLITSZ} --stream-piece-selector=${_PIECEALGO} --connect-timeout=600 --timeout=600 -m0'
|
||||||
|
|
||||||
# Load config file.
|
# Load config file.
|
||||||
CONFFILE="/tmp/aptss-conf/apt-fast.conf"
|
CONFFILE="/tmp/oyo/apt-fast.conf"
|
||||||
#### Spark Store apt-fast conf is in /tmp
|
#### Spark Store apt-fast conf is in /tmp
|
||||||
if [ -e "$CONFFILE" ]; then
|
if [ -e "$CONFFILE" ]; then
|
||||||
source "$CONFFILE"
|
source "$CONFFILE"
|
||||||
140
OYO/opt/durapps/oyo/yoyo-getfastmirror/yoyo-getfastmirror
Executable file
140
OYO/opt/durapps/oyo/yoyo-getfastmirror/yoyo-getfastmirror
Executable file
@@ -0,0 +1,140 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
VERSION="kokomi"
|
||||||
|
|
||||||
|
TEST_NETCONNECT_HOST="www.baidu.com"
|
||||||
|
|
||||||
|
SOURCES_MIRRORS_FILE="/etc/yoyo-apt/sources_mirrors.list"
|
||||||
|
|
||||||
|
MIRRORS_SPEED_FILE="/etc/yoyo-apt/mirrors_speed.list"
|
||||||
|
|
||||||
|
SOURCES_MIRRORS_FILE_URL="https://packages.yzzi.icu/sources_mirrors.list"
|
||||||
|
|
||||||
|
function get_mirror_list()
|
||||||
|
{
|
||||||
|
wget $SOURCES_MIRRORS_FILE_URL --output-document=$SOURCES_MIRRORS_FILE
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_ping_speed() #return average ping $1 time
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
local speed=`ping -W1 -c1 $1 2> /dev/null | grep "^rtt" | cut -d '/' -f5`
|
||||||
|
|
||||||
|
echo $speed
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function test_mirror_speed() #
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
rm $MIRRORS_SPEED_FILE 2> /dev/null; touch $MIRRORS_SPEED_FILE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cat $SOURCES_MIRRORS_FILE | while read mirror
|
||||||
|
|
||||||
|
do
|
||||||
|
|
||||||
|
if [ "$mirror" != "" ]; then
|
||||||
|
|
||||||
|
echo -e "Ping $mirror c"
|
||||||
|
|
||||||
|
local mirror_host=`echo $mirror | cut -d '/' -f3` #change mirror_url to host
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local speed=$(get_ping_speed $mirror_host)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$speed" != "" ]; then
|
||||||
|
|
||||||
|
echo "Time is $speed"
|
||||||
|
|
||||||
|
echo "$mirror $speed" >> $MIRRORS_SPEED_FILE
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo "Connected failed."
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_fast_mirror()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
sort -k 2 -n -o $MIRRORS_SPEED_FILE $MIRRORS_SPEED_FILE
|
||||||
|
|
||||||
|
local fast_mirror=`head -n 1 $MIRRORS_SPEED_FILE | cut -d ' ' -f1`
|
||||||
|
|
||||||
|
echo $fast_mirror
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_sources()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
local COMP="main"
|
||||||
|
|
||||||
|
local mirror="$1"
|
||||||
|
|
||||||
|
local tmp=$(mktemp)
|
||||||
|
|
||||||
|
echo "deb $mirror $VERSION $COMP" >> $tmp
|
||||||
|
|
||||||
|
sudo mv "$tmp" /etc/apt/sources.list.d/yoyo-os.list
|
||||||
|
|
||||||
|
echo -e "Your sources has been updated.n";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
echo -e "nTesting the network connection.nPlease wait... c"
|
||||||
|
|
||||||
|
if [ "$(get_ping_speed $TEST_NETCONNECT_HOST)" == "" ]; then
|
||||||
|
|
||||||
|
echo -e "Network is bad.nPlease check your network."; exit 1
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
echo -e "Network is good.n"
|
||||||
|
|
||||||
|
mkdir -p /etc/yoyo-apt/
|
||||||
|
|
||||||
|
get_mirror_list
|
||||||
|
|
||||||
|
test -f $SOURCES_MIRRORS_FILE
|
||||||
|
|
||||||
|
if [ "$?" != "0" ]; then
|
||||||
|
|
||||||
|
echo -e "$SOURCES_MIRRORS_FILE is not exist.n"; exit 2
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
test_mirror_speed
|
||||||
|
|
||||||
|
fast_mirror=$(get_fast_mirror)
|
||||||
|
|
||||||
|
if [ "$fast_mirror" == "" ]; then
|
||||||
|
|
||||||
|
echo -e "Can't find the fastest software sources. Please check your $SOURCES_MIRRORS_FILEn"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
update_sources $fast_mirror
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
3
OYO/usr/share/oyo/transhell/en_US.transhell
Normal file
3
OYO/usr/share/oyo/transhell/en_US.transhell
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
TRANSHELL_CONTENT_FAILED_TO_GET_MIRROR_INFO="E:Failed to get mirror info. Now exit. "
|
||||||
|
|
||||||
Reference in New Issue
Block a user