Skip to content

Instantly share code, notes, and snippets.

View dorentus's full-sized avatar
🎲
🌎🌍🌏

ZHANG Yi dorentus

🎲
🌎🌍🌏
View GitHub Profile
#!/usr/bin/arch -x86_64 /bin/sh
exec $SHELL --login
# ISP Shanghai Telecom
bogus-nxdomain=180.168.41.175
# OpenDNS
bogus-nxdomain=67.215.65.132
bogus-nxdomain=67.215.77.132
bogus-nxdomain=208.69.34.132
bogus-nxdomain=208.69.32.132
# DNSPai
@dorentus
dorentus / 95-lolcat
Last active February 15, 2022 12:21
dynamically generated /etc/motd using fortune, cowsay & lolcat,save it as /etc/update-motd.d/95-lolcat.Google `pam_motd` or `update-motd` for more details of dynamically generated message-of-the-day.
#!/bin/bash
# see: http://blog.tomtung.com/2009/11/cowsay-fortune
# http://www.commandlinefu.com/commands/view/3584/remove-color-codes-special-characters-with-sed
# https://github.com/busyloop/lolcat
# https://github.com/dorentus/mruby-lolcat-bin
#
# requires `fortune`, `cowsay`,
# and ruby gem `lolcat` or its mruby version equivalent
export LANG="en_US.UTF-8"
@dorentus
dorentus / webview.m
Last active May 27, 2021 06:16
Bypass Apple's UIWebView deprecation detection
#import <Foundation/Foundation.h>
#import <dlfcn.h>
@interface UIWebView : NSObject
@end
@implementation UIWebView
+ (id)alloc
{
#!/usr/bin/env xcrun swift
import Foundation
import CoreText
func input_from_stdin() -> String {
var input = ""
let stdin = FileHandle.standardInput
let zeroData = Data()
while true {
let input_data = stdin.availableData
@dorentus
dorentus / build_config.rb
Last active August 31, 2020 01:53
Put build_config.rb into mruby root dir, make, and put build_framework.rb into build dir and run it to get a MRuby.framework, run collect_mrb_gem_archive.rb <gem_name> in build dir to get a seperate <gem_name>.framework
MRuby::Build.new do |conf|
toolchain :clang
conf.gembox 'default'
end
def crossbuild_for(name, platform, sysroot, cc_defines = [])
MRuby::CrossBuild.new(name) do |conf|
toolchain :clang
conf.gembox 'default'
@dorentus
dorentus / shadowsocks-server.service
Last active April 21, 2017 15:59
wget 'https://gist.githubusercontent.com/dorentus/10704239/raw/shadowsocks-server.service' -O /etc/systemd/system/shadowsocks-server.service && systemctl enable shadowsocks-server.service && systemctl start shadowsocks-server.service
[Unit]
Description=Shadowsocks Server
After=network.target
[Service]
Type=forking
PIDFile=/run/shadowsocks/server.pid
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /run/shadowsocks
ExecStartPre=/bin/chown nobody:nogroup /run/shadowsocks
@dorentus
dorentus / ramdish.sh
Last active February 9, 2017 08:19
ramdisk.sh
#!/bin/bash
RD=ramdisk
if [ ! -e "/Volumes/$RD" ]; then
diskutil erasevolume HFS+ "$RD" `hdiutil attach -nomount ram://16777216` # 8G
# ~/Library/Developer/Xcode
mkdir -p "/Volumes/$RD/Xcode"
@dorentus
dorentus / dynamic_cast.mm
Created August 30, 2016 02:23 — forked from bdash/dynamic_cast.mm
Excerpt from Hopper pseudocode from __dynamic_cast in libc++abi.dylib
if ((*(int8_t *)guard variable for __dynamic_cast::use_strcmp == 0x0) && (___cxa_guard_acquire(guard variable for __dynamic_cast::use_strcmp, rsi, rdx, rcx, r8, r9) != 0x0)) {
rsi = *_NSGetProgname();
rcx = 0x1;
if (strcmp("Adobe Illustrator", rsi) != 0x0) {
rsi = *_NSGetProgname();
rdx = 0x13;
rcx = strncmp("Adobe Photoshop CS5", rsi, rdx) == 0x0 ? 0x1 : 0x0;
}
*(int8_t *)__dynamic_cast::use_strcmp = rcx;
___cxa_guard_release(guard variable for __dynamic_cast::use_strcmp, rsi, rdx, rcx, r8, r9);

Keybase proof

I hereby claim:

  • I am dorentus on github.
  • I am dorentus (https://keybase.io/dorentus) on keybase.
  • I have a public key whose fingerprint is 32DD 649A 9F71 F018 1561 5167 34A8 0D0F 6825 922C

To claim this, I am signing this object: