OpenVpn Client script

 ( heckles04 | 2017. október 18., szerda - 0:19 )

Kellet egy script, hogy kényelmesebben tudjam elindítani a vpn-t.

Úgy döntöttem összedobok valamit Pythonban.

Mivel szeretnék Shell parancsokat is használni, kellet egy import os, abból is főként a system.os().

Aztán felmerült egy olyan probléma hogy, ha nem rendszergazda ként futtatom az Openvpn-t, akkor nem jön létre a kapcsolat.
Az openvpn azonban erre nem figyelmeztet semmilyen módon. Szóval szeretném ezt is meg tenni.(checkSudo())

Kb ezzel le is tudva a script.

Jöhet a console:

[heckles@casterly-rock ~]$ sudo mkdir /opt/OpenVpn && cp start_vpn.py /opt/OpenVpn
[heckles@casterly-rock ~]$ sudo nano /opt/OpenVpn/start.sh

A file tartalma:


#!/bin/bash

python /opt/OpenVpn/start_vpn.py

Még két parancs

[heckles@casterly-rock ~]$ sudo chmod +x start_vpn.py start.sh
[heckles@casterly-rock ~]$ sudo ln -s /opt/OpenVpn start.sh /bin/startvpn

A python script:


#!/usr/bin/env python # így felesleges a shell script. Thanx for E-medve && LovagX
import os
def checkSudo():
if os.geteuid() != 0:
exit("You need to have root privileges to run this script.\nPlease try again, this time using 'sudo'. Exiting.")
else:
return True
def connectVpn():
if (checkSudo()):
print ("hello world ")
cmd = 'openvpn /opt/OpenVpn/CasterlyRock.ovpn'
os.system(cmd)

def main():
connectVpn()

if __name__ == "__main__":
main()

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Bash szkript nélkül is megy, a python szkript legelső sorába - az import sor elé - írd be: #!/usr/bin/python (vagy ahol épp a python van)

inkabb:
#!/usr/bin/env python

Jogos, viszont most megyek és főzök egy kávét.

Uhh köszönet mindkettőtöknek, ezt nem tudtam.
-------------------------------------------------------------------------
Nem, de lehetne.

Tudom, hogy a fun része nem az, hogy minél egyszerűbb legyen, hanem inkább próbálgatni a pythont, de ehhez szerintem egy shell alias is elég :)

alias startvpn='sudo openvpn /opt/OpenVpn/CasterlyRock.ovpn'

Vagy ugyanugy beleirod egy shellscriptbe :)
--
HUP Firefox extension | Hupper hibajelentés

Igen, az elsődleges cél a python tanulása volt.

Az előző script még ennyit se tudott.

from random import *

def main():
rand = randint(1,6)
print(rand)
if __name__ == "__main__":
main()

-------------------------------------------------------------------------
Nem, de lehetne.

[subscribe]