Skip to content

collapsar/ynm3k

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A dynamic website for test purpose

集多种杀人武器于一身的终极武器:“要你命3000”!

用torando搭建的一个web应用,模拟某些规则的url,可以用于cdn、waf系统的测试用途。

客户端请求符合某些规则的url,服务端能做出适当响应,输出对应内容。

直接运行:

docker run -p 9527:80 notsobad/ynm3k

也可以本地打包:

cd ynm3k
docker build -t ynm3k .
docker run -it --rm -p 9527:80 ynm3k

访问样例:

wangxh:~/myapp/ynm3k$ curl 127.1:9527/code/502.jpg -vv
> GET /code/502.jpg HTTP/1.1
> User-Agent: curl/7.30.0
> Host: 127.1:9527
> Accept: */*
>
< HTTP/1.1 502 Bad Gateway
< Content-Length: 62
< Set-Cookie: csrftoken=8e0f2f299fede170969578ebceec0967; expires=Thu, 09-Jan-2014 06:29:39 GMT; Max-Age=31449600; Path=/
< Vary: Accept-Encoding
< Server: YNM3000
< Date: Wed, 14 May 2014 09:25:11 GMT
< Content-Type: text/html; charset=UTF-8
<
<h1>Http 502</h1> <hr/>Generated at 2014-05-14 17:25:11.603423

静态文件

同一url, 不同请求会输出相同响应。

/static/$RANDOM.$EXT

动态文件

同一url, 不同请求会输出不同响应。

/dynamic/$RANDOM.$EXT

HTTP状态码

/code/$CODE.$EXT

指定大小文件

可以输出指定大小的文件。

/size/$SIZE.$EXT

模拟慢后端

模拟一个需要n秒的响应/slow/$SECONDS, 模拟一个耗时在一个时间范围内的响应/slow/$START-$END

python版本这个高并发下可能性能较弱,增加了一个nginx-lua版本,参考nginx-ynm3k.conf, 接口如下:

模拟HTTP跳转

模拟各种情况的HTTP跳转

样例:

curl -v 'localhost:9527/redirect/301?url=file:///etc/passwd'
curl -v 'localhost:9527/redirect/302?url=http://www.jiasule.com'

About

A dynamic website for test purpose

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.6%
  • Dockerfile 2.4%