Instantly share code, notes, and snippets.

View scan.rb
#!/usr/bin/env ruby
require 'socket'
def tcp_connect(address, port, timeout: 20)
# making sure we are talking with IP
connected = false
addr = Socket.getaddrinfo(address, nil)
sock_addr = Socket.pack_sockaddr_in(port, addr[0][3])
Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket|
View fact_err
2018-04-25T09:22:15 [I|app|] Started POST "/api/v2/discovered_hosts/facts" for ::1 at 2018-04-25 09:22:15 +0300
2018-04-25T09:22:15 [I|app|13a50] Processing by Api::V2::DiscoveredHostsController#facts as JSON
2018-04-25T09:22:15 [I|app|13a50] Parameters: {"facts"=>"[FILTERED]", "apiv"=>"v2", "discovered_host"=>{"facts"=>"[FILTERED]"}}
2018-04-25T09:22:15 [I|app|13a50] Current user: foreman_admin (administrator)
2018-04-25T09:22:15 [D|app|13a50] Setting current user thread-local variable to foreman_admin
2018-04-25T09:22:15 [I|aud|13a50] create event for Nic::Managed with id 44
2018-04-25T09:22:15 [D|app|13a50] Setting current user thread-local variable to nil
2018-04-25T09:22:15 [W|app|13a50] Host discovery failed, facts: {"physicalprocessorcount"=>"3", "memorysize_mb"=>"900", "blockdevice.sda_size"=>"1234567890"
View simple_bench.rb
require 'benchmark'
N = 1_000_000
REGEX = /^abc/
STR = 'abc are letters'.freeze
Benchmark.bm(13) do |x|
x.report('start_with?') do
N.times do
STR.start_with?('abc')
View regexp_vs_start_with.rb
require 'benchmark'
require 'securerandom'
N = 1_000_000
REGEX = /^(abc|Abc|ABC)/
def gen_randstr(len = 24)
SecureRandom.base64(len)
end
View documented_code.c
/* ... */
const char * get_message(void * payload) {
payload_t *data = payload;
if (!data->len > MIN_PAYLOAD_LEN) {
return null;
}
return sprintf("%s%s", data->name, data->content);
}
View func.sh
#!/bin/sh
func() {
for p in $(echo /tmp/*); do
f=$(basename -a "$path")
echo $f
done
}
View sanitize.rb
# help to avoid path traversal, and execution of anything on a machine
# due to file name
def escape_file_name(name)
# regex is a s follows:
# if it's the begining of the string, or there is no escape char
# for the following chars,
# add an escape for that char
name.gsub(/(^|[^\\])([\s\!\'\"#$&\^\*\`\/\(\)\[\]\?\{\}\|\~])/) do |match|
"\\#{match[1]}"
end
View pause_resume.go
package main
import (
"fmt"
"runtime"
"time"
)
// Thread stages
const (
View scryp.go
package main
import (
"crypto/rand"
"fmt"
"golang.org/x/crypto/scrypt"
)
func main() {
View main.go
package main
import "C"
import (
"fmt"
"plugin"
)
func main() {
p, err := plugin.Open("./plugins.so")