如何通过SocketLog进行web和微信开发调试
ngrok
Shell 脚本监控服务器
shell监控网卡状态,故障时自动重启网卡
树莓派保持网络连接shell脚本
#! /bin/bash
#检测网络连接
log=/root/network.log
#判断输出日志文件是否存在
if [ ! -f ${log} ]
then
touch ${log}
fi
ping -c 1 192.168.1.1 > /dev/null 2>&1
if [ $? -eq 0 ];
then
echo `date` 检测网络正常 >> ${log}
else
echo `date` 检测网络异常 >> ${log}
reboot
fi
ip
https://hostloc.com/thread-1009119-2-1.html
https://ipinfo.io/
https://hostloc.com/thread-1006104-1-1.html
https://myssl.com/47.57.185.163
ViewDNS
中国的站长PING有时总会出现不稳定,而且很多广告:https://check-host.net/check-report/60aa1e1kca0
上次坛子里一位大佬推荐的,节点多,简介美观大方,实用:http://ping.pe/
今天老外给我发了一个,功能很强大,而且很简洁实用,属于不二之选:https://check-host.net/check-report/60aa1e1kca0
以上是收集的在线PING工具
中文(国内) https://haoip.cn/
英文 (国外) http://seip.cc/
作者
https://whoer.net/zh 需要挂代理
ipv6
cmd
netsh winsock reset
还有什么免费离线国内 ip 地址数据库?
https://www.v2ex.com/t/860177
免费好用的 IP 归属查询网站
https://www.v2ex.com/t/791354
CentOS安装Python3.6.4
来自 https://eqblog.com/centos-install-python3-6-4.html
1.获取编译包:
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
2.解压:
tar -zxvf Python-3.6.4.tgz
3.移动到安装目录
mv Python-3.6.4 /usr/local
4.进入目录:
cd /usr/local/Python-3.6.4
5.编译安装:
./configure
make
make install
6.软链接:
ln -s /usr/local/bin/python3.6 /usr/bin/python3
大功告成:
python3 -V
wordpress前台模板的常用函数集合
以下来自 https://eqblog.com/wordpress-front-desk-template-common-function-set.html
制作模板常用~
一、header常用的函数
<?php bloginfo(‘name’); ?> : 博客名称(Title) [输出示例:前端开拓者]
<?php bloginfo(‘stylesheet_url’); ?> : CSS文件路径 [输出示例:https://dn-eqblog.qbox.me/wp-content/themes/frontopen2/style.css]
<?php bloginfo(‘pingback_url’); ?> : PingBack Url [输出示例:https://eqblog.com/xmlrpc.php]
<?php echo get_stylesheet_directory_uri() ?>: 模板文件路径 [输出示例:https://eqblog.com/wp-content/themes/frontopen2/]
<?php bloginfo(‘version’); ?> : WordPress版本 [输出示例:WordPress 3.5.2]
<?php bloginfo(‘atom_url’); ?> : Atom Url [输出示例:https://eqblog.com/feed/atom]
<?php bloginfo(‘rss2_url’); ?> : RSS 2.o Url [输出示例:https://eqblog.com/feed]
<?php bloginfo(‘url’); ?> : 博客 Url [输出示例:https://eqblog.com/]
<?php bloginfo(‘html_type’); ?> : 博客网页Html类型 [输出示例:text/html]
<?php bloginfo(‘charset’); ?> : 博客网页编码 [输出示例:UTF-8]
<?php bloginfo(‘description’); ?> : 博客描述 [输出示例:一个专注于前端开发与jQuery程序拓展的分享平台,面向于web构架前端开发、jQuery程序开发、移动终端程序开发等各领域的交流平台。分享前端开发中的经验心得,分享开发源代码。]
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
注:上述函数,主要用于页面中的<head></head>部分的内容,当然有必要的话,也可以用在其他部分,请务必仔细阅读,了解对应标签会输出什么内容。
二、用于判断的tag函数
is_home() : 函数所在的页面是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示
is_user_logged_in():判断用户是否已登录
注:判断函数一般都用于if..else语句中,所以大家在使用前,请先了解if判断语句的用法。不会太难,过一段时间本博会专门介绍PHP中的if语句如何使用。
三、模板内容部分的常用函数
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) ” ?> : 检查是否存在Post/Page,即是否有内容
<?php while(have_posts()) ” the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束标记,与if起始标签对应,一定要成对存在
<?php the_time(‘字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(‘, ‘) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(‘ %link ‘); ?> : 下一篇文章链接
<?php previous_post_link(‘%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件
注:以上某些函数功能在对应的页面中使用,注意程序逻辑请不要胡乱添加,可能会产生错误。
四、其他常用函数
<?php the_permalink() ?>">:获取链接
<?php _e(‘Message’); ?> : 输出信息,可用于输出自定义生成的变量信息。
<?php wp_register(); ?> : 显示博客注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!–next page-> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?>: 网页加载查询量
注:以上函数并不是绝对需要应用,属于增加用户体验的拔高内容。
通过上面的函数,大家基本可以控制整个WP博客所需要的内容调用了。只要有一定的div+css基础,完全可以自己开发个性的WP模板了。
WordPress利用自定义HTML小工具实现倒计时
来自 https://eqblog.com/wordpress-use-custom-html.html
首先,在外观-》小工具处添加一个自定义HTML小工具到你的侧栏:
添加以下代码:
<style type="text/css">
.zzsc-content{
padding-left:10%;
}
#clock{
font-family: 'Days One',"Microsoft YaHei", Arial,sans-serif;
font-size: 2em;
}
</style>
<div class="zzsc-content bgcolor-8">
<span id="clock"></span>
</div>
<script type="text/javascript" src="https://eqblog.com/jquery.countdown.js"></script>
<script type="text/javascript">
$(function(){
$('#clock').countdown('2018/6/7', function(event) {
$(this).html(event.strftime('%D 天 %H:%M:%S'));
});
})
</script>
在$(‘#clock’).countdown(‘2018/6/7’, function(event)这条里改成你要到的日期。
另外建议你将这一条中的js下载到你的网站环境中替换。
css样式请自行美化~
利用Python3脚本监控enoctus是否有货
以下来自 https://eqblog.com/whmcs-python-hon.html
http://www.hostloc.com/thread-422346-1-1.html
安装Python3 使用python3 x.py
#本脚本基于python3+方糖实现enoctus监控+微信推送
#使用方法:
#修改 sckey 为你自己的方糖KEY
#修改 pid 为你想要监控的套餐PID
#python vps.py
#香港1G pid=93
from sys import argv
from urllib import request,parse
from os import system
import datetime
sckey="xxxxxx"
pid=93
url='https://einstein.enoctus.co.uk/cart.php?a=add&pid=%s' % (pid)
try:
flag=0
oktime=datetime.datetime.now()
oktime.strftime('%Y-%m-%d %H:%M:%S')
outoftime=datetime.datetime.now()
outoftime.strftime('%Y-%m-%d %H:%M:%S')
while True:
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
req=request.Request(url,headers=header)
page=request.urlopen(req).read()
if str(page).find('out of stock')>0:
if flag>0:
outoftime=datetime.datetime.now()
outoftime.strftime('%Y-%m-%d %H:%M:%S')
timeout='本轮次上货持续时间:%s' % (outoftime-oktime)
print(timeout)
tile='%s%s' % ('缺货提醒',timeout)
textmod={'text':tile,'desp':url}
textmod = parse.urlencode(textmod)
urlsc='https://sc.ftqq.com/%s.send' % (sckey)
req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)
page1=request.urlopen(req1).read()
flag=0
print('缺货')
else:
if flag==0:
oktime=datetime.datetime.now()
oktime.strftime('%Y-%m-%d %H:%M:%S')
timeok='本轮缺货持续时间:%s' % (oktime-outoftime)
print(timeok)
tile='%s%s' % ('上货提醒',timeok)
textmod={'text':tile,'desp':url}
textmod = parse.urlencode(textmod)
urlsc='https://sc.ftqq.com/%s.send' % (sckey)
req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)
page1=request.urlopen(req1).read()
flag=flag+1
print('有货')
if flag<3:
tile='%s%s' % ('上货提醒',flag)
textmod={'text':tile,'desp':url}
textmod = parse.urlencode(textmod)
urlsc='https://sc.ftqq.com/%s.send' % (sckey)
req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)
page1=request.urlopen(req1).read()
except:
print('脚本异常,退出')
WordPress4.9版本禁用自动草稿
以下来自 http://www.hostloc.com/thread-422294-1-1.html
//禁用修订版本
add_filter( 'wp_revisions_to_keep', 'fanly_wp_revisions_to_keep', 10, 2 );
function fanly_wp_revisions_to_keep( $num, $post ) { return 0;}
//禁用自动保存
add_action('wp_print_scripts', 'fanly_no_autosave');
function fanly_no_autosave() { wp_deregister_script('autosave'); }
4.9好像没有修订版本了,自动保存草稿在wp-config.php
文件,
在define('WP_DEBUG', false);
之后添加define('AUTOSAVE_INTERVAL', 36000);
就行了,
意思是24小时保存一次,我以前是两个代码都用了,
后来我更新主题忘了用了发现数据库里也没有修订版本,
我刚才试了这个代码,是有用的,不加代码是3分钟自动保存,加了就不保存了,
修订版本不用改了,因为我修改以后数据库没增加文件
nginx防护ApacheBench脚本
来自 https://wiki.vpsmm.com/nginx-apachebench/
一、首先观测到对方是使用apachebech来攻击你。
这个查看nginx日志,非常明显。cat ssl.vpsmm.log 一片带有ab的ua
二、使用nginx设置,301掉所有ab过来的访问
if ($http_user_agent ~* ApacheBench ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}
三、设置脚本,每分钟自动执行
因为对方采用的是vultr的自动api,换IP太过频率,用个脚本。每分钟自动执行:
*/1 * * * /root/ab.sh
四、简单脚本,就4行如下:
cd /home/wwwlogs/ #进入nginx日志目录
cat ssl.vpsmm.log | grep 'ApacheBench' | awk '{print "iptables -I INPUT -s ", $1, "-j DROP"}'| sort -n | uniq | sh
#检索当前日志文件,查到有ApacheBench特征码的ip,全部ban掉
rm ssl.vpsmm.log #删除已经封掉ip的日志log
/etc/init.d/nginx reload #重载nginx,重新生成log文件,等待新ip进入
VSCode
https://code.visualstudio.com/
21 个VSCode 快捷键
VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)
vscode 插件推荐 - 献给所有前端工程师(2018.4.29更新)
如何优雅地使用 VSCode 来编辑 vue 文件?
2018 vscode 前端最佳配置
这就是我想要的 VSCode 插件!
VsCode从零开始配置一个属于自己的Vue开发环境
用vscode开发vue应用
玩转VS Code
官方拓展
安装插件: Ctrl + P
然后输入 ext install vetur
然后回车点安装即可。
vscode缩进快捷键:
选中文本;Ctrl + [
和 Ctrl + ]
实现文本的向左移动或者向右移动;
vscode代码对齐快捷键:
选中文本;Shift + Alt + F
实现代码的对齐;
frp
https://github.com/fatedier/frp
现在组成方案:二级域名(外网ip)+路由器(lede)+frp
一键脚本安装
https://github.com/fatedier/frp/issues/1058
https://github.com/clangcn/onekey-install-shell/tree/master/frps
https://github.com/MvsCode/frp-onekey
https://github.com/fatedier/frp/blob/master/README_zh.md
(服务器安装路径/usr/local/frps) 服务器配置文件frps.ini
如下:
# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
bind_addr = 0.0.0.0
bind_port = 5443
# udp port used for kcp protocol, it can be same with 'bind_port'
# if not set, kcp is disabled in frps
kcp_bind_port = 5443
# if you want to configure or reload frps by dashboard, dashboard_port must be set
dashboard_port = 6443
# dashboard assets directory(only for debug mode)
dashboard_user = user
dashboard_pwd = mima
# assets_dir = ./static
# 设置域名(保证此域名可用)
subdomain_host = frp.domains.com
vhost_http_port = 81
vhost_https_port = 4433
# console or real logFile path like ./frps.log
log_file = ./frps.log
# debug, info, warn, error
log_level = info
log_max_days = 7
# privilege mode is the only supported mode since v0.10.0
privilege_token = tokenxxx
# only allow frpc to bind ports you list, if you set nothing, there won't be any limit
#privilege_allow_ports = 1-65535
# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
max_pool_count = 50
# if tcp stream multiplexing is used, default is true
tcp_mux = true
以上配置的对应在路由器上OpenWrt R7.5.5 By Lean
客户端 Global Setting
如下:
Server:frp.domains.com
端口:5443
Privilege Token:tokenxxx
HTTP穿透服务端口:81
HTTPS穿透服务端口:4433
服务注册间隔:50
上面服务器配置对应在路由器文件路径:/var/etc/frp(进SSH) frpc.conf
[common]
server_addr=frp.domains.com
server_port=5443
privilege_token=tokenxxx
log_level=info
log_max_days=3
protocol=tcp
log_file=/var/etc/frp/frpc.log
tcp_mux=true
login_fail_exit=false
[frp]
type=http
custom_domains=xx.domains.com
local_ip=192.168.1.1
local_port=80
use_encryption=true
use_compression=true
以上[frp]为一个frp服务列表type=http
(https作者还没解决,有点问题,可以nginx代理即可)
访问web
web frp控制台
根据服务器配置信息如下:
dashboard_port = 6443
dashboard_user = user
dashboard_pwd = mima
即是frp.domains.com:6443 账号user密码mima,进入web控制台
https处理:
在frp.domains.com.conf
配置文件上设置代理:
map $http_x_forwarded_for $clientRealip {
"" $remote_addr;
~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;
}
server {
listen 80;
listen 443 ssl http2;
...
location / {
proxy_pass http://127.0.0.1:6443; #此处的6443就是你安装frp时设置的dashboard_port端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $clientRealip; # $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
即可使用https://frp.domains.com访问
外网访问内网
根据配置信息如下
服务器上配置信息
...
vhost_http_port = 81
...
客户端配置信息
[frp]
type=http
custom_domains=xx.domains.com
local_ip=192.168.1.1
local_port=80
use_encryption=true
use_compression=true
这里使用的是http,因为作者似乎还没解决https 502问题
http访问:xx.domains.com:81即可
https处理:
在xx.domains.com.conf
配置文件上设置代理:
map $http_x_forwarded_for $clientRealip {
"" $remote_addr;
~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;
}
server {
listen 80;
listen 443 ssl http2;
...
location / {
proxy_pass http://127.0.0.1:81; #此处的,81(4433)就是你安装frp时设置的vhost_http(s)_port端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $clientRealip; # $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
即可使用https://xx.domains.com访问192.168.1.1
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。
使用内网穿透工具frp
做了简单的完善和补充
FRP内网穿透工具
free frp
https://www.chuantou.org/
https://diannaobos.com/frp/
http://frp.xxorg.com/
服务器设置
[frpc穿透] 【填坑完毕】内网穿透利器Frp一键安装脚本及设置教程
一键安装onekey-install-shell
下载
wget https://github.com/fatedier/frp/releases/download/v0.16.0/frp_0.16.0_linux_386.tar.gz
解压
tar zxvf frp_0.16.0_linux_386.tar.gz
重命名
mv frp_0.16.0_linux_386 frps
设置frps守护脚本
cd frps
vi start_frps.sh
#!/bin/sh
check(){
pidof frpc > /dev/null 2>&1
if [ $? -ne 0 ]; then
/etc/frpc/frpc -c /etc/frpc/frpc.ini &
fi
}
while true
do
sleep 1
check
done
赋予权限
chmod +x frps frps.ini frps.log start_frps.sh
在/etc/rc.local文件的exit 0前加入下面两行代码
/etc/frpc/frpc -c /etc/frpc/frpc.ini &
/etc/frpc/start_frpc.sh &
Https 代理模式对证书的处理可能有问题未解决
frp端口映射穿透内网
[frpc穿透] 【已解决】求助,frpc穿透https无法使用
FRP客户端和服务端在CentOS7中设置开机启动
有办法让 frp 和 nginx 共存一起用 80 端口吗?
Frp内网穿透配置
【分享】通过frp自建远程桌面连接,彻底告别TeamViewer && 来自此处 1
frp 与 K3
VPS
https://github.com/MvsCode/frps-onekey
/usr/local/frps
/usr/local/frps/frps.ini
# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
bind_addr = 0.0.0.0
bind_port = 5443
# udp port used for kcp protocol, it can be same with 'bind_port'
# if not set, kcp is disabled in frps
kcp_bind_port = 5443
# if you want to configure or reload frps by dashboard, dashboard_port must be set
dashboard_port = 6443
# dashboard assets directory(only for debug mode)
dashboard_user = user
dashboard_pwd = pass
# assets_dir = ./static
vhost_http_port = 81
vhost_https_port = 4433
# console or real logFile path like ./frps.log
log_file = ./frps.log
# debug, info, warn, error
log_level = info
log_max_days = 3
# auth token
token = vpstoken
# It is convenient to use subdomain configure for http、https type when many people use one frps server together.
subdomain_host = xx.xx.com
# only allow frpc to bind ports you list, if you set nothing, there won't be any limit
#allow_ports = 1-65535
# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
max_pool_count = 50
# if tcp stream multiplexing is used, default is true
tcp_mux = true
Usage: /etc/init.d/frps {start|stop|restart|status|config|version}
/etc/sysconfig/iptables:
# Generated by iptables-save v1.4.21 on Mon Apr 22 12:00:12 2019
*filter
:INPUT DROP [2:80]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [83:21224]
:syn-flood - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 81 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4433 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6443 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Mon Apr 22 12:00:12 2019
/usr/local/nginx/conf/vhost/xx.conf
map $http_x_forwarded_for $clientRealip {
"" $remote_addr;
~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;
}
server {
listen 80;
listen 443 ssl http2;
ssl_certificate /usr/local/nginx/conf/ssl/xx.xx.com.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/xx.xx.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_buffer_size 1400;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;
server_name xx.xx.com;
access_log /data/wwwlogs/xx.xx.com_nginx.log combined;
index index.html index.htm index.php;
root /data/wwwroot/xx.x.cxom;
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
include /usr/local/nginx/conf/rewrite/other.conf;
#error_page 404 /404.html;
#error_page 502 /502.html;
location / {
proxy_pass http://127.0.0.1:81; #此处的6443就是你安装frp时设置的dashboard_port端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $clientRealip; # $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
# valid_referers none blocked *.xx.com x.xxx.com;
# if ($invalid_referer) {
# return 403;
# }
# }
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
# expires 30d;
# access_log off;
# }
# location ~ .*\.(js|css)?$ {
# expires 7d;
# access_log off;
# }
location ~ /\.ht {
deny all;
}
}
K3
远程管理,远程端口:81, 允许IP:255.255.255.255
FRP设置:
#frp.jsxz.cf是免费提供的frp服务器,如果需要使用,请修改下面两处的“test”为你的名称,比如"hello"
#然后可以通过http://hello.jsxz.cf访问你的设备
#如果无法正常使用,请更改名称,注意名称不能和别人重复
[common]
server_addr = xx.xx.com
server_port = 5443
token = vpstoken
user = user
[web]
type = http
local_port = 80
subdomain = home
#端口转发示例,去除下面每行前面的"#"并修改remote_port,注意remote_port不能和别人重复,否则无法正常启用
#[ssh]
#type = tcp
#local_ip = 127.0.0.1
#local_port = 22
#remote_port = 6000
[frp]
type=http
custom_domains=xx.xx.com
local_ip=192.168.2.1
local_port=80
use_encryption=true
use_compression=true
end
ThinkPad 信息
根据机器型号查询配置:http://support.lenovo.com/us/en/products/search
通过机器序列号查询保修期:http://support.lenovo.com/us/en/warrantylookup
通过机器序列号查询FRU部件码:http://support.lenovo.com/us/en/ibasepartslookup
专门网查询:http://forum.51nb.com/report.php?action=getdetails
http://www.tpuser.com.tw
http://www.tpuser.idv.tw/wp/ TP非官方情報站
Thinkpad 下载
https://think.lenovo.com.cn/support/driver/mainpage.aspx#ThinkPad
下载
https://forum.51nb.com/forum.php?mod=redirect&goto=findpost&ptid=2016970&pid=34511522
电池重置
ThinkPad论坛
https://forum.51nb.com/forum.php
键盘
【原创】外接式指点杆键盘大收集——指点云间数点红
TEX Kodachi 小红点机械键盘
DIY 套件
【原创】发布THINKPAD键盘改无线套件 && xy3dg12的小店
QQ 群 :424031784(DIY Thinkpad键盘)
X6的键盘比X2XX的好多了
8855 X220
X220 和T420 的键盘布局真的很合理,
我的T430是6行的,没有了FN+F2关屏幕的功能,对T430 最不懑就是这个了
https://forum.51nb.com/forum.php?mod=viewthread&tid=1981287&mobile=2
8855驱动
X220键盘有啥好的……
奇光产的脆货~
T4x、T6x时代的NMB键盘(老IBM风格)才好
x61的nmb键盘绝对值得拥有一块。码字手感一流
笔记本
https://tao.hooos.com/goods_576071887840.html
thinkpad键盘说明
蓝牙键盘驱动:
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/options/tp_compact_keyboard_1491.exe
有线键盘驱动:
https://download.lenovo.com/pccbbs/options/tp_compact_keyboard_1491.exe
有线/蓝牙无线使用说明书:
https://download.lenovo.com/pccbbs/options/0b58442_tp_compact_usb_bt_kb_zh_cn.pdf
KU-1255
KT-1255驱动
X1 Tablet 键盘驱动
https://think.lenovo.com.cn/support/driver/newdriversdownlist.aspx?categoryid=12414
联想(ThinkPad)驱动下载教程:
- 打开联想服务网址:https://newsupport.lenovo.com.cn/ ,搜索:t570,选择:ThinkPad T570。
- 在新打开的页面中,点击:驱动下载
- 展开 热键 ,显示:Hotkey热键驱动程序(Windows 10 64-bit),下载并安装。文件名:SIhotkey-r0yvu35w.exe
第三方
网络安全
http://www.wooyun.org/
镜像
https://bestwing.me/build-the-wooyun-drops.html 搭建教程
https://github.com/hanc00l/wooyun_public
https://github.com/m0l1ce/wooyunallbugs
https://github.com/jiji262/wooyun_articles
https://github.com/SuperKieran/WooyunDrops
http://wooyun.fbisb.com/
http://su.xmd5.org/
http://wooyun.jozxing.cc/
http://www.virscan.org/language/zh-cn/
VirSCAN.org 是一个非盈利性的免费为广大网友服务的网站,它通过多种不同厂家提供的最新版本的病毒检测引擎对您上传的可疑文件进行在线扫描,并可以立刻将检测结果显示出来,从而提供给您可疑程度的建议。
博客
前端安全
前端该知道些密码学和安全上的事儿
前端 web 密码加密是否有意义
目前有没有用密码登录的网站做了前端加盐加密?
一个想法:
某些库,插件会重写浏览器的XMLHttpRequest对象,
在Network看不到任何请求,拦截所有的请求,只能本地调试。
这样相对安全,为难自己。