OpenVPN Setup package to configure OpenVPN client
This commit is contained in:
commit
05a545c33a
|
@ -0,0 +1,99 @@
|
|||
# ---> Python
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# dotenv
|
||||
.env
|
||||
|
||||
# virtualenv
|
||||
.venv
|
||||
venv/
|
||||
ENV/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
WAPT/certificate.crt
|
||||
WAPT/manifest.sha256
|
||||
WAPT/signature.sha256
|
|
@ -0,0 +1,44 @@
|
|||
package : eht-openvpn-setup
|
||||
version : 1-3
|
||||
architecture : x64
|
||||
section : base
|
||||
priority : optional
|
||||
name : OpenVPN Setup
|
||||
categories : System and network,Drivers,Utilities
|
||||
maintainer : Daniel Berteaud <dbd@ehtrace.com>
|
||||
description : Configuration for OpenVPN
|
||||
depends : eht-openvpn
|
||||
conflicts :
|
||||
maturity : PREPROD
|
||||
locale : all
|
||||
target_os : windows
|
||||
min_wapt_version : 2.1
|
||||
sources : https://openvpn.net/community-downloads/
|
||||
installed_size : 7632442
|
||||
impacted_process : openvpn,openvpn-gui,openvpnserv,openvpnserv2
|
||||
description_fr :
|
||||
description_pl :
|
||||
description_de :
|
||||
description_es :
|
||||
description_pt :
|
||||
description_it :
|
||||
description_nl :
|
||||
description_ru :
|
||||
audit_schedule : 2d
|
||||
editor : Ehtrace
|
||||
keywords : openvpn,vpn,private,network
|
||||
licence : MIT
|
||||
homepage : https://www.ehtrace.com
|
||||
package_uuid : 762369ff-daf9-4156-9f2f-57c243381dc5
|
||||
valid_from :
|
||||
valid_until :
|
||||
forced_install_on :
|
||||
changelog :
|
||||
min_os_version : 10.0
|
||||
max_os_version :
|
||||
icon_sha256sum : 18848bc4babf25a75264225d9fd7251453186e19518d4426680a8d93b3c81cdb
|
||||
signer : dbd
|
||||
signer_fingerprint: e9156ec73f1ea6b50f33e0d9f580e8ae56db147100894bb5d2d4648a46f07ed1
|
||||
signature : pFN56HX2Xrv4OfwGddOwp4HYKIkSJ99c8T0mj+V1Y7PC4RZsEtxF7AC1E0/vqL9E890ontVnrN/fUM89civmNK55MHR+f+AaHnuK/ZxI8r8XP43Zvfy/fEK3naxhf5HzirkvJYdZYuqqYOIsPM/ecxshIAD9kKd+NKh4t+a+MlspLlIh3444FS0qWcUAHJgh4f90npuuKuY0JtV6mSmQrWgYoT5tbd8446tlxFMdn/XD6wJ6BOqlmk2b4hWYk6DSQn1mXI3hXFGOMRhHyWK3JLAIby350m22aFVHIiYFWmt79c1CQc8HCwHer2uEWfrNamfZlnSNah2GlsgiissWJw==
|
||||
signature_date : 2023-03-29T09:55:36.903484
|
||||
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
|
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,275 @@
|
|||
[PyScripter]
|
||||
Version=3.4.2.0
|
||||
|
||||
[Project]
|
||||
ClassName=TProjectRootNode
|
||||
StoreRelativePaths=TRUE
|
||||
ShowFileExtensions=FALSE
|
||||
|
||||
[Project\ChildNodes\Node0]
|
||||
ClassName=TProjectFilesNode
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0]
|
||||
ClassName=TProjectFolderNode
|
||||
Name=wapt
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node0]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\common.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node1]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\setuphelpers.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node2]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node3]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\wapt-get.ini
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node4]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\waptpackage.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes]
|
||||
Count=5
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node1]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]changelog.txt
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node2]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]control
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node3]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]..\setup.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes]
|
||||
Count=4
|
||||
|
||||
[Project\ChildNodes\Node1]
|
||||
ClassName=TProjectRunConfiguationsNode
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=install
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=install "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=remove
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=remove "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=session-setup
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=session-setup "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=update
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=update
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=upgrade
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=-f upgrade
|
||||
WorkingDir=$[ActiveScript-Dir]
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=-i build-upload
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=-i build-upload "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=svn update
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=sources "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=uninstall
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=uninstall "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[Project-Path]..
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=update-package-sources
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=update-package-sources "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=audit
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=audit -f "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes]
|
||||
Count=10
|
||||
|
||||
[Project\ChildNodes]
|
||||
Count=2
|
||||
|
||||
[Project\ExtraPythonPath]
|
||||
Count=0
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from setuphelpers import *
|
||||
|
||||
uninstallkey = []
|
||||
variables = {}
|
||||
|
||||
# Read local variables file if available
|
||||
if isfile(makepath(programfiles32,'wapt','private','symetric.txt')) and isfile(makepath(programfiles32,'wapt','private','variables.txt')):
|
||||
print('Reading local encrypted variables file')
|
||||
from cryptography.fernet import Fernet
|
||||
import yaml
|
||||
f = Fernet(bytes(open(makepath(programfiles32,'wapt','private','symetric.txt'),'r').read(), 'utf-8'))
|
||||
variables.update(yaml.safe_load(f.decrypt(bytes(open(makepath(programfiles32,'wapt','private','variables.txt'),'r').read(), 'utf-8'))))
|
||||
|
||||
def install():
|
||||
|
||||
if 'openvpn_config' in variables:
|
||||
print('Deploying client configuration')
|
||||
open(makepath(programfiles,'OpenVPN','config','vpn.ovpn'),'w').write(variables['openvpn_config'])
|
||||
|
||||
print('Disable remember password')
|
||||
registry_setstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\OpenVPN', 'disable_save_passwords', 1, REG_DWORD)
|
||||
|
||||
print('Auto start OpenVPN')
|
||||
create_programs_menu_shortcut('OpenVPN',target=makepath(programfiles, 'OpenVPN', 'bin', 'openvpn-gui.exe'), folder='Startup')
|
||||
|
||||
def uninstall():
|
||||
|
||||
print('Enable password remember')
|
||||
registry_setstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\OpenVPN', 'disable_save_passwords', 0, REG_DWORD)
|
||||
|
||||
print('Removing auto start shortcut')
|
||||
remove_programs_menu_shortcut('OpenVPN', folder='Startup')
|
||||
|
||||
|
||||
def audit():
|
||||
|
||||
if not registry_readstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\OpenVPN','disable_save_passwords'):
|
||||
print(r"key SOFTWARE\OpenVPN\disable_save_passwords doesn't exist")
|
||||
return "ERROR"
|
||||
value = registry_readstring(HKEY_LOCAL_MACHINE, r'SOFTWARE\OpenVPN','disable_save_passwords')
|
||||
if value != 1:
|
||||
print('disable_save_passwords is not 1')
|
||||
|
||||
return "OK"
|
||||
|
||||
if __name__ == '__main__':
|
||||
update_package()
|
||||
|
Loading…
Reference in New Issue