e-joint

teknux home page

Uno script Python per visualizzare lo stato di OpenVPN

Posted by teknux on October 18, 2007 at 10:48 AM

Durante alcuni esperimenti di sviluppo con ruby, ho trovato questo script per controllare lo stato di openvpn scritto in python. Considerato che mi serve proprio una funzionalità simile da implementare con ruby, il minimo che potevo fare è stato quello di provare quel codice e capirne il funzionamento. Peccato contenesse diversi errori e bugs fastidiosi, così l’ho corretto e modificato per farlo funzionare al minimo sindacale.
Potete scaricare il codice di openvpn-status. Consigli, critiche e commenti sono sempre ben accetti. Buon divertimento.

Hierarchy: previous, next

Comments

There are 4 comments on this post. Post yours →

Ciao, ti scrivo per farti sapere che openvpn ha un’interfaccia di amministrazione che ti consente di estrarre le stesse informazioni di questo script.
È attivabile con l’opzione—management su una porta a tua scelta e ci puoi comunicare attraverso le rete con del testo in chiaro (per ora).
Ti permette inoltre di controllare le connessioni attive e fermarle etc etc.

Ciao!

teknux:

I’m glad you found my script and found it useful. Unfortunately, I didn’t realize that Wordpress (my blog host) eats whitespace until just recently. I have moved the script to my website where it can now be downloaded. Any bugs that you thought you found were likely caused by indentation errors. I have diffed your version of the script against my original. I did not find any bug corrections at all. Mostly some style changes, such as replacing double quotes with singles. However, I did appreciate your feature adds: Allowing messages and pidof location to be easily specified. Also, that was a nice add of checking to make sure OpenVPN was actually running. Thanks again for your comments and addition to the script. Let me know if you want to work together on any future projects.

@Alessandro Gervaso: grazie per il consiglio. Avevo letto sulla documentazione di openvpn di questa interfaccia, ma ho voluto vedere se c’era uno script per una gestione soft da inserire in un lavoro leggermente più grande (di prossima pubblicazione, spero).

ciao a presto :)

@axelilly:
thanks for your interest :) I called the double quotes bugs even if I wasn’t sure about it :P
My goal is to port this script to ruby because I’m working on another project with openvpn inside. Your script was useful to understand how to do it :) Anyway I’m glad to contribute python code too :)

see you soon ;)

pretoriano

Dall’esecuzione del tuo script ottengo:

Traceback (most recent call last):
File ”./vpnstat”, line 103, in ?
parsebuffer(searchfile(message_file))
File ”./vpnstat”, line 31, in searchfile
cleanpid = string.atoi(str(dirtypid0).strip(‘[]’).replace(’\n’, ’’))
File ”/usr/lib/python2.3/string.py”, line 220, in atoi
return _int(s, base)
ValueError: invalid literal for int():

Hai idea del perchè?
Potrebbe essere qualcosa legato alla versione di python.
string.atoi è in ogni caso in stato deprecated.

Post a comment

Required fields in bold.