VPS sunucunuza kurduğunuz Squidi terminale bağlanmadan pythonla yönetmeye yarayan basit bir sistem oluşturdum beyler.
Resimde gördüğünüz işlemleri yapabiliyorsunuz, hattınız Turkcell ise internet paketiniz olmasına da gerek yok.
Kurulum
Sunucuda python kurulu değilse (Digital Ocean'da kendiliğinden kurulu olmuyor galiba ama Aruba'da öyle bi durum yok.) yüklemek için terminale şu kodu yazın.
Sistemin sunucu ayağını halletmek için terminale şu kodları yazın.
Sistemin standart olarak dinlediği port 3129, isterseniz bunu /usr/local/bin/rmgmt_sunucu.py dosyasından değiştirebilirsiniz. dinle = 3129 yazan satırdaki 3129u değiştirmeniz yeterli. terminalden de dosyayı hiç açmadan şu komutla portu değiştirebilirsiniz.
Bunları yaptıktan sonra şu kodları terminale yazınca sunucu ayağı tamamlanmış oluyor.
Telefonunuzdan yada bilgisayarınızdan bu sisteme erişmek için kullanacağınız kod ise bu.
3. satırı kendi sunucunuza ve başta belirlediğiniz porta göre değiştirdikten sonra istediğiniz zaman scripti çalıştırıp sunucudaki Squidi yönetebilirsiniz.
Resimde gördüğünüz işlemleri yapabiliyorsunuz, hattınız Turkcell ise internet paketiniz olmasına da gerek yok.
Kurulum
Sunucuda python kurulu değilse (Digital Ocean'da kendiliğinden kurulu olmuyor galiba ama Aruba'da öyle bi durum yok.) yüklemek için terminale şu kodu yazın.
Kod:
apt install python
Sistemin sunucu ayağını halletmek için terminale şu kodları yazın.
Kod:
curl -L -o /etc/systemd/system/rmgmt.service bit.ly/2jWW1qM
curl -L -o /usr/local/bin/rmgmt_sunucu.py bit.ly/2liiSJR
chmod +x /usr/local/bin/rmgmt_sunucu.py
Sistemin standart olarak dinlediği port 3129, isterseniz bunu /usr/local/bin/rmgmt_sunucu.py dosyasından değiştirebilirsiniz. dinle = 3129 yazan satırdaki 3129u değiştirmeniz yeterli. terminalden de dosyayı hiç açmadan şu komutla portu değiştirebilirsiniz.
Kod:
sed -i 's/dinle = 3129/dinle = yeni-port/' /usr/local/bin/rmgmt_sunucu.py
Bunları yaptıktan sonra şu kodları terminale yazınca sunucu ayağı tamamlanmış oluyor.
Kod:
systemctl start rmgmt
systemctl enable rmgmt
Telefonunuzdan yada bilgisayarınızdan bu sisteme erişmek için kullanacağınız kod ise bu.
PHP Kod:
#-*-coding:utf-8;-*-
sunucu = ('deneme.com', 3129)
from contextlib import closing
from socket import socket
def yeni_baglanti() :
baglanti = socket(2, 1)
baglanti.connect(sunucu)
return baglanti
def istek_yolla(istek, olumsuzsa_bitir) :
with closing(yeni_baglanti()) as baglanti :
baglanti.sendall(istek)
cevap = ord(baglanti.recv(1))
if cevap :
print 'Yok, olmadı bu.'
if olumsuzsa_bitir :
exit()
else :
print 'Tamamdır.'
def acik_portlar() :
portlar = []
with closing(yeni_baglanti()) as baglanti :
baglanti.sendall(chr(1))
s = ord(baglanti.recv(1))
for _ in range(0, s) :
veri = baglanti.recv(2)
portlar.append(ord(veri[0]) << 8 | ord(veri[1]))
return portlar
def port_secimi() :
portlar = acik_portlar()
secenekler = ''
s = 0
for port in portlar :
secenekler += '\t%d %d\n' % (s, port)
s += 1
while 1 :
secim = int(raw_input(secenekler))
if secim < len(portlar) :
return portlar[secim]
else :
print 'Geçersiz bi seçim yaptın.'
if __name__ == '__main__' :
print 'Bağlanıyor...'
istek_yolla(chr(0), True)
while 1 :
komut = int(raw_input('Ne yapmak istiyorsun ?\n\t1 Yeni port ekle\n\t2 Varolan portu kaldır\n\t3 Varolan portu yenisiyle değiştir\n\t4 Squid\'i yeniden başlat\n\t0 Çıkış\n'))
if komut :
if komut == 1 :
print 'Açık portlar', acik_portlar()
p = int(raw_input('Eklemek istediğin portu yaz.\n'))
istek_yolla('%s%s%s' % (chr(2), chr(p >> 8), chr(p & 255)), False)
elif komut == 2 :
print 'Kaldırmak istediğin portu seç.'
p = port_secimi()
istek_yolla('%s%s%s' % (chr(3), chr(p >> 8), chr(p & 255)), False)
elif komut == 3 :
print 'Değiştirmek istediğin portu seç.'
p1 = port_secimi()
p2 = int(raw_input('Yeni portu yaz.\n'))
istek_yolla('%s%s%s%s%s' % (chr(4), chr(p1 >> 8), chr(p1 & 255), chr(p2 >> 8), chr(p2 & 255)), False)
elif komut == 4 :
istek_yolla(chr(5), False)
else :
print 'Geçersiz bi seçim yaptın.'
else :
exit()
3. satırı kendi sunucunuza ve başta belirlediğiniz porta göre değiştirdikten sonra istediğiniz zaman scripti çalıştırıp sunucudaki Squidi yönetebilirsiniz.