milisia-ag-sistemi
This commit is contained in:
		
							parent
							
								
									ee897b362b
								
							
						
					
					
						commit
						d1bba40c1b
					
				
					 1 changed files with 141 additions and 0 deletions
				
			
		
							
								
								
									
										141
									
								
								bin/mas
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										141
									
								
								bin/mas
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,141 @@
 | 
			
		|||
#! /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"
 | 
			
		||||
 | 
			
		||||
[ ! -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
 | 
			
		||||
 | 
			
		||||
aygit_ekle(){
 | 
			
		||||
	mkdir -p /dev/net &&
 | 
			
		||||
	mknod /dev/net/tun c 10 200 &&
 | 
			
		||||
	chmod 0666 /dev/net/tun	
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 "$@"
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue