Skip to content

Instantly share code, notes, and snippets.

View AhnMo's full-sized avatar
🤔
Karma

Park Jung-hwan AhnMo

🤔
Karma
View GitHub Profile
@AhnMo
AhnMo / check.js
Last active March 13, 2023 08:22 — forked from kaimi-/gist:6b3c99538dce9e3d29ad647b325007c1
Possible IP Bypass HTTP Headers
(async function() {
const baseline = await fetch('').then(r => r.text());
const header_keys = [
"CACHE_INFO", "CF_CONNECTING_IP", "CF-Connecting-IP", "CLIENT_IP", "Client-IP",
"COMING_FROM", "CONNECT_VIA_IP", "FORWARD_FOR", "FORWARD-FOR", "FORWARDED_FOR_IP",
"FORWARDED_FOR", "FORWARDED-FOR-IP", "FORWARDED-FOR", "FORWARDED", "HTTP-CLIENT-IP",
"HTTP-FORWARDED-FOR-IP", "HTTP-PC-REMOTE-ADDR", "HTTP-PROXY-CONNECTION", "HTTP-VIA", "HTTP-X-FORWARDED-FOR-IP",
"HTTP-X-IMFORWARDS", "HTTP-XROXY-CONNECTION", "PC_REMOTE_ADDR", "PRAGMA", "PROXY_AUTHORIZATION",
"PROXY_CONNECTION", "Proxy-Client-IP", "PROXY", "REMOTE_ADDR", "Source-IP",
"True-Client-IP", "Via", "VIA", "WL-Proxy-Client-IP", "X_CLUSTER_CLIENT_IP",
import { Service } from 'typedi'
@Service()
export class ExampleInjectedService {
printMessage() {
console.log('I am alive!')
}
}
@AhnMo
AhnMo / FairPlayer.swift
Created December 17, 2020 09:43 — forked from fousa/FairPlayer.swift
Integrate HLS with FairPlay.
class FairPlayer: AVPlayer {
private let queue = DispatchQueue(label: "com.icapps.fairplay.queue")
func play(asset: AVURLAsset) {
// Set the resource loader delegate to this class. The `resourceLoader`'s delegate will be
// triggered when FairPlay handling is required.
asset.resourceLoader.setDelegate(self, queue: queue)
// Load the asset in the player.

M2Crypto Installation error

If you have trobble with installing M2Crypto, please install libssl-dev and swig.

$ sudo apt install libssl-dev swig

Error message (libssl-dev)

    ERROR: Command errored out with exit status 1:
     command: /home/notroot/.virtualenvs/tad/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8NAhTW/M2Crypto/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8NAhTW/M2Crypto/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-fvI7gc/install-record.txt --single-version-externally-managed --compile --install-headers /home/notroot/.virtualenvs/tad/include/site/python2.7/M2Crypto
#include <iostream>
#include <map>
#include <vector>
#include <string>
#include <algorithm>
void findAtFirstAndChangeSecond(
std::vector<std::pair<std::string, std::string>>& v,
const std::string key,
const std::string val
<img id="test" />
<script>
let mock_console = {
log: function(...args) { console.log(...args); }
};
let mock_document = {
getElementById: function(element_name) { return window.document.getElementById(element_name); },
createElement: function(element_name) { return null; }, // restricted
def solution(n, computers):
network = [0 for _ in range(n)]
done = False
no = 0
for idx in range(n):
if network[idx] == 0:
no += 1
current = no
function encode_query_string(x) {
let output = [];
Object.keys(x).forEach(function(key) {
output.push(`${encodeURIComponent(key)}=${encodeURIComponent(x[key])}`);
});
return output.join('&');
}
function decode_query_string(x) {
let output = {};
import java.util.Iterator;
import java.util.Random;
public class Queue<T> implements QueueInterface<T>, Iterable<T> {
private static final int DEFAULT_CAPACITY = 10;
private int current = 0;
private int rear = 0;
private Object[] queueArray = null;
private int capacity = 0;