Skip to content

Instantly share code, notes, and snippets.

View socheatsok78's full-sized avatar
🖖
༼ つ ◕_◕ ༽つ is having a baby

Socheat Sok socheatsok78

🖖
༼ つ ◕_◕ ༽つ is having a baby
View GitHub Profile
@socheatsok78
socheatsok78 / README.md
Last active April 27, 2023 08:46
Poor man's reverse proxy with SSH

Usage

Install the service by adding the ssh-reverse-proxy@.service to /lib/systemd/system/.

Create a config for a service:

Example:

# /etc/default/ssh-reverse-proxy@your-service
@socheatsok78
socheatsok78 / esm-package.md
Created April 19, 2023 17:24 — forked from sindresorhus/esm-package.md
Pure ESM package

Pure ESM package

The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.

This means you have the following choices:

  1. Use ESM yourself. (preferred)
    Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.
  2. If the package is used in an async context, you could use await import(…) from CommonJS instead of require(…).
  3. Stay on the existing version of the package until you can move to ESM.
@socheatsok78
socheatsok78 / markdown-printer.js
Last active March 10, 2023 10:28
Print GitHub Markdown Document
// Print GitHub Markdown Document
// Copy following scripts in the developer console of page included markdown content you want to print and run "printMarkdown("#readmy")
function printMarkdown(selector) {
var $ = document.querySelector.bind(document);
$(selector).setAttribute('style', 'position:absolute;top:0;left:0;right:0;bottom:0;z-index:100;background-color:white');
$(selector + '>article').setAttribute('style', 'border: none');
$('body').innerHTML = $(selector).outerHTML;
window.print();
}
@socheatsok78
socheatsok78 / SSLPoke.java
Created February 16, 2023 02:53 — forked from bric3/SSLPoke.java
The famous SSLPoke from Atlassian : establish a TLS connection but support http proxy and updated to Java 11
import javax.net.ssl.SSLParameters;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
@socheatsok78
socheatsok78 / README.md
Last active June 22, 2023 14:31
A simple fix for using "ca-certificates" to update Java "cacerts" store for container.

About

A simple fix for using ca-certificates to update Java cacerts store for container.

Use with pre-built JDK/JRE container

Due to the update-ca-certificates will output the Java cacerts store to /etc/ssl/certs/java/cacerts which the pre-built image not aware of the changes. So by removing the ${JAVA_HOME}/lib/security/cacerts and create a symbolic link from /etc/ssl/certs/java/cacerts to ${JAVA_HOME}/lib/security/cacerts will resolve the issue.

Alpine

FROM eclipse-temurin:17-jre-alpine
@socheatsok78
socheatsok78 / Makefile
Created February 7, 2023 14:31 — forked from sighingnow/Makefile
Detect operating system in Makefile.
# Detect operating system in Makefile.
# Author: He Tao
# Date: 2015-05-30
OSFLAG :=
ifeq ($(OS),Windows_NT)
OSFLAG += -D WIN32
ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
OSFLAG += -D AMD64
endif
@socheatsok78
socheatsok78 / README.md
Last active October 13, 2023 11:43
s6-overlay logging configuration

Logging

The log will be written to both /var/log/some-service as well as standard output.

The key is that s6-log reads in a whole "logging script" on the command line, and you can have multiple actions - here's the link to the manual.

S6_LOGGING_SCRIPT="T 1 n20 s1000000 T"
@socheatsok78
socheatsok78 / http-benchmark.md
Created November 13, 2022 05:34 — forked from denji/http-benchmark.md
HTTP(S) Benchmark Tools / Toolkit for testing/debugging HTTP(S) and restAPI (RESTful)
@socheatsok78
socheatsok78 / Public_Time_Servers.md
Created October 31, 2022 12:40 — forked from mutin-sa/Top_Public_Time_Servers.md
List of Top Public Time Servers

Google Public NTP [AS15169]:

time.google.com

time1.google.com

time2.google.com

time3.google.com