Skip to content

Instantly share code, notes, and snippets.

View dzmitry-savitski's full-sized avatar

Dzmitry Savitski dzmitry-savitski

View GitHub Profile
@dzmitry-savitski
dzmitry-savitski / new.js
Last active January 30, 2025 20:28
puppeteer examle
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
let openedAt = null;
let redirectedAt = null;
let endedAt = null;
// Promise to track when a redirect happens
let redirectPromise = new Promise(resolve => {
page.on('response', response => {
@dzmitry-savitski
dzmitry-savitski / cyberark.groovy
Created March 26, 2025 17:16
Groovy CyberArk example
import javax.net.ssl.*
import java.security.KeyStore
import java.io.*
import java.net.URL
// --- Configuration ---
def apiUrl = "https://<pvwa-url>/AIMWebService/api/Accounts"
def appId = "MyAppID"
def safe = "MySafe"
def objectName = "MyAccount"
@dzmitry-savitski
dzmitry-savitski / gss.groovy
Created March 31, 2025 20:56
GSS groovy check
import javax.security.auth.login.LoginContext
import javax.security.auth.login.Configuration
import javax.security.auth.callback.*
import com.sun.security.auth.callback.TextCallbackHandler
class PasswordCallbackHandler implements CallbackHandler {
private String username
private String password
PasswordCallbackHandler(String username, String password) {
import { jwtDecrypt } from 'jose';
// Your base64-encoded 256-bit key (should decode to 32 bytes)
const base64Key = 'yourBase64EncodedKeyHere'; // example: "3q2+7w==..."
// Decode base64 to a Uint8Array
const key = Uint8Array.from(Buffer.from(base64Key, 'base64'));
// Your JWE compact token
const token = 'eyJalgIjoiZGlyIiwiZW5jIjoiQTI1NkdDTSJ9..<IV>.<ciphertext>.<tag>';