0%

站点是最基本的 nginx 目录列表,已经按照疾病顺序分别列好。

搜索使用主题的自带的搜索功能,但是不能很强大。

如果有进一步的搜索需求可以使用 bing 的搜索功能。

在搜索栏中输入:

1
site:urology.wiki 关键词

即可完成全文搜索,当然如果能上谷歌效果也是一样的。

百度不行,亲测不行。

沉迷 FPS 不能自拔,但是目前最有 CS1.5/1.6 味道的游戏就是 CS 起源了。

奈何电脑太强,基本就是见面死,就开个服务器大家一起玩耍。

这里记录一下搭建过程。使用的是腾讯云,真香,1C2G6M 一年 99。

首先安装交叉编译的 glibc

1
2
3
yum install glibc.i686

yum install libgcc_s.so.1

然后就是把之前的服务器文档传到一样的目录就好啦。

家中群晖开 docker 跑了个 AdGuard Home。结合反广告规则确实能搞定不少事情。

最大的感受就是开屏广告和微信朋友圈广告都没了。

但是又想将 DNS 请求分流了,解决 DNS 污染的问题。

在 GITHUB 上找到了这个 gfwlist2adguardhome 这个项目,测试成功。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash

# Desc: convert gfwlist.txt into dnsmasq.conf
# Dependency: base64, curl(https support), perl5 v5.10.0+
# Usage: bash gfwlist2dnsmasq [-s <addr>] [-p <port>] [-n <name>] [-l]
# -s <addr> dns server addr for resolve gfwlist domain. (default: 127.0.0.1)
# -p <port> dns server port for resolve gfwlist domain. (default: 60053)
# -n <name> which ipset will be saved the IP. (resolved from gfwlist domain)
# if this option is not set, the ipset rule will not be generated.
# -l generate gfwlist domain list instead of dnsmasq conf.
# if this option is set, other options will be ignored.
# -h show this help and exit.

# check dependency
command -v curl &>/dev/null || { echo "curl is not installed in this system" 1>&2; exit 1; }
command -v perl &>/dev/null || { echo "perl is not installed in this system" 1>&2; exit 1; }
command -v base64 &>/dev/null || { echo "base64 is not installed in this system" 1>&2; exit 1; }

# parse command line
while getopts ":s:p:n:lh" OPT; do
case $OPT in
s) dns_addr="$OPTARG";;
n) set_name="$OPTARG";;
l) dom_list="true";;
h) cat << EOF
Usage: bash gfwlist2dnsmasq [-s <addr>] [-p <port>] [-n <name>] [-l]
-s <addr> dns server addr for resolve gfwlist domain. (default: 127.0.0.1)
-h show this help and exit.
EOF
exit;;
:) echo "Missing argument to '-$OPTARG'" 1>&2; exit 1;;
\?) echo "Unknown option '-$OPTARG'" 1>&2;;
esac
done

# temporary file
test -z "$dom_list" && temporary_file=$(mktemp) || temporary_file='domain_list.txt'

# convert gfwlist.txt
base64 -d </dev/null &>/dev/null && base64='base64 -d'
base64 --decode </dev/null &>/dev/null && base64='base64 --decode'
[ "$base64" ] || { echo "[ERR] Command not found: 'base64'" 1>&2; exit 1; }
curl -4sSkL https://raw.github.com/gfwlist/gfwlist/master/gfwlist.txt | $base64 | { perl -pe '
if (/URL Keywords/i) { $null = <> until $null =~ /^!/ }
s#^\s*+$|^!.*+$|^@@.*+$|^\[AutoProxy.*+$|^/.*/$##i;
s@^\|\|?|\|$@@;
s@^https?:/?/?@@i;
s@(?:/|%).*+$@@;
s@\*[^.*]++$@\n@;
s@^.*?\*[^.]*+(?=[^*]+$)@@;
s@^\*?\.|^.*\.\*?$@@;
s@(?=[^0-9a-zA-Z.-]).*+$@@;
s@^\d+\.\d+\.\d+\.\d+(?::\d+)?$@@;
s@^\s*+$@@'
echo 'twimg.edgesuite.net'
echo -e 'blogspot.ae\nblogspot.al\nblogspot.am\nblogspot.ba\nblogspot.be\nblogspot.bg\nblogspot.bj\nblogspot.ca\nblogspot.cat\nblogspot.cf\nblogspot.ch\nblogspot.cl\nblogspot.co.at\nblogspot.co.id\nblogspot.co.il\nblogspot.co.ke\nblogspot.com\nblogspot.com.ar\nblogspot.com.au\nblogspot.com.br\nblogspot.com.by\nblogspot.com.co\nblogspot.com.cy\nblogspot.com.ee\nblogspot.com.eg\nblogspot.com.es\nblogspot.com.mt\nblogspot.com.ng\nblogspot.com.tr\nblogspot.com.uy\nblogspot.co.nz\nblogspot.co.uk\nblogspot.co.za\nblogspot.cv\nblogspot.cz\nblogspot.de\nblogspot.dk\nblogspot.fi\nblogspot.fr\nblogspot.gr\nblogspot.hk\nblogspot.hr\nblogspot.hu\nblogspot.ie\nblogspot.in\nblogspot.is\nblogspot.it\nblogspot.jp\nblogspot.kr\nblogspot.li\nblogspot.lt\nblogspot.lu\nblogspot.md\nblogspot.mk\nblogspot.mr\nblogspot.mx\nblogspot.my\nblogspot.nl\nblogspot.no\nblogspot.pe\nblogspot.pt\nblogspot.qa\nblogspot.re\nblogspot.ro\nblogspot.rs\nblogspot.ru\nblogspot.se\nblogspot.sg\nblogspot.si\nblogspot.sk\nblogspot.sn\nblogspot.td\nblogspot.tw\nblogspot.ug\nblogspot.vn'
echo -e 'google.ac\ngoogle.ad\ngoogle.ae\ngoogle.al\ngoogle.am\ngoogle.as\ngoogle.at\ngoogle.az\ngoogle.ba\ngoogle.be\ngoogle.bf\ngoogle.bg\ngoogle.bi\ngoogle.bj\ngoogle.bs\ngoogle.bt\ngoogle.by\ngoogle.ca\ngoogle.cat\ngoogle.cc\ngoogle.cd\ngoogle.cf\ngoogle.cg\ngoogle.ch\ngoogle.ci\ngoogle.cl\ngoogle.cm\ngoogle.cn\ngoogle.co.ao\ngoogle.co.bw\ngoogle.co.ck\ngoogle.co.cr\ngoogle.co.id\ngoogle.co.il\ngoogle.co.in\ngoogle.co.jp\ngoogle.co.ke\ngoogle.co.kr\ngoogle.co.ls\ngoogle.com\ngoogle.co.ma\ngoogle.com.af\ngoogle.com.ag\ngoogle.com.ai\ngoogle.com.ar\ngoogle.com.au\ngoogle.com.bd\ngoogle.com.bh\ngoogle.com.bn\ngoogle.com.bo\ngoogle.com.br\ngoogle.com.bz\ngoogle.com.co\ngoogle.com.cu\ngoogle.com.cy\ngoogle.com.do\ngoogle.com.ec\ngoogle.com.eg\ngoogle.com.et\ngoogle.com.fj\ngoogle.com.gh\ngoogle.com.gi\ngoogle.com.gt\ngoogle.com.hk\ngoogle.com.jm\ngoogle.com.kh\ngoogle.com.kw\ngoogle.com.lb\ngoogle.com.lc\ngoogle.com.ly\ngoogle.com.mm\ngoogle.com.mt\ngoogle.com.mx\ngoogle.com.my\ngoogle.com.na\ngoogle.com.nf\ngoogle.com.ng\ngoogle.com.ni\ngoogle.com.np\ngoogle.com.om\ngoogle.com.pa\ngoogle.com.pe\ngoogle.com.pg\ngoogle.com.ph\ngoogle.com.pk\ngoogle.com.pr\ngoogle.com.py\ngoogle.com.qa\ngoogle.com.sa\ngoogle.com.sb\ngoogle.com.sg\ngoogle.com.sl\ngoogle.com.sv\ngoogle.com.tj\ngoogle.com.tr\ngoogle.com.tw\ngoogle.com.ua\ngoogle.com.uy\ngoogle.com.vc\ngoogle.com.vn\ngoogle.co.mz\ngoogle.co.nz\ngoogle.co.th\ngoogle.co.tz\ngoogle.co.ug\ngoogle.co.uk\ngoogle.co.uz\ngoogle.co.ve\ngoogle.co.vi\ngoogle.co.za\ngoogle.co.zm\ngoogle.co.zw\ngoogle.cv\ngoogle.cz\ngoogle.de\ngoogle.dj\ngoogle.dk\ngoogle.dm\ngoogle.dz\ngoogle.ee\ngoogle.es\ngoogle.fi\ngoogle.fm\ngoogle.fr\ngoogle.ga\ngoogle.ge\ngoogle.gf\ngoogle.gg\ngoogle.gl\ngoogle.gm\ngoogle.gp\ngoogle.gr\ngoogle.gy\ngoogle.hn\ngoogle.hr\ngoogle.ht\ngoogle.hu\ngoogle.ie\ngoogle.im\ngoogle.io\ngoogle.iq\ngoogle.is\ngoogle.it\ngoogle.je\ngoogle.jo\ngoogle.kg\ngoogle.ki\ngoogle.kz\ngoogle.la\ngoogle.li\ngoogle.lk\ngoogle.lt\ngoogle.lu\ngoogle.lv\ngoogle.md\ngoogle.me\ngoogle.mg\ngoogle.mk\ngoogle.ml\ngoogle.mn\ngoogle.ms\ngoogle.mu\ngoogle.mv\ngoogle.mw\ngoogle.ne\ngoogle.net\ngoogle.nl\ngoogle.no\ngoogle.nr\ngoogle.nu\ngoogle.org\ngoogle.pl\ngoogle.pn\ngoogle.ps\ngoogle.pt\ngoogle.ro\ngoogle.rs\ngoogle.ru\ngoogle.rw\ngoogle.sc\ngoogle.se\ngoogle.sh\ngoogle.si\ngoogle.sk\ngoogle.sm\ngoogle.sn\ngoogle.so\ngoogle.sr\ngoogle.st\ngoogle.td\ngoogle.tg\ngoogle.tk\ngoogle.tl\ngoogle.tm\ngoogle.tn\ngoogle.to\ngoogle.tt\ngoogle.vg\ngoogle.vu\ngoogle.ws'; } | sort | uniq -i >${temporary_file}

# generated file type
echo "type: domain_lists file: ${temporary_file}"
test -z "$dns_addr" && dns_addr='127.0.0.1:5533'
#echo "# Generated by gfwlist2adguardhome at $(date '+%F %T')" >adguardhome_gfwlist.txt
perl -pe "s@^.*+\$@[/$&/]$dns_addr@" ${temporary_file} >>adguardhome_gfwlist.txt
rm -fr ${temporary_file}
echo "type: adguardhome_server file: adguardhome_gfwlist.txt"

使用方法

1
./gfwlist2adguardhome.sh -s https://urology.wiki/dns-query

然后将得到的文件复制进 adguard home 的 DNS 配置中。再加上一个本地 DNS 就可以了。

网站运行了也两三年了,使用的是淘宝开源的 Tengine,这名字乍一看像是腾讯的作品。

使用的是 Centos7,就自己编译了。把编译参数记一下,使用到的模块大致谷歌一下也能找到最新的。

最近又折腾了一下最新的 Tengine, 想配置个 http3,但是失败了。

只能顺手更新一下模块了。

记录一下最新的更新过程。

1. 更新系统,安装源

sudo yum group install "Development Tools"

2. 安装 cmake gcc10 perl。

本来打算从源码安装的,奈何单核机器编译一晚也没成功。
yum install cmake3
yum install -y devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-make

  1. 重要模块记录
  • 使用 nginx-ct

    1
    2
    wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip
    unzip nginx-ct.zip
  • 获取中间证书

    1
    2
    3
    4
    5
    6
    7
    8
    wget https://github.com/grahamedgecombe/ct-submit/archive/v1.1.2.zip
    unzip v1.1.2.zip
    cd ct-submit-1.1.2
    go build wget https://github.com/grahamedgecombe/ct-submit/archive/v1.1.2.zip
    unzip v1.1.2.zip
    cd ct-submit-1.1.2
    go build
    ./ct-submit-1.1.2 ct1.digicert-ct.com/log </usr/local/nginx/conf/cert.pem >/usr/local/nginx/conf/digicert.sct

4.
最终编译参数

1
./configure --prefix=/usr/local/nginx --user=www --group=www --with-stream  --with-file-aio --with-threads --with-ipv6 --with-pcre=/usr/local/src/pcre  --with-openssl=../open-3.00 --with-jemalloc=../jemalloc --with-zlib=/usr/local/src/zlib --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_v2_module --add-module=../ngx_brotli --add-module=../ngx-fancyindex  --add-module=../pagespeed-ngx --add-module=../nginx-module-sysguard  --add-module=../nginx-ct-1.3.2