initial
This commit is contained in:
commit
a982d5fa30
199
FoxyProxy Standard_2020-05-05.json
Normal file
199
FoxyProxy Standard_2020-05-05.json
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
{
|
||||||
|
"6gdnz1571077918322": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - Toronto",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3137,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"6zqezm1571077833786": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - Frankfurt",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3132,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"9lfdf81571078056247": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - Canada",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3138,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"csw0y1571077772374": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - Brussel",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3131,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"gt7i551571078295237": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#cc0000",
|
||||||
|
"title": "Sentinel - Paris",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3134,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"gvb5741585472770484": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Bypass",
|
||||||
|
"active": true,
|
||||||
|
"address": "192.168.4.251",
|
||||||
|
"port": 3128,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [
|
||||||
|
{
|
||||||
|
"title": "all URLs",
|
||||||
|
"active": true,
|
||||||
|
"pattern": "*",
|
||||||
|
"type": 1,
|
||||||
|
"protocols": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -3
|
||||||
|
},
|
||||||
|
"icz1li1585856880120": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - Sweden",
|
||||||
|
"active": true,
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3177,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [
|
||||||
|
{
|
||||||
|
"title": "all URLs",
|
||||||
|
"active": true,
|
||||||
|
"pattern": "*",
|
||||||
|
"type": 1,
|
||||||
|
"protocols": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -4
|
||||||
|
},
|
||||||
|
"logging": {
|
||||||
|
"size": 100,
|
||||||
|
"active": false
|
||||||
|
},
|
||||||
|
"mc431k91580734946899": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Project Thelendar",
|
||||||
|
"active": true,
|
||||||
|
"address": "192.168.4.251",
|
||||||
|
"port": 3128,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [
|
||||||
|
{
|
||||||
|
"title": "all URLs",
|
||||||
|
"active": true,
|
||||||
|
"pattern": "*",
|
||||||
|
"type": 1,
|
||||||
|
"protocols": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -2
|
||||||
|
},
|
||||||
|
"mode": "icz1li1585856880120",
|
||||||
|
"r71kt1571077879238": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#cc6600",
|
||||||
|
"title": "Sentinel - Netherlands 1",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3141,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"tl2j51571077661386": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#66cc66",
|
||||||
|
"title": "Sentinel - USA",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3129,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"xxcdhj1571078117745": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#001bcc",
|
||||||
|
"title": "Sentinel - Israel",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3139,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"browserVersion": "75.0",
|
||||||
|
"foxyProxyVersion": "7.4.3",
|
||||||
|
"foxyProxyEdition": "standard"
|
||||||
|
}
|
73
OmegaScript.py
Normal file
73
OmegaScript.py
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#var baseconfig = {"+auto switch":{"color":"#99dd99","defaultProfileName":"direct","name":"auto switch","profileType":"SwitchProfile","rules":[{"condition":{"conditionType":"HostWildcardCondition","pattern":"internal.example.com"},"profileName":"direct"},{"condition":{"conditionType":"HostWildcardCondition","pattern":"*.example.com"},"profileName":"proxy"}]},"+proxy":{"bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"::1"},{"conditionType":"BypassCondition","pattern":"localhost"}],"color":"#99ccee","fallbackProxy":{"host":"proxy.example.com","port":8080,"scheme":"http"},"name":"proxy","profileType":"FixedProfile"},"-addConditionsToBottom":false,"-confirmDeletion":true,"-downloadInterval":1440,"-enableQuickSwitch":false,"-quickSwitchProfiles":[],"-refreshOnProfileChange":true,"-revertProxyChanges":true,"-showExternalProfile":true,"-showInspectMenu":true,"-startupProfileName":"","schemaVersion":2,"-monitorWebRequests":true,"+Sentinel - 3129":{"profileType":"FixedProfile","name":"Sentinel - 3129","bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"[::1]"},{"conditionType":"BypassCondition","pattern":"localhost"},{"conditionType":"BypassCondition","pattern":"192.168.0.150"}],"color":"#9d9","revision":"171d54addb6","fallbackProxy":{"scheme":"http","port":3129,"host":"192.168.0.150"}}}
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
import os,binascii
|
||||||
|
|
||||||
|
__location__ = os.path.realpath(
|
||||||
|
os.path.join(os.getcwd(), os.path.dirname(__file__)))
|
||||||
|
|
||||||
|
#region
|
||||||
|
"""
|
||||||
|
{
|
||||||
|
"xxcdhj1571078117745": {
|
||||||
|
"type": 1,
|
||||||
|
"color": "#001bcc",
|
||||||
|
"title": "Sentinel - Israel",
|
||||||
|
"address": "192.168.0.150",
|
||||||
|
"port": 3139,
|
||||||
|
"proxyDNS": false,
|
||||||
|
"active": true,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"whitePatterns": [],
|
||||||
|
"blackPatterns": [],
|
||||||
|
"pacURL": "",
|
||||||
|
"index": -1
|
||||||
|
},
|
||||||
|
"browserVersion": "75.0",
|
||||||
|
"foxyProxyVersion": "7.4.3",
|
||||||
|
"foxyProxyEdition": "standard"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
#end
|
||||||
|
def generaterandomstring(amount=18):
|
||||||
|
letters = string.ascii_lowercase
|
||||||
|
return ''.join(random.choice(letters) for i in range(amount))
|
||||||
|
|
||||||
|
def foxyproxyconfig(port):
|
||||||
|
rd = generaterandomstring(18)
|
||||||
|
hexs = '#{}'.format(binascii.b2a_hex(os.urandom(3)).decode())
|
||||||
|
ret = '"{}":'.format(rd)
|
||||||
|
ret += '{"type":'
|
||||||
|
ret += '1, "color": "{}"'.format(hexs)
|
||||||
|
ret += ', "title": "Sentinel - {}", "address": "192.168.0.150", "port": {},"proxyDNS": false, "active": true,"username": "","password": "","whitePatterns": [],"blackPatterns": [],"pacURL": "","index": -1'.format(str(port), str(port))
|
||||||
|
ret += '},'
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def createconfig(port):
|
||||||
|
foxyconfig = foxyproxyconfig(port)
|
||||||
|
print(foxyconfig)
|
||||||
|
return foxyconfig
|
||||||
|
#out = '{"+auto switch":{"color":"#99dd99","defaultProfileName":"direct","name":"auto switch","profileType":"SwitchProfile","rules":[{"condition":{"conditionType":"HostWildcardCondition","pattern":"internal.example.com"},"profileName":"direct"},{"condition":{"conditionType":"HostWildcardCondition","pattern":"*.example.com"},"profileName":"proxy"}]},"+proxy":{"bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"::1"},{"conditionType":"BypassCondition","pattern":"localhost"}],"color":"#99ccee","fallbackProxy":{"host":"proxy.example.com","port":8080,"scheme":"http"},"name":"proxy","profileType":"FixedProfile"},"-addConditionsToBottom":false,"-confirmDeletion":true,"-downloadInterval":1440,"-enableQuickSwitch":false,"-quickSwitchProfiles":[],"-refreshOnProfileChange":true,"-revertProxyChanges":true,"-showExternalProfile":true,"-showInspectMenu":true,"-startupProfileName":"","schemaVersion":2,"-monitorWebRequests":true,"+Sentinel - {}":{"profileType":"FixedProfile","name":"Sentinel - {}","bypassList":[{"conditionType":"BypassCondition","pattern":"127.0.0.1"},{"conditionType":"BypassCondition","pattern":"[::1]"},{"conditionType":"BypassCondition","pattern":"localhost"},{"conditionType":"BypassCondition","pattern":"192.168.0.150"}],"color":"#9d9","revision":"171d54addb6","fallbackProxy":{"scheme":"http","port":{},"host":"192.168.0.150"}}}'.format(port, port, port)
|
||||||
|
|
||||||
|
|
||||||
|
def foxycreateconfig(start, end):
|
||||||
|
#first remove output file
|
||||||
|
os.remove(os.path.join(__location__, 'output.json'))
|
||||||
|
print('path: {}'.format(os.path.join(__location__, 'output.json')))
|
||||||
|
file = open(os.path.join(__location__, 'output.json'), "w+")
|
||||||
|
file.write("{")
|
||||||
|
for x in range(start, end):
|
||||||
|
rt = createconfig(x)
|
||||||
|
file.write(rt)
|
||||||
|
file.write('"browserVersion": "75.0", "foxyProxyVersion": "7.4.3", "foxyProxyEdition": "standard"}')
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
|
||||||
|
def createconfigs(start, end):
|
||||||
|
for x in range(start, end):
|
||||||
|
createconfig(x)
|
||||||
|
|
||||||
|
#createconfig(10)
|
||||||
|
#foxyproxyconfig(3129)
|
||||||
|
foxycreateconfig(3129, 3180)
|
230
bin/Activate.ps1
Normal file
230
bin/Activate.ps1
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Activate a Python virtual environment for the current Powershell session.
|
||||||
|
|
||||||
|
.Description
|
||||||
|
Pushes the python executable for a virtual environment to the front of the
|
||||||
|
$Env:PATH environment variable and sets the prompt to signify that you are
|
||||||
|
in a Python virtual environment. Makes use of the command line switches as
|
||||||
|
well as the `pyvenv.cfg` file values present in the virtual environment.
|
||||||
|
|
||||||
|
.Parameter VenvDir
|
||||||
|
Path to the directory that contains the virtual environment to activate. The
|
||||||
|
default value for this is the parent of the directory that the Activate.ps1
|
||||||
|
script is located within.
|
||||||
|
|
||||||
|
.Parameter Prompt
|
||||||
|
The prompt prefix to display when this virtual environment is activated. By
|
||||||
|
default, this prompt is the name of the virtual environment folder (VenvDir)
|
||||||
|
surrounded by parentheses and followed by a single space (ie. '(.venv) ').
|
||||||
|
|
||||||
|
.Example
|
||||||
|
Activate.ps1
|
||||||
|
Activates the Python virtual environment that contains the Activate.ps1 script.
|
||||||
|
|
||||||
|
.Example
|
||||||
|
Activate.ps1 -Verbose
|
||||||
|
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||||
|
and shows extra information about the activation as it executes.
|
||||||
|
|
||||||
|
.Example
|
||||||
|
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
|
||||||
|
Activates the Python virtual environment located in the specified location.
|
||||||
|
|
||||||
|
.Example
|
||||||
|
Activate.ps1 -Prompt "MyPython"
|
||||||
|
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||||
|
and prefixes the current prompt with the specified string (surrounded in
|
||||||
|
parentheses) while the virtual environment is active.
|
||||||
|
|
||||||
|
|
||||||
|
#>
|
||||||
|
Param(
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[String]
|
||||||
|
$VenvDir,
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[String]
|
||||||
|
$Prompt
|
||||||
|
)
|
||||||
|
|
||||||
|
<# Function declarations --------------------------------------------------- #>
|
||||||
|
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Remove all shell session elements added by the Activate script, including the
|
||||||
|
addition of the virtual environment's Python executable from the beginning of
|
||||||
|
the PATH variable.
|
||||||
|
|
||||||
|
.Parameter NonDestructive
|
||||||
|
If present, do not remove this function from the global namespace for the
|
||||||
|
session.
|
||||||
|
|
||||||
|
#>
|
||||||
|
function global:deactivate ([switch]$NonDestructive) {
|
||||||
|
# Revert to original values
|
||||||
|
|
||||||
|
# The prior prompt:
|
||||||
|
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
|
||||||
|
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
|
||||||
|
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
|
||||||
|
}
|
||||||
|
|
||||||
|
# The prior PYTHONHOME:
|
||||||
|
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
|
||||||
|
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
|
||||||
|
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
|
||||||
|
}
|
||||||
|
|
||||||
|
# The prior PATH:
|
||||||
|
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
|
||||||
|
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
|
||||||
|
Remove-Item -Path Env:_OLD_VIRTUAL_PATH
|
||||||
|
}
|
||||||
|
|
||||||
|
# Just remove the VIRTUAL_ENV altogether:
|
||||||
|
if (Test-Path -Path Env:VIRTUAL_ENV) {
|
||||||
|
Remove-Item -Path env:VIRTUAL_ENV
|
||||||
|
}
|
||||||
|
|
||||||
|
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
||||||
|
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
||||||
|
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
# Leave deactivate function in the global namespace if requested:
|
||||||
|
if (-not $NonDestructive) {
|
||||||
|
Remove-Item -Path function:deactivate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<#
|
||||||
|
.Description
|
||||||
|
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
|
||||||
|
given folder, and returns them in a map.
|
||||||
|
|
||||||
|
For each line in the pyvenv.cfg file, if that line can be parsed into exactly
|
||||||
|
two strings separated by `=` (with any amount of whitespace surrounding the =)
|
||||||
|
then it is considered a `key = value` line. The left hand string is the key,
|
||||||
|
the right hand is the value.
|
||||||
|
|
||||||
|
If the value starts with a `'` or a `"` then the first and last character is
|
||||||
|
stripped from the value before being captured.
|
||||||
|
|
||||||
|
.Parameter ConfigDir
|
||||||
|
Path to the directory that contains the `pyvenv.cfg` file.
|
||||||
|
#>
|
||||||
|
function Get-PyVenvConfig(
|
||||||
|
[String]
|
||||||
|
$ConfigDir
|
||||||
|
) {
|
||||||
|
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
|
||||||
|
|
||||||
|
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
|
||||||
|
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
|
||||||
|
|
||||||
|
# An empty map will be returned if no config file is found.
|
||||||
|
$pyvenvConfig = @{ }
|
||||||
|
|
||||||
|
if ($pyvenvConfigPath) {
|
||||||
|
|
||||||
|
Write-Verbose "File exists, parse `key = value` lines"
|
||||||
|
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
|
||||||
|
|
||||||
|
$pyvenvConfigContent | ForEach-Object {
|
||||||
|
$keyval = $PSItem -split "\s*=\s*", 2
|
||||||
|
if ($keyval[0] -and $keyval[1]) {
|
||||||
|
$val = $keyval[1]
|
||||||
|
|
||||||
|
# Remove extraneous quotations around a string value.
|
||||||
|
if ("'""".Contains($val.Substring(0,1))) {
|
||||||
|
$val = $val.Substring(1, $val.Length - 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
$pyvenvConfig[$keyval[0]] = $val
|
||||||
|
Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $pyvenvConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
<# Begin Activate script --------------------------------------------------- #>
|
||||||
|
|
||||||
|
# Determine the containing directory of this script
|
||||||
|
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||||
|
$VenvExecDir = Get-Item -Path $VenvExecPath
|
||||||
|
|
||||||
|
Write-Verbose "Activation script is located in path: '$VenvExecPath'"
|
||||||
|
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
|
||||||
|
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
|
||||||
|
|
||||||
|
# Set values required in priority: CmdLine, ConfigFile, Default
|
||||||
|
# First, get the location of the virtual environment, it might not be
|
||||||
|
# VenvExecDir if specified on the command line.
|
||||||
|
if ($VenvDir) {
|
||||||
|
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
|
||||||
|
} else {
|
||||||
|
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
|
||||||
|
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
|
||||||
|
Write-Verbose "VenvDir=$VenvDir"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Next, read the `pyvenv.cfg` file to determine any required value such
|
||||||
|
# as `prompt`.
|
||||||
|
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
|
||||||
|
|
||||||
|
# Next, set the prompt from the command line, or the config file, or
|
||||||
|
# just use the name of the virtual environment folder.
|
||||||
|
if ($Prompt) {
|
||||||
|
Write-Verbose "Prompt specified as argument, using '$Prompt'"
|
||||||
|
} else {
|
||||||
|
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
|
||||||
|
if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
|
||||||
|
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
|
||||||
|
$Prompt = $pyvenvCfg['prompt'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)"
|
||||||
|
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
|
||||||
|
$Prompt = Split-Path -Path $venvDir -Leaf
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Verbose "Prompt = '$Prompt'"
|
||||||
|
Write-Verbose "VenvDir='$VenvDir'"
|
||||||
|
|
||||||
|
# Deactivate any currently active virtual environment, but leave the
|
||||||
|
# deactivate function in place.
|
||||||
|
deactivate -nondestructive
|
||||||
|
|
||||||
|
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
|
||||||
|
# that there is an activated venv.
|
||||||
|
$env:VIRTUAL_ENV = $VenvDir
|
||||||
|
|
||||||
|
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
||||||
|
|
||||||
|
Write-Verbose "Setting prompt to '$Prompt'"
|
||||||
|
|
||||||
|
# Set the prompt to include the env name
|
||||||
|
# Make sure _OLD_VIRTUAL_PROMPT is global
|
||||||
|
function global:_OLD_VIRTUAL_PROMPT { "" }
|
||||||
|
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
|
||||||
|
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
|
||||||
|
|
||||||
|
function global:prompt {
|
||||||
|
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
||||||
|
_OLD_VIRTUAL_PROMPT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clear PYTHONHOME
|
||||||
|
if (Test-Path -Path Env:PYTHONHOME) {
|
||||||
|
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
|
||||||
|
Remove-Item -Path Env:PYTHONHOME
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add the venv to the PATH
|
||||||
|
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
|
||||||
|
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
|
76
bin/activate
Normal file
76
bin/activate
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
# This file must be used with "source bin/activate" *from bash*
|
||||||
|
# you cannot run it directly
|
||||||
|
|
||||||
|
deactivate () {
|
||||||
|
# reset old environment variables
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||||
|
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||||
|
export PATH
|
||||||
|
unset _OLD_VIRTUAL_PATH
|
||||||
|
fi
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
||||||
|
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
||||||
|
export PYTHONHOME
|
||||||
|
unset _OLD_VIRTUAL_PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
||||||
|
PS1="${_OLD_VIRTUAL_PS1:-}"
|
||||||
|
export PS1
|
||||||
|
unset _OLD_VIRTUAL_PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset VIRTUAL_ENV
|
||||||
|
if [ ! "${1:-}" = "nondestructive" ] ; then
|
||||||
|
# Self destruct!
|
||||||
|
unset -f deactivate
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# unset irrelevant variables
|
||||||
|
deactivate nondestructive
|
||||||
|
|
||||||
|
VIRTUAL_ENV="/mnt/MainData/Projects_Herreweb/ProxyCreateScript"
|
||||||
|
export VIRTUAL_ENV
|
||||||
|
|
||||||
|
_OLD_VIRTUAL_PATH="$PATH"
|
||||||
|
PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# unset PYTHONHOME if set
|
||||||
|
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||||
|
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||||
|
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||||
|
unset PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||||
|
if [ "x(ProxyCreateScript) " != x ] ; then
|
||||||
|
PS1="(ProxyCreateScript) ${PS1:-}"
|
||||||
|
else
|
||||||
|
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
|
||||||
|
# special case for Aspen magic directories
|
||||||
|
# see http://www.zetadev.com/software/aspen/
|
||||||
|
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
|
||||||
|
else
|
||||||
|
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
export PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
37
bin/activate.csh
Normal file
37
bin/activate.csh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# This file must be used with "source bin/activate.csh" *from csh*.
|
||||||
|
# You cannot run it directly.
|
||||||
|
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
||||||
|
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
||||||
|
|
||||||
|
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
|
||||||
|
|
||||||
|
# Unset irrelevant variables.
|
||||||
|
deactivate nondestructive
|
||||||
|
|
||||||
|
setenv VIRTUAL_ENV "/mnt/MainData/Projects_Herreweb/ProxyCreateScript"
|
||||||
|
|
||||||
|
set _OLD_VIRTUAL_PATH="$PATH"
|
||||||
|
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
|
||||||
|
|
||||||
|
|
||||||
|
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||||
|
|
||||||
|
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||||
|
if ("ProxyCreateScript" != "") then
|
||||||
|
set env_name = "ProxyCreateScript"
|
||||||
|
else
|
||||||
|
if (`basename "VIRTUAL_ENV"` == "__") then
|
||||||
|
# special case for Aspen magic directories
|
||||||
|
# see http://www.zetadev.com/software/aspen/
|
||||||
|
set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
|
||||||
|
else
|
||||||
|
set env_name = `basename "$VIRTUAL_ENV"`
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
set prompt = "[$env_name] $prompt"
|
||||||
|
unset env_name
|
||||||
|
endif
|
||||||
|
|
||||||
|
alias pydoc python -m pydoc
|
||||||
|
|
||||||
|
rehash
|
75
bin/activate.fish
Normal file
75
bin/activate.fish
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
|
||||||
|
# you cannot run it directly
|
||||||
|
|
||||||
|
function deactivate -d "Exit virtualenv and return to normal shell environment"
|
||||||
|
# reset old environment variables
|
||||||
|
if test -n "$_OLD_VIRTUAL_PATH"
|
||||||
|
set -gx PATH $_OLD_VIRTUAL_PATH
|
||||||
|
set -e _OLD_VIRTUAL_PATH
|
||||||
|
end
|
||||||
|
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
|
||||||
|
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
|
||||||
|
set -e _OLD_VIRTUAL_PYTHONHOME
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
|
||||||
|
functions -e fish_prompt
|
||||||
|
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||||
|
functions -c _old_fish_prompt fish_prompt
|
||||||
|
functions -e _old_fish_prompt
|
||||||
|
end
|
||||||
|
|
||||||
|
set -e VIRTUAL_ENV
|
||||||
|
if test "$argv[1]" != "nondestructive"
|
||||||
|
# Self destruct!
|
||||||
|
functions -e deactivate
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# unset irrelevant variables
|
||||||
|
deactivate nondestructive
|
||||||
|
|
||||||
|
set -gx VIRTUAL_ENV "/mnt/MainData/Projects_Herreweb/ProxyCreateScript"
|
||||||
|
|
||||||
|
set -gx _OLD_VIRTUAL_PATH $PATH
|
||||||
|
set -gx PATH "$VIRTUAL_ENV/bin" $PATH
|
||||||
|
|
||||||
|
# unset PYTHONHOME if set
|
||||||
|
if set -q PYTHONHOME
|
||||||
|
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
|
||||||
|
set -e PYTHONHOME
|
||||||
|
end
|
||||||
|
|
||||||
|
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||||
|
# fish uses a function instead of an env var to generate the prompt.
|
||||||
|
|
||||||
|
# save the current fish_prompt function as the function _old_fish_prompt
|
||||||
|
functions -c fish_prompt _old_fish_prompt
|
||||||
|
|
||||||
|
# with the original prompt function renamed, we can override with our own.
|
||||||
|
function fish_prompt
|
||||||
|
# Save the return status of the last command
|
||||||
|
set -l old_status $status
|
||||||
|
|
||||||
|
# Prompt override?
|
||||||
|
if test -n "(ProxyCreateScript) "
|
||||||
|
printf "%s%s" "(ProxyCreateScript) " (set_color normal)
|
||||||
|
else
|
||||||
|
# ...Otherwise, prepend env
|
||||||
|
set -l _checkbase (basename "$VIRTUAL_ENV")
|
||||||
|
if test $_checkbase = "__"
|
||||||
|
# special case for Aspen magic directories
|
||||||
|
# see http://www.zetadev.com/software/aspen/
|
||||||
|
printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
|
||||||
|
else
|
||||||
|
printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Restore the return status of the previous command.
|
||||||
|
echo "exit $old_status" | .
|
||||||
|
_old_fish_prompt
|
||||||
|
end
|
||||||
|
|
||||||
|
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||||
|
end
|
1
bin/python
Symbolic link
1
bin/python
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
python3.8
|
1
bin/python3
Symbolic link
1
bin/python3
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
python3.8
|
1
bin/python3.8
Symbolic link
1
bin/python3.8
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/bin/python3.8
|
1
output.json
Normal file
1
output.json
Normal file
File diff suppressed because one or more lines are too long
3
pyvenv.cfg
Normal file
3
pyvenv.cfg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
home = /usr/bin
|
||||||
|
include-system-site-packages = false
|
||||||
|
version = 3.8.2
|
Loading…
Reference in New Issue
Block a user