Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Image based tool for RDP (Remote Desktop Protocol) manipulations, automations and testing via Python and Apache Guacamole
Tool for image-based control RDP (Remote Desktop Protocol). Manipulations, automations and testing via Python and Apache Guacamole
https://user-images.githubusercontent.com/710389/202258413-5c867a64-06d7-4cb5-8034-08523b114db4.mp4
Installed and configured Apache Guacamole. I used this guacamole docker project: https://github.com/boschkundendienst/guacamole-docker-compose
see ./examples
folder. To run it, clone this repo, and:
poetry shell
poetry install
python examples/copy_and_zip.py
Only Windows 7 is currently supported because I only needed to work with Windows 7 PCs. If you need support for other OSes, use your ASSERT_DICT
, make a pull request, or write an issue. We'll figure something out.
Pass it to instance of RDP
for unsupported OS (see below)
{
'prelogin': './image_asserts/prelogin.png',
'login': './image_asserts/login.png',
'post_login': './image_asserts/post_login.png',
'start_btn': './image_asserts/start_btn.png',
'start_btn_selected': './image_asserts/start_btn_selected.png',
'run_window': './image_asserts/run_window.png',
'lang_ru': './image_asserts/lang_ru.png',
'lang_en': './image_asserts/lang_en.png',
'opened_folder': './image_asserts/opened_folder.png',
'files_copy': './image_asserts/files_copy.png',
}
class RDP()
RDP class
def __init__(headless=headless,
width=width,
height=height,
clear_logs=clear_logs,
assert_dict=ASSERT_DICT) -> None
Arguments:
headless
bool, optional - if False rdp window is shown.
(default is True)width
int, optional - witdth of rdp window. Set it same in guacamole
(default is 800)height
int, optional - witdth of rdp window. Set it same in guacamole
(default is 600)clear_logs
bool, optional - if True old image logs will be removed when RDP class inited.
(default is True)assert_dict
dict, optional - dict with assertion images. Pass it for unsupported OS
(default is ASSERT_DICT
)def login(guacamole_user: str,
guacamole_password: str,
guacamole_pc_name: str,
guacamole_url=guacamole_url) -> None
Login method. Call this first
def key_press(keys: str)
This is wrapper of playwright keyboard.press method. see: https://playwright.dev/python/docs/api/class-keyboard#keyboard-press
def key_type(text: str)
Type text on remote pc
def make_screenshot(filename: Optional[str] = None,
path: Optional[str] = None) -> str
Make screenshot, and save it to default direcotry (./image_logs), or to given path
def is_on_screen(assertion: str, threshold: float = image_threshold) -> bool
Checking assertion image is on screen (assertion is a path to image)
def wait_until_appear(assertion: str,
attempts: int = screen_state_attempts,
threshold: float = image_threshold) -> None
Waiting until assertion image is appear on screen (assertion is a path to image)
def wait_until_desappear(assertion: str,
attempts: int = screen_state_attempts,
threshold: float = image_threshold) -> None
Waiting until assertion image is desappear on screen (assertion is a path to image)
def exec_remote(cmd_str: str) -> None
Execute remote command via win+r run window
def copydir(from_path: str, to_path: str) -> None
Copy folder on remote PC
def copy(from_path: str, to_path: str) -> None
Copy file on remote PC
def mkdir(dir_path: str) -> None
Making directory
def opendir(dir_path: str, local: bool = False) -> None
Open explorer.exe of given directory path
def closedir(dir_name: str) -> None
Close explorer.exe of given directory name
def mouse_click(x: float, y: float, click_count: int = 1) -> None
Mouse left click on remote PC by giving coordinates
def mouse_move(x: float, y: float) -> None
Mouse move on remote PC by giving coordinates
def mouse_move_to(assertion: str) -> Optional[tuple[float, float]]
Mouse move on remote PC by giving image assertion path
def mouse_click_to(
assertion: str,
button: Literal['left', 'middle', 'right'] = 'left') -> Optional[tuple[float, float]]
Mouse click on remote PC by giving image assertion path
def current_lang() -> Optional[str]
Get a current keuboard language (now support only 'en' and 'ru')
def lang_switch(lang: Optional[str] = None) -> Optional[str]
Switch keuboard language (now support only 'en' and 'ru')
def logout() -> None
Logout method
FAQs
Image based tool for RDP (Remote Desktop Protocol) manipulations, automations and testing via Python and Apache Guacamole
We found that rdp-manipulations demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.