123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #! /bin/bash
- # milisia ağ sistemi (mas) bash tabanlı konsol uygulaması.
- # milisarge <milisarge@gmail.com> 2017
- surum="0.0.1"
- surumbilgi=" <milisarge@gmail.com> 2017"
- anayer="/opt/milisia"
- servis="cjdroute"
- servisk="cjdns"
- pingkontrol="fcf4:e309:14b5:5498:cafd:4f59:4b9c:7f84" # hia.cjdns.ca
- ayardosya="ayarlar/milisia_genel.conf"
- noktadepo="noktalar"
- nokta_adres="https://github.com/milisarge/$noktadepo"
- aygit_ekle(){
- mkdir -p /dev/net &&
- mknod /dev/net/tun c 10 200 &&
- chmod 0666 /dev/net/tun
- }
- [ ! -d $anayer ] && mkdir -p $anayer
- [ ! -d $anayer/ayarlar ] && mkdir -p $anayer/ayarlar
- [ ! -c /dev/net/tun ] && aygit_ekle
- [ ! -f /usr/bin/$servis ] && mps kur $servisk
- [ ! -f /usr/bin/json ] && json_kur
- json_kur(){
- curl -L https://github.com/trentm/json/raw/master/lib/json.js > /usr/bin/json && chmod +x /usr/bin/json
- }
- baslat(){
- cjdroute < $anayer/$ayardosya
- }
- durdur(){
- echo "servis durduruluyor"
- killall -9 cjdroute
- echo "servis durduruldu"
- }
- olustur(){
- if [ ! -f $anayer/$ayardosya ]; then
- cjdroute --genconf | cjdroute --cleanconf > $anayer/$ayardosya
- echo "ayar dosyası oluşturuldu"
- else
- echo "zaten ayar dosyası mevcut!"
- echo "yeniden oluşturmak için --zo kullanın"
- fi
- }
- yeniden_olustur(){
- mv $anayer/$ayardosya $anayer/$ayardosya-"`date +%m-%d-%y.%H%M%S`"
- cjdroute --genconf | cjdroute --cleanconf > $anayer/$ayardosya
- echo "ayar dosyası oluşturuldu"
- }
- genel_kimlik(){
- cat $anayer/$ayardosya | egrep -m 1 '"publicKey"' | awk -F '"' '{ print $4 }'
- }
- ozel_kimlik(){
- cat $anayer/$ayardosya | egrep -m 1 '"privateKey"' | awk -F '"' '{ print $4 }'
- }
- ipv6_al(){
- #grep -Eo '"ipv6" :.*?[^\\]",' $ayardosya | awk '{print $3}' ;;
- #cat $ayardosya | json.js ipv6
- cat $anayer/$ayardosya | egrep -m 1 '"ipv6"' | awk -F '"' '{ print $4 }'
- }
- nokta_ekle(){
- if [ ! -f $anayer/$ayardosya ]; then
- olustur
- fi
- ipadres="`json -f $1 -Ma key | sed -n 1p`"
- icerik="`json -f $1 -Ma value`"
- json -I -f $anayer/$ayardosya -e 'this.interfaces.UDPInterface[0]["connectTo"]["'$ipadres'"]='"$icerik"' '
- }
- depo_guncelle(){
- if [ ! -d $anayer/$noktadepo ];then
- git clone $nokta_adres $anayer/$noktadepo
- else
- cd $anayer/$noktadepo
- git pull
- cd -
- fi
- }
- rpc_sifre(){
- cat $anayer/$ayardosya | json admin.password
- #cat $ayardosya | egrep -m 3 '"password"' | awk -F '"' '{ print $4 }' | sed -n 1p
- }
- menu() {
-
- while [ "$1" ]; do
- case $1 in
- yeni|--o)
- olustur ;;
- zyeni|--zo)
- yeniden_olustur ;;
- basla|--b)
- baslat ;;
- yebas|--b)
- durdur && baslat ;;
- ping|--p)
- ping6 $pingkontrol ;;
- guncelle|--g)
- depo_guncelle ;;
- kimlik|--k)
- genel_kimlik ;;
- okimlik|--ok)
- ozel_kimlik ;;
- ip|--i)
- ipv6_al ;;
- ekle|--e)
- if [ ! "$2" ]; then
- echo "nokta ayar dosyası belirtin!"
- exit 1
- fi
- nokta_ekle $anayer/$noktadepo/$2 ;;
- sil|--s)
- if [ ! "$2" ]; then
- echo "nokta ayar dosyası belirtin!"
- exit 1
- fi
- nokta_sil $anayer/$noktadepo/$2 ;;
- rpcs|--rs)
- rpc_sifre ;;
- dur|--d)
- durdur ;;
- ekle|--e)
- peer_ekle "$2" ;;
- surum|--s)
- echo "$surum $surumbilgi" ;;
- esac
- shift
- done
- }
- menu "$@"
|