Skip to content

Instantly share code, notes, and snippets.

View evilUrge's full-sized avatar
🎮

Gilad Maoz evilUrge

🎮
View GitHub Profile
@evilUrge
evilUrge / stack-lib.ts
Last active December 1, 2022 14:08
Generic CDK
import { join } from "path";
import { fileURLToPath } from "url";
import type { Construct } from "constructs";
import { Duration, Stack, StackProps } from "aws-cdk-lib";
import { LogLevel, NodejsFunction } from "aws-cdk-lib/aws-lambda-nodejs";
import { Runtime } from "aws-cdk-lib/aws-lambda";
import { Rule, Schedule } from "aws-cdk-lib/aws-events";
import { LambdaFunction } from "aws-cdk-lib/aws-events-targets";
import { Effect, PolicyStatement } from "aws-cdk-lib/aws-iam";
@evilUrge
evilUrge / generateCommonColumns.ts
Created January 27, 2022 14:31
Create a parquet columns and Glue table columns from a common object
import { Schema } as GlueSchema from '@aws-cdk/aws-glue';
/**
* Create a parquet columns and Glue table columns from a common object
* @param attributes { name: type }
* @returns {
* parquetSchema: { name: { type: 'type' }, ...},
* glueSchema: [
* { name: 'name', type: 'UTF8' },
* ...
@evilUrge
evilUrge / req.js
Created June 17, 2022 11:54
SSL Pinning
const { Agent } = require("https"),
request = require("request");
const FINGERPRINTSET = [
"C3:07:56:2C:08:A5:E1:2E:41:20:10:7A:02:87:86:C3:72:49:45:BF",
];
const req = request(
{
url: "https://www.duckduckgo.com/",
@evilUrge
evilUrge / Paginator.ts
Last active June 8, 2022 14:28
Aws SDK Paginator
/**
* Paginates over a AWS service function.
* @param functionToExec The function to execute
* @param methodToExec The method to execute
* @param params The parameters to pass to the method
* @param keyToAppend The key to append to the result
* @returns A promise that resolves to an array of results
*/
export async function paginator(
functionToExec: any,
@evilUrge
evilUrge / addUser.js
Last active July 12, 2021 13:37
Add\remove user automatically to JFrog from a triggered github webhook call
exports.handler = async (event, context, callback) => {
const
baseJFrogURL = 'https://yourorg.jfrog.io/artifactory',
request = event.Records[0].cf.request,
body = request.body;
switch (body.action) {
case 'added':
const orgEmailAddress = useJeffUserQueryHere(body.member.login) // Your place to shine!
const payload = {
@evilUrge
evilUrge / webhook.py
Last active October 13, 2020 11:59
Plain webhook - Report for every change in a spesific model based on a pre-exists django WebHook model condition
import logging
logger = logging.getLogger(__name__)
def report(saved_object):
"""
report is the main function in reporter
# :param uid: django ORM unique identifier; for internal usage.
@evilUrge
evilUrge / view.py
Last active October 13, 2020 10:53
Django external webhook view
import logging
from json import loads
from django.apps import apps
from django.core.exceptions import FieldDoesNotExist, FieldError
from django.core.serializers import serialize
from django.http import JsonResponse
logger = logging.getLogger(__name__)
@evilUrge
evilUrge / .fetchRemoteConf.js
Created September 1, 2020 09:53
Fetch firebase remote config - a script for npm build
require('dotenv').config()
const admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert(
process.env.NODE_ENV === 'production'
? require('./gcp.json')
: JSON.parse(process.env.FIREBASE_ADMIN_SDK)
),
databaseURL: process.env.FIREBASE_DATABASE_URL
});
@evilUrge
evilUrge / express_server_obj_exposed_to_firebase.js
Last active May 13, 2019 09:53
Firebase function serving restify server if production(else just start server onj)
const server = require(`./src/server`);
process.env.NODE_ENV === "DEV" ?
/**
* If dev environment, run express server for local debugging.
*/
server.listen(process.env.PORT || 3000) :
/**
* Creates a function instance and with a specific specs.
@evilUrge
evilUrge / server.js
Last active May 6, 2019 12:06
Express.js\restify auto register handlers by path
module.exports = (() => {
/**
* Map all available handlers to express route.
* @type {{handler}|*}
*/
const fs = require('fs');
const express = require('express');
const bodyParser = require('body-parser');
const bunyan = require('bunyan');