26 Haziran 2025 15:53

Muslu Y.

Ubuntu

Ubuntu, WonderShaper kurulum ve yapılandırma ile HIZ limitlemek.

Anasayfa

Ubuntu

Ubuntu, WonderShaper kurulum ve yapılandırma ile H...

Ubuntu veya Debian üzerinde WonderShaper kurulumu yapıp, upload ve download hızlarını limitlemek.

Örneğin; FTP servisi kurup, sunucuya bağlananların dosyaları çekerken sunucudan çıkış hızını ve bağlananların hızlarını limitlemeye yarar.

Renklendirilen satırları komple seçip, boş dosyaya taşıdıktan sonra .sh ekledikten sonra chmod +x dosyadi.sh komutu ile çalıştırmaya hazırlayabilirsiniz.

sudo chmod +x wondershaper_hiz_limitle.sh
./wondershaper_hiz_limitle.sh

Kurulumu kaldırmak için:
./wondershaper_hiz_limitle.sh sil

#!/bin/bash
# Oluşturulma Tarihi: 26.06.2025 14:45
# Yazar: muslu
# Açıklama: Wonder Shaper kurulum ve yapılandırma scripti

# Argümanları al
args=("$@")

# Genellikle kullanılan yolları tanımla
WONDERSHAPER_BIN_PATH="/usr/local/sbin/wondershaper"
WONDERSHAPER_CONF_PATH="/etc/systemd/wondershaper.conf"
WONDERSHAPER_SERVICE_PATH="/usr/local/lib/systemd/system/wondershaper.service"

# Çıkış mesajı
EXIT_MSG="\e[41;37mBu script, sudo veya root yetkileriyle çalıştırılmalıdır.!!\e[0m"
SUCCESS_MSG="\e[41;37mYapılandırma tamamlandı...\e[0m"
REMOVE_MSG="\e[41;37mWonder Shaper Network Limitlendirme servis kaldırıldı.!!\e[0m"

# Ekranı temizle
clear

# Superuser kontrolü
if [ "$EUID" -ne 0 ]; then
  echo -e "$EXIT_MSG"
  echo
  echo
  exit 1
fi

# Wonder Shaper’i kaldır
if [ "${args[0]}" ] && [ "${args[0]}" == "sil" ]; then
  systemctl disable --now wondershaper.service >/dev/null 2>&1
  systemctl stop wondershaper.service >/dev/null 2>&1
  rm -rf $WONDERSHAPER_BIN_PATH
  rm -rf $WONDERSHAPER_CONF_PATH
  rm -rf $WONDERSHAPER_SERVICE_PATH
  echo -e "$REMOVE_MSG"
  echo
  echo
  systemctl daemon-reload
  exit
fi

# Kurulum kontrolü
if [ -f "$WONDERSHAPER_BIN_PATH" ]; then
  echo -e "\e[41;37mWonder Shaper zaten kurulu, yalnızca hız limit ayarları yapılandırılacak.\e[0m"
  echo
  echo
else
  echo
  echo -e "\e[41;37mWonder Shaper Network Limitlendirme hızlı kurulum scripti çalıştırılıyor...\e[0m"
  echo
  echo
  sleep 1

  # Gerekli araçları yükle
  apt install git -yqq
  cd /tmp
  git clone https://github.com/magnific0/wondershaper.git
  cd wondershaper
  make install
fi

# Ekranı temizle ve arayüz ayarlarına başla
clear
echo
echo

# Mevcut ağ arayüzlerini göster
int=$(ip addr show | awk ’/inet.*brd/{print $NF}’)
echo -e "\e[34mMevcut Interfaceler:\e[0m"
echo "$int"
echo
echo

# Kullanıcıdan geçerli bir giriş alana kadar sor
while true; do
  read -p $’\e[34mLütfen Interface adını giriniz: \e[0m’ intname
  if echo "$int" | grep -qw "$intname"; then
    break
  else
    echo -e "\e[41;37mGeçersiz arayüz adı, lütfen listeden birini seçiniz.\e[0m"
  fi
done

# İndirme ve yükleme hızlarını al
read -p $’\e[34mLütfen atayacağınız indirme hızını Mbit türünden giriniz (Örn: 100): \e[0m’ download_speed
if [ -z "$download_speed" ]; then
  download_speed=’100’
fi

read -p $’\e[34mLütfen atayacağınız yükleme hızını Mbit türünden giriniz (Örn: 50): \e[0m’ upload_speed
if [ -z "$upload_speed" ]; then
  upload_speed=’50’
fi

# Saniyede indirilen veri boyutunu hesapla
download_size_mb_per_sec=$(echo "$download_speed * 0.125" | bc)

# Kullanıcıya hız bilgilerini göster
echo -e "\e[41;37mDownload Limit           :            $download_speed MBps\e[0m"
echo -e "\e[41;37mUpload Limit             :            $upload_speed MBps\e[0m"
echo -e "\e[41;37mSaniyede yaklaşık        :            $download_size_mb_per_sec MB\e[0m"

# Hız verilerini Kb/s cinsinden hesapla
DSPEED=$(( download_speed * 1024 ))
USPEED=$(( upload_speed * 1024 ))

# Konfigürasyon dosyasını oluştur
echo "[wondershaper]
IFACE=’$intname’
DSPEED=’$DSPEED’
USPEED=’$USPEED’" > $WONDERSHAPER_CONF_PATH

echo
echo
echo
echo

# Daemon reload ve servisi başlat
systemctl daemon-reload >/dev/null 2>&1
systemctl enable --now wondershaper >/dev/null 2>&1
systemctl restart wondershaper >/dev/null 2>&1
echo "...."


# Başarı mesajını göster
echo
echo -e "$SUCCESS_MSG"
echo
echo

Ubuntu

hakkında diğer konular

Makdos Bilişim Teknolojileri 2015 - 2025