atomicshop 2.16.0__py3-none-any.whl → 2.16.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of atomicshop might be problematic. Click here for more details.
- atomicshop/__init__.py +1 -1
- atomicshop/a_installs/ubuntu/pycharm.py +7 -0
- atomicshop/a_installs/win/pycharm.py +2 -2
- atomicshop/{addons/mains/install_wsl_ubuntu_lts_admin.py → a_installs/win/wsl_ubuntu_lts.py} +1 -0
- atomicshop/{addons/mains → a_mains}/FACT/update_extract.py +3 -2
- atomicshop/dns.py +1 -1
- atomicshop/mitm/import_config.py +2 -1
- atomicshop/mitm/initialize_mitm_server.py +2 -1
- atomicshop/mitm/statistic_analyzer_helper/moving_average_helper.py +7 -1
- atomicshop/permissions/__init__.py +0 -0
- atomicshop/permissions/permissions.py +22 -0
- atomicshop/{permissions.py → permissions/ubuntu_permissions.py} +4 -54
- atomicshop/permissions/win_permissions.py +33 -0
- atomicshop/urls.py +6 -0
- atomicshop/wrappers/dockerw/install_docker.py +6 -5
- atomicshop/wrappers/elasticsearchw/install_elastic.py +2 -1
- atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py +5 -4
- atomicshop/wrappers/mongodbw/install_mongodb.py +2 -1
- atomicshop/wrappers/msiw.py +2 -3
- atomicshop/wrappers/pycharmw/__init__.py +0 -0
- atomicshop/wrappers/pycharmw/ubuntu.py +38 -0
- atomicshop/wrappers/{pycharmw.py → pycharmw/win.py} +2 -2
- atomicshop/wrappers/ubuntu_terminal.py +6 -6
- atomicshop/wrappers/wslw.py +1 -0
- {atomicshop-2.16.0.dist-info → atomicshop-2.16.2.dist-info}/METADATA +1 -1
- {atomicshop-2.16.0.dist-info → atomicshop-2.16.2.dist-info}/RECORD +33 -29
- atomicshop/addons/mains/__pycache__/install_fibratus_windows.cpython-312.pyc +0 -0
- atomicshop/addons/mains/__pycache__/msi_unpacker.cpython-312.pyc +0 -0
- /atomicshop/{addons/mains/install_docker_rootless_ubuntu.py → a_installs/ubuntu/docker_rootless.py} +0 -0
- /atomicshop/{addons/mains/install_docker_ubuntu_main_sudo.py → a_installs/ubuntu/docker_sudo.py} +0 -0
- /atomicshop/{addons/mains/install_elastic_search_and_kibana_ubuntu.py → a_installs/ubuntu/elastic_search_and_kibana.py} +0 -0
- /atomicshop/{addons/mains → a_mains}/FACT/factw_fact_extractor_docker_image_main_sudo.py +0 -0
- {atomicshop-2.16.0.dist-info → atomicshop-2.16.2.dist-info}/LICENSE.txt +0 -0
- {atomicshop-2.16.0.dist-info → atomicshop-2.16.2.dist-info}/WHEEL +0 -0
- {atomicshop-2.16.0.dist-info → atomicshop-2.16.2.dist-info}/top_level.txt +0 -0
atomicshop/__init__.py
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import os
|
|
2
2
|
|
|
3
|
+
from atomicshop import filesystem
|
|
3
4
|
from atomicshop.wrappers.factw.fact_extractor import get_extractor
|
|
4
5
|
from atomicshop.wrappers.factw import config_install
|
|
5
|
-
from atomicshop import
|
|
6
|
+
from atomicshop.permissions import ubuntu_permissions
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
def main():
|
|
9
10
|
get_extractor.get_extractor_script()
|
|
10
11
|
fact_extractor_executable_path: str = (
|
|
11
12
|
filesystem.get_working_directory() + os.sep + config_install.FACT_EXTRACTOR_FILE_NAME)
|
|
12
|
-
|
|
13
|
+
ubuntu_permissions.set_executable(fact_extractor_executable_path)
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
if __name__ == '__main__':
|
atomicshop/dns.py
CHANGED
atomicshop/mitm/import_config.py
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
3
|
from ..print_api import print_api
|
|
4
|
-
from .. import config_init,
|
|
4
|
+
from .. import config_init, filesystem, dns
|
|
5
|
+
from ..permissions import permissions
|
|
5
6
|
from ..wrappers.socketw import base
|
|
6
7
|
from ..basics import booleans
|
|
7
8
|
|
|
@@ -4,7 +4,8 @@ import time
|
|
|
4
4
|
|
|
5
5
|
import atomicshop # Importing atomicshop package to get the version of the package.
|
|
6
6
|
|
|
7
|
-
from .. import filesystem, queues, dns, on_exit
|
|
7
|
+
from .. import filesystem, queues, dns, on_exit
|
|
8
|
+
from ..permissions import permissions
|
|
8
9
|
from ..python_functions import get_current_python_version_string, check_python_version_compliance
|
|
9
10
|
from ..wrappers.socketw import socket_wrapper, dns_server, base
|
|
10
11
|
from ..wrappers.loggingw import loggingw
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import statistics
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
from typing import Literal
|
|
3
4
|
|
|
4
5
|
from ...print_api import print_api
|
|
@@ -129,7 +130,12 @@ def get_data_dict_from_statistics_content(
|
|
|
129
130
|
type_to_check: str = line['host'] + line['path']
|
|
130
131
|
# Remove the parameters from the URL.
|
|
131
132
|
url_parsed = urls.url_parser(type_to_check)
|
|
132
|
-
|
|
133
|
+
|
|
134
|
+
if url_parsed['file'] and Path(url_parsed['file']).suffix in ['.gz', '.gzip', '.zip']:
|
|
135
|
+
type_to_check = '/'.join(url_parsed['directories'][:-1])
|
|
136
|
+
else:
|
|
137
|
+
type_to_check = url_parsed['path']
|
|
138
|
+
|
|
133
139
|
# Remove the last slash from the URL.
|
|
134
140
|
type_to_check = type_to_check.removesuffix('/')
|
|
135
141
|
else:
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import ctypes
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def is_admin() -> bool:
|
|
6
|
+
"""
|
|
7
|
+
Function checks on Windows or POSIX OSes if the script is executed under Administrative Privileges.
|
|
8
|
+
:return: True / False.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
if os.name == 'nt':
|
|
12
|
+
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
|
|
13
|
+
result = False
|
|
14
|
+
else:
|
|
15
|
+
result = True
|
|
16
|
+
else:
|
|
17
|
+
if 'SUDO_USER' in os.environ and os.geteuid() == 0:
|
|
18
|
+
result = True
|
|
19
|
+
else:
|
|
20
|
+
result = False
|
|
21
|
+
|
|
22
|
+
return result
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import stat
|
|
3
|
-
import ctypes
|
|
4
3
|
import contextlib
|
|
5
4
|
import subprocess
|
|
6
5
|
|
|
@@ -9,27 +8,7 @@ if os.name == 'posix':
|
|
|
9
8
|
import pwd
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
def
|
|
13
|
-
"""
|
|
14
|
-
Function checks on Windows or POSIX OSes if the script is executed under Administrative Privileges.
|
|
15
|
-
:return: True / False.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
if os.name == 'nt':
|
|
19
|
-
if ctypes.windll.shell32.IsUserAnAdmin() == 0:
|
|
20
|
-
result = False
|
|
21
|
-
else:
|
|
22
|
-
result = True
|
|
23
|
-
else:
|
|
24
|
-
if 'SUDO_USER' in os.environ and os.geteuid() == 0:
|
|
25
|
-
result = True
|
|
26
|
-
else:
|
|
27
|
-
result = False
|
|
28
|
-
|
|
29
|
-
return result
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def get_ubuntu_sudo_executer_username() -> str:
|
|
11
|
+
def get_sudo_executer_username() -> str:
|
|
33
12
|
"""
|
|
34
13
|
Function gets the username of the user who executed the script with sudo.
|
|
35
14
|
:return: str, username.
|
|
@@ -41,7 +20,7 @@ def get_ubuntu_sudo_executer_username() -> str:
|
|
|
41
20
|
return ''
|
|
42
21
|
|
|
43
22
|
|
|
44
|
-
def
|
|
23
|
+
def set_executable(file_path: str):
|
|
45
24
|
"""
|
|
46
25
|
Function sets the executable permission on a file.
|
|
47
26
|
Equivalent to: chmod +x <file_path>
|
|
@@ -54,7 +33,7 @@ def set_executable_permission(file_path: str):
|
|
|
54
33
|
os.chmod(file_path, os.stat(file_path).st_mode | stat.S_IXUSR)
|
|
55
34
|
|
|
56
35
|
|
|
57
|
-
def
|
|
36
|
+
def change_file_owner(file_path: str, username: str):
|
|
58
37
|
"""
|
|
59
38
|
Function changes the owner of the file to the specified user.
|
|
60
39
|
:param file_path: str, path to the file.
|
|
@@ -66,7 +45,7 @@ def change_file_owner_ubuntu(file_path: str, username: str):
|
|
|
66
45
|
os.chown(file_path, uid, -1)
|
|
67
46
|
|
|
68
47
|
|
|
69
|
-
def
|
|
48
|
+
def is_executable(file_path: str) -> bool:
|
|
70
49
|
"""
|
|
71
50
|
Function checks if the file has the executable permission.
|
|
72
51
|
Equivalent to: stat -c "%a %n" <file_path>
|
|
@@ -120,32 +99,3 @@ def expand_user_path(user_name, path):
|
|
|
120
99
|
pwnam = pwd.getpwnam(user_name)
|
|
121
100
|
home_dir = pwnam.pw_dir
|
|
122
101
|
return path.replace("~", home_dir)
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
def unblock_file_windows(file_path):
|
|
126
|
-
"""
|
|
127
|
-
Unblock a file on Windows. This is used to unblock files downloaded from the internet.
|
|
128
|
-
When you Right-click then navigate to Properties, you will see the Unblock checkbox.
|
|
129
|
-
:param file_path:
|
|
130
|
-
:return:
|
|
131
|
-
"""
|
|
132
|
-
try:
|
|
133
|
-
subprocess.run(["powershell", "-Command", f"Unblock-File -Path '{file_path}'"], check=True)
|
|
134
|
-
print(f"Successfully unblocked the file: {file_path}")
|
|
135
|
-
except subprocess.CalledProcessError as e:
|
|
136
|
-
print(f"Failed to unblock the file: {file_path}\nError: {e}")
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
def get_command_to_run_as_admin_windows(command: str) -> str:
|
|
140
|
-
"""
|
|
141
|
-
Function returns the command to run a command as administrator on Windows.
|
|
142
|
-
:param command: str, command to run.
|
|
143
|
-
:return: str, command to run as administrator.
|
|
144
|
-
"""
|
|
145
|
-
|
|
146
|
-
executable = command.split()[0]
|
|
147
|
-
command = (
|
|
148
|
-
f"powershell -Command "
|
|
149
|
-
f"\"Start-Process {executable} -ArgumentList '{' '.join(command.split()[1:])}' -Verb RunAs\"")
|
|
150
|
-
|
|
151
|
-
return command
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def unblock_file_windows(file_path):
|
|
5
|
+
"""
|
|
6
|
+
Unblock a file on Windows. This is used to unblock files downloaded from the internet.
|
|
7
|
+
When you Right-click then navigate to Properties, you will see the Unblock checkbox.
|
|
8
|
+
:param file_path:
|
|
9
|
+
:return:
|
|
10
|
+
"""
|
|
11
|
+
try:
|
|
12
|
+
subprocess.run(["powershell", "-Command", f"Unblock-File -Path '{file_path}'"], check=True)
|
|
13
|
+
print(f"Successfully unblocked the file: {file_path}")
|
|
14
|
+
except subprocess.CalledProcessError as e:
|
|
15
|
+
print(f"Failed to unblock the file: {file_path}\nError: {e}")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_command_to_run_as_admin_windows(command: str) -> str:
|
|
19
|
+
"""
|
|
20
|
+
Function returns the command to run a command as administrator on Windows.
|
|
21
|
+
NOTE: When you run something this way, the parent will be the powershell.exe process.
|
|
22
|
+
If you need a status result directly of the executed command, you need to use subprocess.run() instead.
|
|
23
|
+
|
|
24
|
+
:param command: str, command to run.
|
|
25
|
+
:return: str, command to run as administrator.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
executable = command.split()[0]
|
|
29
|
+
command = (
|
|
30
|
+
f"powershell -Command "
|
|
31
|
+
f"\"Start-Process {executable} -ArgumentList '{' '.join(command.split()[1:])}' -Verb RunAs\"")
|
|
32
|
+
|
|
33
|
+
return command
|
atomicshop/urls.py
CHANGED
|
@@ -8,6 +8,11 @@ def url_parser(url):
|
|
|
8
8
|
directories = parts.path.strip('/').split('/')
|
|
9
9
|
queries = parts.query.strip('&').split('&')
|
|
10
10
|
|
|
11
|
+
if len(directories) > 1 and '.' in directories[-1]:
|
|
12
|
+
file = directories[-1]
|
|
13
|
+
else:
|
|
14
|
+
file = ''
|
|
15
|
+
|
|
11
16
|
elements = {
|
|
12
17
|
'scheme': parts.scheme,
|
|
13
18
|
'netloc': parts.netloc,
|
|
@@ -17,6 +22,7 @@ def url_parser(url):
|
|
|
17
22
|
'fragment': parts.fragment,
|
|
18
23
|
'directories': directories,
|
|
19
24
|
'queries': queries,
|
|
25
|
+
'file': file
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
return elements
|
|
@@ -2,7 +2,8 @@ import sys
|
|
|
2
2
|
import subprocess
|
|
3
3
|
import getpass
|
|
4
4
|
|
|
5
|
-
from ... import process, filesystem
|
|
5
|
+
from ... import process, filesystem
|
|
6
|
+
from ...permissions import permissions, ubuntu_permissions
|
|
6
7
|
from ...print_api import print_api
|
|
7
8
|
from .. import ubuntu_terminal
|
|
8
9
|
|
|
@@ -38,7 +39,7 @@ def add_current_user_to_docker_group(print_kwargs: dict = None):
|
|
|
38
39
|
:return:
|
|
39
40
|
"""
|
|
40
41
|
# Check if current user that executed the script is a sudo user. If not, use the current user.
|
|
41
|
-
sudo_executer_username: str =
|
|
42
|
+
sudo_executer_username: str = ubuntu_permissions.get_sudo_executer_username()
|
|
42
43
|
if sudo_executer_username:
|
|
43
44
|
current_user = sudo_executer_username
|
|
44
45
|
else:
|
|
@@ -145,7 +146,7 @@ def install_docker_ubuntu(
|
|
|
145
146
|
ubuntu_terminal.update_system_packages()
|
|
146
147
|
ubuntu_terminal.install_packages(['uidmap'])
|
|
147
148
|
|
|
148
|
-
with
|
|
149
|
+
with ubuntu_permissions.temporary_regular_permissions():
|
|
149
150
|
# After 'get-docker.sh' execution, we will install docker in rootless mode.
|
|
150
151
|
# process.execute_script('dockerd-rootless-setuptool.sh install', shell=True, as_regular_user=True)
|
|
151
152
|
process.execute_script(
|
|
@@ -164,13 +165,13 @@ def install_docker_ubuntu(
|
|
|
164
165
|
process.execute_script(docker_enable_command, shell=True, executable=None)
|
|
165
166
|
|
|
166
167
|
print_api('Executing "loginctl enable-linger" to enable Docker to run when the user is not logged in...')
|
|
167
|
-
non_sudo_executer =
|
|
168
|
+
non_sudo_executer = ubuntu_permissions.get_sudo_executer_username()
|
|
168
169
|
# Enable lingering so Docker runs when the user is not logged in
|
|
169
170
|
process.execute_script(f'sudo loginctl enable-linger {non_sudo_executer}', shell=True)
|
|
170
171
|
|
|
171
172
|
print_api('Adding $HOME/bin to your PATH...')
|
|
172
173
|
# Add $HOME/bin to your PATH if it's not already there.
|
|
173
|
-
with
|
|
174
|
+
with ubuntu_permissions.temporary_regular_permissions():
|
|
174
175
|
ubuntu_terminal.add_path_to_bashrc(as_regular_user=True)
|
|
175
176
|
|
|
176
177
|
# Add appropriate permissions to the docker socket, so the user can run docker commands without sudo in python.
|
|
@@ -2,7 +2,8 @@ import sys
|
|
|
2
2
|
import subprocess
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
|
|
5
|
-
from .... import
|
|
5
|
+
from .... import filesystem
|
|
6
|
+
from ....permissions import ubuntu_permissions
|
|
6
7
|
from ....archiver import zips
|
|
7
8
|
from ....print_api import print_api
|
|
8
9
|
from ... import githubw, pipw, ubuntu_terminal
|
|
@@ -42,7 +43,7 @@ def install_before_restart(
|
|
|
42
43
|
# sys.exit(1)
|
|
43
44
|
|
|
44
45
|
# # Install docker in rootless mode.
|
|
45
|
-
# with
|
|
46
|
+
# with ubuntu_permissions.temporary_regular_permissions():
|
|
46
47
|
# install_docker.install_docker_ubuntu(
|
|
47
48
|
# use_docker_installer=True, rootless=True, add_current_user_to_docker_group_bool=False)
|
|
48
49
|
|
|
@@ -59,7 +60,7 @@ def install_before_restart(
|
|
|
59
60
|
filesystem.remove_directory(installation_directory)
|
|
60
61
|
|
|
61
62
|
# Since you run the script with sudo, we need to change the permissions to the current user.
|
|
62
|
-
# with
|
|
63
|
+
# with ubuntu_permissions.temporary_regular_permissions():
|
|
63
64
|
# Create the FACT_core directory.
|
|
64
65
|
filesystem.create_directory(installation_directory)
|
|
65
66
|
|
|
@@ -78,7 +79,7 @@ def install_before_restart(
|
|
|
78
79
|
remove_first_directory=True, **(print_kwargs or {}))
|
|
79
80
|
|
|
80
81
|
# Set the executable permission on the pre-installation file.
|
|
81
|
-
|
|
82
|
+
ubuntu_permissions.set_executable(fact_core_pre_install_file_path)
|
|
82
83
|
|
|
83
84
|
if use_built_in_fact_installer:
|
|
84
85
|
# Run the shell script
|
|
@@ -4,7 +4,8 @@ from typing import Union
|
|
|
4
4
|
import argparse
|
|
5
5
|
import subprocess
|
|
6
6
|
|
|
7
|
-
from ... import urls, web
|
|
7
|
+
from ... import urls, web
|
|
8
|
+
from ...permissions import permissions
|
|
8
9
|
from ...print_api import print_api
|
|
9
10
|
from .. import msiw
|
|
10
11
|
from . import infrastructure
|
atomicshop/wrappers/msiw.py
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import subprocess
|
|
2
|
-
import sys
|
|
3
2
|
|
|
4
3
|
from ..print_api import print_api
|
|
5
|
-
from .. import permissions
|
|
4
|
+
from ..permissions import permissions
|
|
6
5
|
from ..import get_process_list
|
|
7
6
|
from .psutilw import processes
|
|
8
7
|
|
|
@@ -124,7 +123,7 @@ def install_msi(
|
|
|
124
123
|
command = f"{command} {additional_args}"
|
|
125
124
|
|
|
126
125
|
# if as_admin:
|
|
127
|
-
# command =
|
|
126
|
+
# command = win_permissions.get_command_to_run_as_admin_windows(command)
|
|
128
127
|
|
|
129
128
|
# Run the command
|
|
130
129
|
result = subprocess.run(command, capture_output=True, text=True)
|
|
File without changes
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
|
|
3
|
+
from ... import process
|
|
4
|
+
from ...print_api import print_api
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def parse_args():
|
|
8
|
+
"""
|
|
9
|
+
Parse command line arguments.
|
|
10
|
+
|
|
11
|
+
:return: Parsed arguments.
|
|
12
|
+
"""
|
|
13
|
+
parser = argparse.ArgumentParser(description='Install PyCharm Community Edition.')
|
|
14
|
+
parser.add_argument('--install', action='store_true', help='Install PyCharm Community Edition with snapd.')
|
|
15
|
+
parser.add_argument('--enable_sudo_execution', action='store_true',
|
|
16
|
+
help='There is a problem when trying to run snapd installed Pycharm as sudo, need to enable '
|
|
17
|
+
'this.')
|
|
18
|
+
|
|
19
|
+
return parser.parse_args()
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def install_main():
|
|
23
|
+
"""
|
|
24
|
+
Main function to install the latest PyCharm Community Edition.
|
|
25
|
+
|
|
26
|
+
Usage:
|
|
27
|
+
python -m atomicshop.a_installs.ubuntu.pycharm
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
args = parse_args()
|
|
31
|
+
|
|
32
|
+
if args.install:
|
|
33
|
+
process.execute_script('sudo snap install pycharm-community --classic', shell=True)
|
|
34
|
+
|
|
35
|
+
if args.enable_sudo_execution:
|
|
36
|
+
process.execute_script('xhost +SI:localuser:root', shell=True)
|
|
37
|
+
print_api('Run the following command to start PyCharm as root: [sudo snap run pycharm-community]', color='blue')
|
|
38
|
+
return 0
|
|
@@ -2,8 +2,8 @@ import requests
|
|
|
2
2
|
from bs4 import BeautifulSoup
|
|
3
3
|
import subprocess
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from ... import web, filesystem
|
|
6
|
+
from ...print_api import print_api
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
# URL to the PyCharm Community Edition download page
|
|
@@ -5,7 +5,7 @@ import shutil
|
|
|
5
5
|
import time
|
|
6
6
|
|
|
7
7
|
from ..print_api import print_api
|
|
8
|
-
from .. import
|
|
8
|
+
from ..permissions import ubuntu_permissions
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def install_packages(package_list: list[str]):
|
|
@@ -231,11 +231,11 @@ def add_path_to_bashrc(as_regular_user: bool = False):
|
|
|
231
231
|
|
|
232
232
|
if as_regular_user:
|
|
233
233
|
# Get the current non-sudo user
|
|
234
|
-
with
|
|
234
|
+
with ubuntu_permissions.temporary_regular_permissions():
|
|
235
235
|
current_non_sudo_user = os.getlogin()
|
|
236
236
|
|
|
237
237
|
# Get the home path of the current non-sudo user
|
|
238
|
-
user_bashrc_path =
|
|
238
|
+
user_bashrc_path = ubuntu_permissions.expand_user_path(current_non_sudo_user, home_path_bashrc)
|
|
239
239
|
else:
|
|
240
240
|
user_bashrc_path = os.path.expanduser(home_path_bashrc)
|
|
241
241
|
|
|
@@ -258,11 +258,11 @@ def add_line_to_bashrc(line: str, as_regular_user: bool = False):
|
|
|
258
258
|
|
|
259
259
|
if as_regular_user:
|
|
260
260
|
# Get the current non-sudo user
|
|
261
|
-
with
|
|
261
|
+
with ubuntu_permissions.temporary_regular_permissions():
|
|
262
262
|
current_non_sudo_user = os.getlogin()
|
|
263
263
|
|
|
264
264
|
# Get the home path of the current non-sudo user
|
|
265
|
-
user_bashrc_path =
|
|
265
|
+
user_bashrc_path = ubuntu_permissions.expand_user_path(current_non_sudo_user, home_path_bashrc)
|
|
266
266
|
else:
|
|
267
267
|
user_bashrc_path = os.path.expanduser(home_path_bashrc)
|
|
268
268
|
|
|
@@ -293,7 +293,7 @@ def get_command_execution_as_sudo_executer(command: str, add_bash_exec: bool = F
|
|
|
293
293
|
|
|
294
294
|
command = command.replace('sudo ', '').strip()
|
|
295
295
|
|
|
296
|
-
sudo_executer_username: str =
|
|
296
|
+
sudo_executer_username: str = ubuntu_permissions.get_sudo_executer_username()
|
|
297
297
|
|
|
298
298
|
if sudo_executer_username:
|
|
299
299
|
if add_bash_exec:
|
atomicshop/wrappers/wslw.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
atomicshop/__init__.py,sha256=
|
|
1
|
+
atomicshop/__init__.py,sha256=DzLsNeiwKWTo5p75-S_CaNb8QEBZEyoz2eM5n5isUr8,123
|
|
2
2
|
atomicshop/_basics_temp.py,sha256=6cu2dd6r2dLrd1BRNcVDKTHlsHs_26Gpw8QS6v32lQ0,3699
|
|
3
3
|
atomicshop/_create_pdf_demo.py,sha256=Yi-PGZuMg0RKvQmLqVeLIZYadqEZwUm-4A9JxBl_vYA,3713
|
|
4
4
|
atomicshop/_patch_import.py,sha256=ENp55sKVJ0e6-4lBvZnpz9PQCt3Otbur7F6aXDlyje4,6334
|
|
@@ -10,7 +10,7 @@ atomicshop/console_output.py,sha256=AOSJjrRryE97PAGtgDL03IBtWSi02aNol8noDnW3k6M,
|
|
|
10
10
|
atomicshop/console_user_response.py,sha256=31HIy9QGXa7f-GVR8MzJauQ79E_ZqAeagF3Ks4GGdDU,3234
|
|
11
11
|
atomicshop/datetimes.py,sha256=XF-6PbMlXgxHAOCVBGWUnAwDlFuZS1YFUGk6STFWsq0,18362
|
|
12
12
|
atomicshop/diff_check.py,sha256=Q9RCqRa-jEgo7Fujx08_JTuZ6qcgttMI6aNYB6zN9Ik,27173
|
|
13
|
-
atomicshop/dns.py,sha256=
|
|
13
|
+
atomicshop/dns.py,sha256=5WrAczISjtR9y2rUbqQ8QQxqSGqR5j8dXenUAW0O5Tc,6460
|
|
14
14
|
atomicshop/domains.py,sha256=Rxu6JhhMqFZRcoFs69IoEd1PtYca0lMCG6F1AomP7z4,3197
|
|
15
15
|
atomicshop/emails.py,sha256=I0KyODQpIMEsNRi9YWSOL8EUPBiWyon3HRdIuSj3AEU,1410
|
|
16
16
|
atomicshop/file_types.py,sha256=-0jzQMRlmU1AP9DARjk-HJm1tVE22E6ngP2mRblyEjY,763
|
|
@@ -25,7 +25,6 @@ atomicshop/ip_addresses.py,sha256=Hvi4TumEFoTEpKWaq5WNF-YzcRzt24IxmNgv-Mgax1s,11
|
|
|
25
25
|
atomicshop/keyboard_press.py,sha256=1W5kRtOB75fulVx-uF2yarBhW0_IzdI1k73AnvXstk0,452
|
|
26
26
|
atomicshop/on_exit.py,sha256=Wf1iy2e0b0Zu7oRxrct3VkLdQ_x9B32-z_JerKTt9Z0,5493
|
|
27
27
|
atomicshop/pbtkmultifile_argparse.py,sha256=aEk8nhvoQVu-xyfZosK3ma17CwIgOjzO1erXXdjwtS4,4574
|
|
28
|
-
atomicshop/permissions.py,sha256=P6tiUKV-Gw-c3ePEVsst9bqWaHJbB4ZlJB4xbDYVpEs,4436
|
|
29
28
|
atomicshop/print_api.py,sha256=j0bZ9b2rFKCcr0TVx1ARraVKeEs6JaaSgIlBdndy1nI,11600
|
|
30
29
|
atomicshop/process.py,sha256=PeLvyixXaCfftdUF3oMbohI1L4MdLtvQVDx2V1Tz_Rk,16662
|
|
31
30
|
atomicshop/python_file_patcher.py,sha256=kd3rBWvTcosLEk-7TycNdfKW9fZbe161iVwmH4niUo0,5515
|
|
@@ -42,29 +41,28 @@ atomicshop/system_resource_monitor.py,sha256=WvnnQrD5W9NRqOWI2YNcL-ut2UrvhrYToVl
|
|
|
42
41
|
atomicshop/system_resources.py,sha256=0mhDZBEcMzToCOw5ArJhtqYjktOW6iJGdyRkJ01Cpwk,9272
|
|
43
42
|
atomicshop/tempfiles.py,sha256=uq1ve2WlWehZ3NOTXJnpBBMt6HyCdBufqedF0HyzA6k,2517
|
|
44
43
|
atomicshop/timer.py,sha256=7Zw1KRV0acHCRATMnanyX2MLBb63Hc-6us3rCZ9dNlY,2345
|
|
45
|
-
atomicshop/urls.py,sha256=
|
|
44
|
+
atomicshop/urls.py,sha256=aJ0NGS9qqaKeqjkkWBs80jaBBg6MYBiPuLIyPGxscVc,1557
|
|
46
45
|
atomicshop/uuids.py,sha256=JSQdm3ZTJiwPQ1gYe6kU0TKS_7suwVrHc8JZDGYlydM,2214
|
|
47
46
|
atomicshop/virtualization.py,sha256=LPP4vjE0Vr10R6DA4lqhfX_WaNdDGRAZUW0Am6VeGco,494
|
|
48
47
|
atomicshop/web.py,sha256=J9izvF5LNEVOVkkWon0XUgJmR7nrFln03nIxW7wUZWg,11547
|
|
48
|
+
atomicshop/a_installs/ubuntu/docker_rootless.py,sha256=9IPNtGZYjfy1_n6ZRt7gWz9KZgR6XCgevjqq02xk-o0,281
|
|
49
|
+
atomicshop/a_installs/ubuntu/docker_sudo.py,sha256=JzayxeyKDtiuT4Icp2L2LyFRbx4wvpyN_bHLfZ-yX5E,281
|
|
50
|
+
atomicshop/a_installs/ubuntu/elastic_search_and_kibana.py,sha256=yRB-l1zBxdiN6av-FwNkhcBlaeu4zrDPjQ0uPGgpK2I,244
|
|
51
|
+
atomicshop/a_installs/ubuntu/pycharm.py,sha256=eFk_JDIzJJhxCuYFkjxOYHYMnZBC62Q9n5ZaFt4z9cs,132
|
|
49
52
|
atomicshop/a_installs/win/fibratus.py,sha256=TU4e9gdZ_zI73C40uueJ59pD3qmN-UFGdX5GFoVf6cM,179
|
|
50
53
|
atomicshop/a_installs/win/mongodb.py,sha256=5k9sFWM_9Zh5ShutH2IhGvAo7nrLkOIeUPzhoKvEsx8,171
|
|
51
|
-
atomicshop/a_installs/win/pycharm.py,sha256=
|
|
54
|
+
atomicshop/a_installs/win/pycharm.py,sha256=j_RSd7aDOyC3yDd-_GUTMLlQTmDrqtVFG--oUfGLiZk,140
|
|
55
|
+
atomicshop/a_installs/win/wsl_ubuntu_lts.py,sha256=dZbPRLNKFeMd6MotjkE6UDY9cOiIaaclIdR1kGYWI50,139
|
|
52
56
|
atomicshop/a_mains/dns_gateway_setting.py,sha256=ncc2rFQCChxlNP59UshwmTonLqC6MWblrVAzbbz-13M,149
|
|
53
57
|
atomicshop/a_mains/msi_unpacker.py,sha256=5hrkqETYt9HIqR_3PMf32_q06kCrIcsdm_RJV9oY438,188
|
|
54
58
|
atomicshop/a_mains/search_for_hyperlinks_in_docx.py,sha256=HkIdo_Sz9nPbbbJf1mwfwFkyI7vkvpH8qiIkuYopN4w,529
|
|
59
|
+
atomicshop/a_mains/FACT/factw_fact_extractor_docker_image_main_sudo.py,sha256=DDKX3Wp2SmzMCEtCIEOUbEKMob2ZQ7VEQGLEf9uYXrs,320
|
|
60
|
+
atomicshop/a_mains/FACT/update_extract.py,sha256=atNIBKDeGAM1XNymDjnEHq7Ke3i_rXlAfrT-1pDdz_Q,544
|
|
55
61
|
atomicshop/addons/PlayWrightCodegen.cmd,sha256=Z5cnllsyXD4F1W2h-WLEnyFkg5nZy0-hTGHRWXVOuW4,173
|
|
56
62
|
atomicshop/addons/ScriptExecution.cmd,sha256=8iC-uHs9MX9qUD_C2M7n9Xw4MZvwOfxT8H5v3hluVps,93
|
|
57
63
|
atomicshop/addons/a_setup_scripts/install_psycopg2_ubuntu.sh,sha256=lM7LkXQ2AxfFzDGyzSOfIS_zpg9bAD1k3JJ-qu5CdH8,81
|
|
58
64
|
atomicshop/addons/a_setup_scripts/install_pywintrace_0.3.cmd,sha256=lEP_o6rWcBFUyup6_c-LTL3Q2LRMqryLuG3mJw080Zc,115
|
|
59
65
|
atomicshop/addons/inits/init_to_import_all_modules.py,sha256=piyFjkqtNbM9PT2p8aGcatI615517XEQHgU9kDFwseY,559
|
|
60
|
-
atomicshop/addons/mains/install_docker_rootless_ubuntu.py,sha256=9IPNtGZYjfy1_n6ZRt7gWz9KZgR6XCgevjqq02xk-o0,281
|
|
61
|
-
atomicshop/addons/mains/install_docker_ubuntu_main_sudo.py,sha256=JzayxeyKDtiuT4Icp2L2LyFRbx4wvpyN_bHLfZ-yX5E,281
|
|
62
|
-
atomicshop/addons/mains/install_elastic_search_and_kibana_ubuntu.py,sha256=yRB-l1zBxdiN6av-FwNkhcBlaeu4zrDPjQ0uPGgpK2I,244
|
|
63
|
-
atomicshop/addons/mains/install_wsl_ubuntu_lts_admin.py,sha256=PrvZ4hMuadzj2GYKRZSwyNayJUuaSnCF9nV6ORqoPdo,123
|
|
64
|
-
atomicshop/addons/mains/FACT/factw_fact_extractor_docker_image_main_sudo.py,sha256=DDKX3Wp2SmzMCEtCIEOUbEKMob2ZQ7VEQGLEf9uYXrs,320
|
|
65
|
-
atomicshop/addons/mains/FACT/update_extract.py,sha256=H3VsdhlA7xxK5lI_nyrWUdk8GNZXbEUVR_K9cJ4ECAw,506
|
|
66
|
-
atomicshop/addons/mains/__pycache__/install_fibratus_windows.cpython-312.pyc,sha256=u92dFjDrTbZBIti9B3ttna33Jg1ZSeMYhTiupdfklt4,549
|
|
67
|
-
atomicshop/addons/mains/__pycache__/msi_unpacker.cpython-312.pyc,sha256=_jTJnhmwV3ncttk9yiIlPAabJMpziG3Q-v0xwilyY3A,415
|
|
68
66
|
atomicshop/addons/package_setup/CreateWheel.cmd,sha256=hq9aWBSH6iffYlZyaCNrFlA0vxMh3j1k8DQE8IARQuA,189
|
|
69
67
|
atomicshop/addons/package_setup/Setup in Edit mode.cmd,sha256=299RsExjR8Mup6YyC6rW0qF8lnwa3uIzwk_gYg_R_Ss,176
|
|
70
68
|
atomicshop/addons/package_setup/Setup.cmd,sha256=IMm0PfdARH7CG7h9mbWwmWD9X47l7tddwQ2U4MUxy3A,213
|
|
@@ -126,9 +124,9 @@ atomicshop/mitm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
126
124
|
atomicshop/mitm/config_static.py,sha256=PZp9AAW2ihSUZCen1fhuwFW7Rucd9jA1Pw6pK6Q3DVM,6994
|
|
127
125
|
atomicshop/mitm/config_toml_editor.py,sha256=2p1CMcktWRR_NW-SmyDwylu63ad5e0-w1QPMa8ZLDBw,1635
|
|
128
126
|
atomicshop/mitm/connection_thread_worker.py,sha256=BHSUwSKJfdGigPH1zsFXvjDH1RQV-UkRA7pyx2yn8-Q,18992
|
|
129
|
-
atomicshop/mitm/import_config.py,sha256=
|
|
127
|
+
atomicshop/mitm/import_config.py,sha256=fvUESPMkpRvkL7HtMaUqQRPwPF0eHV5V6pwueg4DQkU,7881
|
|
130
128
|
atomicshop/mitm/initialize_engines.py,sha256=YoSNksMdu4vHjr5xy77t9t5W74zyDZIdjIXrzd3eRXc,8204
|
|
131
|
-
atomicshop/mitm/initialize_mitm_server.py,sha256=
|
|
129
|
+
atomicshop/mitm/initialize_mitm_server.py,sha256=PMYjt06IysdDpq5utKof4X578EAgCp4TDjiLC7uxDPQ,18382
|
|
132
130
|
atomicshop/mitm/message.py,sha256=u2U2f2SOHdBNU-6r1Ik2W14ai2EOwxUV4wVfGZA098k,1732
|
|
133
131
|
atomicshop/mitm/shared_functions.py,sha256=hplm98tz8pgJ4WHUVI9sf_oVqUM2KJ1Y2pD6EFSb8P0,1879
|
|
134
132
|
atomicshop/mitm/statistic_analyzer.py,sha256=E0ba1PjsUEcmQUPPw2YH911lyWkbQb9OSAdgB3pihsY,24658
|
|
@@ -145,7 +143,7 @@ atomicshop/mitm/engines/__reference_general/recorder___reference_general.py,sha2
|
|
|
145
143
|
atomicshop/mitm/engines/__reference_general/responder___reference_general.py,sha256=1AM49UaFTKA0AHw-k3SV3uH3QbG-o6ux0c-GoWkKNU0,6993
|
|
146
144
|
atomicshop/mitm/statistic_analyzer_helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
145
|
atomicshop/mitm/statistic_analyzer_helper/analyzer_helper.py,sha256=pk6L1t1ea1kvlBoR9QEJptOmaX-mumhwLsP2GCKukbk,5920
|
|
148
|
-
atomicshop/mitm/statistic_analyzer_helper/moving_average_helper.py,sha256=
|
|
146
|
+
atomicshop/mitm/statistic_analyzer_helper/moving_average_helper.py,sha256=9weATjSy0Ne8XceW0LeEZ-dI_y_yZfgUNx9ZfuQsjcc,16618
|
|
149
147
|
atomicshop/monitor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
148
|
atomicshop/monitor/change_monitor.py,sha256=K5NlVp99XIDDPnQQMdru4BDmua_DtcDIhVAzkTOvD5s,7673
|
|
151
149
|
atomicshop/monitor/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -154,6 +152,10 @@ atomicshop/monitor/checks/file.py,sha256=2tIDSlX2KZNc_9i9ji1tcOqupbFTIOj7cKXLyBE
|
|
|
154
152
|
atomicshop/monitor/checks/network.py,sha256=CGZWl4WlQrxayZeVF9JspJXwYA-zWx8ECWTVGSlXc98,3825
|
|
155
153
|
atomicshop/monitor/checks/process_running.py,sha256=x66wd6-l466r8sbRQaIli0yswyGt1dH2DVXkGDL6O0Q,1891
|
|
156
154
|
atomicshop/monitor/checks/url.py,sha256=1PvKt_d7wFg7rDMFpUejAQhj0mqWsmlmrNfjNAV2G4g,4123
|
|
155
|
+
atomicshop/permissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
atomicshop/permissions/permissions.py,sha256=CYTDVOI0jh9ks0ZLnnOuPzppgCszFEc9-92DTkVTYi4,522
|
|
157
|
+
atomicshop/permissions/ubuntu_permissions.py,sha256=nMmr8ywwS0or8qJdg4ztMeqB2vppE_aytQTRQrg6lFc,2842
|
|
158
|
+
atomicshop/permissions/win_permissions.py,sha256=eDQm1jfK9x_hkbLqIJjFTwfqinAWQ0iSr0kW3XrF1BE,1272
|
|
157
159
|
atomicshop/process_poller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
160
|
atomicshop/process_poller/process_pool.py,sha256=1CaG6Cov-Pt_kZohfFeQFT42YBnEwNBA6ge55dxok_8,9600
|
|
159
161
|
atomicshop/process_poller/simple_process_pool.py,sha256=hJkrn-efetLjyC8CevAFcsiKwBBKS8onYbf2ygq2J18,4540
|
|
@@ -177,16 +179,15 @@ atomicshop/wrappers/configparserw.py,sha256=JwDTPjZoSrv44YKwIRcjyUnpN-FjgXVfMqMK
|
|
|
177
179
|
atomicshop/wrappers/cryptographyw.py,sha256=_5jgzQjgCDQrFN1f6_0y-IdIR6bGaYIjIy92bjJRuHI,13168
|
|
178
180
|
atomicshop/wrappers/ffmpegw.py,sha256=wcq0ZnAe0yajBOuTKZCCaKI7CDBjkq7FAgdW5IsKcVE,6031
|
|
179
181
|
atomicshop/wrappers/githubw.py,sha256=AQcFuT5mvDUNT_cI31MwkJ7srdhMtttF8FyXS8vs5cU,12270
|
|
180
|
-
atomicshop/wrappers/msiw.py,sha256=
|
|
182
|
+
atomicshop/wrappers/msiw.py,sha256=GQLqud72nfex3kvO1bJSruNriCYTYX1_G1gSf1MPkIA,6118
|
|
181
183
|
atomicshop/wrappers/numpyw.py,sha256=sBV4gSKyr23kXTalqAb1oqttzE_2XxBooCui66jbAqc,1025
|
|
182
184
|
atomicshop/wrappers/olefilew.py,sha256=biD5m58rogifCYmYhJBrAFb9O_Bn_spLek_9HofLeYE,2051
|
|
183
185
|
atomicshop/wrappers/pipw.py,sha256=mu4jnHkSaYNfpBiLZKMZxEX_E2LqW5BVthMZkblPB_c,1317
|
|
184
186
|
atomicshop/wrappers/process_wrapper_pbtk.py,sha256=ycPmBRnv627RWks6N8OhxJQe8Gu3h3Vwj-4HswPOw0k,599
|
|
185
|
-
atomicshop/wrappers/pycharmw.py,sha256=OHcaVlyhIqhgRioPhkeS5krDZ_NezZjpBCvyRiLjWwI,2723
|
|
186
187
|
atomicshop/wrappers/pyopensslw.py,sha256=OBWxA6EJ2vU_Qlf4M8m6ilcG3hyYB4yB0EsXUf7NhEU,6804
|
|
187
188
|
atomicshop/wrappers/sysmonw.py,sha256=MFF8ts0gHbXn2_QeH196UncOUtm4MnM2cQBzTOnfrnk,5351
|
|
188
|
-
atomicshop/wrappers/ubuntu_terminal.py,sha256=
|
|
189
|
-
atomicshop/wrappers/wslw.py,sha256=
|
|
189
|
+
atomicshop/wrappers/ubuntu_terminal.py,sha256=8BgL8EtIashrYnBxrV5R4ZLtL0mosfNHyWfV0ZjoN8w,10963
|
|
190
|
+
atomicshop/wrappers/wslw.py,sha256=2Z7X0j5M2hoRZjbHfm_vqwNXZeptsdkNCdhdcM_S9vo,6998
|
|
190
191
|
atomicshop/wrappers/certauthw/certauth.py,sha256=hKedW0DOWlEigSNm8wu4SqHkCQsGJ1tJfH7s4nr3Bk0,12223
|
|
191
192
|
atomicshop/wrappers/certauthw/certauthw.py,sha256=4WvhjANI7Kzqrr_nKmtA8Kf7B6rute_5wfP65gwQrjw,8082
|
|
192
193
|
atomicshop/wrappers/ctyping/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -201,12 +202,12 @@ atomicshop/wrappers/ctyping/msi_windows_installer/extract_msi_main.py,sha256=Nq-
|
|
|
201
202
|
atomicshop/wrappers/ctyping/msi_windows_installer/tables.py,sha256=tHsu0YfBgzuIk9L-PyqLgU_IzyVbCfy8L1EqelNnvWk,17674
|
|
202
203
|
atomicshop/wrappers/dockerw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
204
|
atomicshop/wrappers/dockerw/dockerw.py,sha256=w8zSJr5C7cbvbuG09ORCpAe0BOcibqqL_Z2EKEBHYK4,6266
|
|
204
|
-
atomicshop/wrappers/dockerw/install_docker.py,sha256=
|
|
205
|
+
atomicshop/wrappers/dockerw/install_docker.py,sha256=7NTMxCPBesr0QcqB0RZ5YU0I8FDPtNux_mYAX28wI0I,9982
|
|
205
206
|
atomicshop/wrappers/elasticsearchw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
207
|
atomicshop/wrappers/elasticsearchw/config_basic.py,sha256=fDujtrjEjbWiYh_WQ3OcYp_8mXhXPYeKLy4wSPL5qM0,1177
|
|
207
208
|
atomicshop/wrappers/elasticsearchw/elasticsearchw.py,sha256=7TqFdEFznO8NlligJhEKk1vm641ALpCYdaRl1uoXdzM,9768
|
|
208
209
|
atomicshop/wrappers/elasticsearchw/infrastructure.py,sha256=at0sD-SFtmEvfGyIU_YBEKoU-MNeVtDQSNscPm0JWLc,10368
|
|
209
|
-
atomicshop/wrappers/elasticsearchw/install_elastic.py,sha256=
|
|
210
|
+
atomicshop/wrappers/elasticsearchw/install_elastic.py,sha256=mIex4-D7R3qYNfq8f_PrBkYyB1vRF5SLvJ2Mra9hj3Y,8647
|
|
210
211
|
atomicshop/wrappers/elasticsearchw/queries/__init__.py,sha256=KBjT-bAt75CJsx1Apko9mpuFU4pfZV8DcGWQvpX65RU,78
|
|
211
212
|
atomicshop/wrappers/elasticsearchw/queries/aggregation.py,sha256=N9a5yMMnb10sMa_x1qJBFQpgyJ49UWo8_vxuqmUtZ1A,1742
|
|
212
213
|
atomicshop/wrappers/elasticsearchw/queries/info.py,sha256=P_VhhBo8MvRI4Shi-bh4RsYtlYNRKRBzScXPC64Up_Q,2900
|
|
@@ -224,7 +225,7 @@ atomicshop/wrappers/factw/fact_extractor/docker_image.py,sha256=2FyYjnw8gxFNwISQ
|
|
|
224
225
|
atomicshop/wrappers/factw/fact_extractor/get_extractor.py,sha256=2mfOAftHIlCcGt1s7MWdq7DsDCuI6wX3MtvcEZ4SK-0,756
|
|
225
226
|
atomicshop/wrappers/factw/install/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
227
|
atomicshop/wrappers/factw/install/install_after_restart.py,sha256=-VXC3KDX2BzF0oi0ELCmfch55vLk-3t16KxlmYyUGD8,1560
|
|
227
|
-
atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=
|
|
228
|
+
atomicshop/wrappers/factw/install/pre_install_and_install_before_restart.py,sha256=2bwj6gltlA2nQTsq9Yrx2XuddspKqhbtPW0_W8TBnbU,5935
|
|
228
229
|
atomicshop/wrappers/factw/postgresql/__init__.py,sha256=xMBn2d3Exo23IPP2F_9-SXmOlhFbwWDgS9KwozSTjA0,162
|
|
229
230
|
atomicshop/wrappers/factw/postgresql/analysis.py,sha256=2Rxzy2jyq3zEKIo53z8VkjuslKE_i5mq2ZpmJAvyd6U,716
|
|
230
231
|
atomicshop/wrappers/factw/postgresql/file_object.py,sha256=VRiCXnsd6yDbnsE-TEKYPC-gkAgFVkE6rygRrJLQShI,713
|
|
@@ -250,7 +251,7 @@ atomicshop/wrappers/loggingw/loggingw.py,sha256=lo4OZPXCbYZi3GqpaaJSs9SOGFfqD2Eg
|
|
|
250
251
|
atomicshop/wrappers/loggingw/reading.py,sha256=ZgFbmQdStLg2nlgzJEznsvEP0r63ki_2RRwsNnggLDI,18148
|
|
251
252
|
atomicshop/wrappers/mongodbw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
252
253
|
atomicshop/wrappers/mongodbw/infrastructure.py,sha256=tHqtt__yKGtj24CT5AIk0V0k9t1p_PjezFExXRmmmcA,1517
|
|
253
|
-
atomicshop/wrappers/mongodbw/install_mongodb.py,sha256=
|
|
254
|
+
atomicshop/wrappers/mongodbw/install_mongodb.py,sha256=21Re0NpikgYOKelyPTkosoQQxzu67dy80Kj204TL5eo,6644
|
|
254
255
|
atomicshop/wrappers/mongodbw/mongodbw.py,sha256=eDwI3sePLGWhl-neBRQM955KZOl8jaO7U0n_AzXM3es,4568
|
|
255
256
|
atomicshop/wrappers/nodejsw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
256
257
|
atomicshop/wrappers/nodejsw/install_nodejs.py,sha256=QZg-R2iTQt7kFb8wNtnTmwraSGwvUs34JIasdbNa7ZU,5154
|
|
@@ -271,6 +272,9 @@ atomicshop/wrappers/psutilw/networks.py,sha256=uv0QN-7Abp15iQ2leWj6oIoItBtBKhuLk
|
|
|
271
272
|
atomicshop/wrappers/psutilw/processes.py,sha256=ZOkqEEF36NFeQg7G-baUUdTaV8DQe_jpkJg42ASUuc0,1566
|
|
272
273
|
atomicshop/wrappers/psutilw/psutilw.py,sha256=q3EwgprqyrR4zLCjl4l5DHFOQoukEvQMIPjNB504oQ0,21262
|
|
273
274
|
atomicshop/wrappers/psycopgw/psycopgw.py,sha256=XJvVf0oAUjCHkrYfKeFuGCpfn0Oxj3u4SbKMKA1508E,7118
|
|
275
|
+
atomicshop/wrappers/pycharmw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
276
|
+
atomicshop/wrappers/pycharmw/ubuntu.py,sha256=l2_9SXrw7ApSvFOROGZdPZa5ylZBKofk4sYqf4IugQs,1223
|
|
277
|
+
atomicshop/wrappers/pycharmw/win.py,sha256=jdnTkUqZX_BrMW8AmW-xGtxdV-wmmNr_NMA2jB6JHsQ,2725
|
|
274
278
|
atomicshop/wrappers/pywin32w/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
275
279
|
atomicshop/wrappers/pywin32w/console.py,sha256=LstHajPLgXp9qQxFNR44QfH10nOnNp3bCJquxaTquns,1175
|
|
276
280
|
atomicshop/wrappers/pywin32w/winshell.py,sha256=i2bKiMldPU7_azsD5xGQDdMwjaM7suKJd3k0Szmcs6c,723
|
|
@@ -300,8 +304,8 @@ atomicshop/wrappers/socketw/socket_server_tester.py,sha256=SdchUf9qrPk1Rrat0RzvM
|
|
|
300
304
|
atomicshop/wrappers/socketw/socket_wrapper.py,sha256=655nGQp0HFy-7KNx8zHsA-miXi9ufC7DNeGsvvGALak,28415
|
|
301
305
|
atomicshop/wrappers/socketw/ssl_base.py,sha256=k4V3gwkbq10MvOH4btU4onLX2GNOsSfUAdcHmL1rpVE,2274
|
|
302
306
|
atomicshop/wrappers/socketw/statistics_csv.py,sha256=q5vRA7jL5ERFhIGctn5HjBlOppwSY9qMoEVgo898AIo,2979
|
|
303
|
-
atomicshop-2.16.
|
|
304
|
-
atomicshop-2.16.
|
|
305
|
-
atomicshop-2.16.
|
|
306
|
-
atomicshop-2.16.
|
|
307
|
-
atomicshop-2.16.
|
|
307
|
+
atomicshop-2.16.2.dist-info/LICENSE.txt,sha256=lLU7EYycfYcK2NR_1gfnhnRC8b8ccOTElACYplgZN88,1094
|
|
308
|
+
atomicshop-2.16.2.dist-info/METADATA,sha256=XKUGZGKugdxkcysucbwMsc6KljxRiR0m2sT0HKOtStU,10502
|
|
309
|
+
atomicshop-2.16.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
310
|
+
atomicshop-2.16.2.dist-info/top_level.txt,sha256=EgKJB-7xcrAPeqTRF2laD_Np2gNGYkJkd4OyXqpJphA,11
|
|
311
|
+
atomicshop-2.16.2.dist-info/RECORD,,
|
|
Binary file
|
|
Binary file
|
/atomicshop/{addons/mains/install_docker_rootless_ubuntu.py → a_installs/ubuntu/docker_rootless.py}
RENAMED
|
File without changes
|
/atomicshop/{addons/mains/install_docker_ubuntu_main_sudo.py → a_installs/ubuntu/docker_sudo.py}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|