杂项 – 若水斋 https://blog.werner.wiki Try harder Mon, 03 Apr 2023 12:25:50 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.3 https://blog.werner.wiki/wp-content/uploads/2018/11/cropped-ql1-1-32x32.jpg 杂项 – 若水斋 https://blog.werner.wiki 32 32 汉语文稿校对工具评测 https://blog.werner.wiki/test-chinese-proofing-tools/ https://blog.werner.wiki/test-chinese-proofing-tools/#comments Sat, 01 Apr 2023 05:49:27 +0000 https://blog.werner.wiki/?p=2374 前言

写作令我快乐,校对使人痛苦。不仅无趣乏味,还要全神贯注。自然能够想到,软件替代人眼。网上搜索发现,这类软件不少。然而效果如何,需要进行评测。

评测方法

阅读百科词条,病句共有六种。总结不够周到,笔者再加几种。每种各选几例,汇总得到下文。复制粘贴下文,软件进行校对。只看是否检出,不管修改意见。反正我要过目,意见不是重点。

一、 语序不当

  • 我国棉花的生产,长期不能自给。
  • 在社会主义建设事业中,应该发挥广大知识分子充分的作用。
  • 如果趁现在不赶快检查一下代耕工作,眼前地就锄不好。
  • 不但他好好学习,而且还帮助其他同学。

二、 搭配不当

  • 参加长跑的同学们在公路上飞快地驰骋着。
  • 我们勾结在一起顺利完成了任务。
  • 他有一双聪明能干的手,什么都能造出来。

三、成分残缺或赘余

  • 关于电视剧《北京人在纽约》的评论已很多了。
  • 这些角色不同类型,距离相当大,如果没有善于塑造人物性格的技巧,那是演不好的。
  • 我们要尽一切力量使我们农业走上机械化、集体化。
  • 小王做任何工作都是非常认真得很。

四、结构混乱

  • 这办法又卫生,又方便,深受群众所喜爱。
  • 老工人的一席话深深地触动了小邱的心,久久不能平静下来。

五、含糊不清

  • 县里通知说,让赵乡长九月15日前去汇报。
  • 宋老大跟齐三久别重逢,谈得投机,他给他点上一支烟。

六、逻辑错误

  • 他是全部死难者中的幸免的一个。
  • 因为他偏科,所以他数理化的成绩一塌糊涂。
  • 爱迪生这个名字,对我们青年学生是不陌生的。

七、拼音输入法导致的错别字

  • 你是我的好盆友。
  • 本文前言部分的几乎话是笔者的一次尝试。
  • 设都知道这件事。

八、英文单词拼写错误

  • GitHob 是一个在线软件源代码托管服务平台。
  • 他是我的 leador。
  • chnod 命令可以修改文件权限。

评测结果

评测一些软件,结果下表可见。

软件 文字帮帮 火龙果 爱改写 秘塔写作猫 讯飞智校
版本 Web Web Web Web Web
语序不当 1/4 1/4 0/4 1/4 0/4
搭配不当 1/3 1/3 0/3 1/3 0/3
成分残缺或赘余 0/4 0/4 0/4 1/4 0/4
结构混乱 0/2 0/2 0/2 0/2 1/2
含糊不清 0/2 0/2 0/2 0/2 0/2
逻辑错误 0/3 0/3 0/3 0/3 0/3
拼音输入法导致的错别字 2/3 1/3 0/3 3/3 0/3
英文单词拼写错误 0/3 0/3 0/3 0/3 1/3
总计 4/24 3/24 0/24 6/24 2/24
误报 1 2 0 0 2
软件 钉钉文档 腾讯文档 Word Pages 文稿 ChatGPT
版本 Web Web 2019 12.1 3.5
语序不当 1/4 0/4 0/4 0/4 1/4
搭配不当 0/3 0/3 0/3 0/3 2/3
成分残缺或赘余 1/4 1/4 0/4 0/4 2/4
结构混乱 0/2 0/2 0/2 0/2 1/2
含糊不清 0/2 0/2 0/2 0/2 1/2
逻辑错误 0/3 0/3 0/3 0/3 1/3
拼音输入法导致的错别字 3/3 1/3 1/3 0/3 2/3
英文单词拼写错误 1/3 0/3 3/3 1/3 3/3
总计 6/24 2/24 4/24 1/24 13/24
误报 1 4 1 0 1

注:

  1. 很多软件为 Web 版,没有明确的版本号概念。评测时间可以为作为版本号。评测时间是 2023 年 4 月 1 日 11:00~13:00
  2. 腾讯文档需手动开启“智能纠错”插件
  3. 测试 ChatGPT 时问题统一为“这句话有语病吗?”

结论

效果不尽人意,还得我来校对。ChatGPT 最强,就是使用艰难。

后记

出于娱乐目的,笔者尝试了一种全新的语言风格。前言句长相等,还讲押韵。若是朗读出来,或许觉得朗朗上口。本想全篇都这样写,发现凑出押韵好难。之后只管长度,不管押韵了。(2023 年 4 月 2 日更新:写了一个押韵相关词检索工具,更多地方改成押韵了。)

前言部分写成一行一句,标出每句最后一个汉字的拼音,可以很清楚地看出押韵:

写作令我快乐(lè),
校对使人痛苦(kǔ)。
不仅无趣乏味(wèi),
还要全神贯注(zhù)。
自然能够想到(dào),
软件替代人眼(yǎn)。
网上搜索发现(xiàn),
这类软件不少(shǎo)。
然而效果如何(hé),
需要进行评测(cè)。

前四行构成交韵(如果认为 èèi 押韵),接下来四行构成抱韵,最后两行勉强可以算作随韵。

]]>
https://blog.werner.wiki/test-chinese-proofing-tools/feed/ 5
Nginx反向代理Gοοgle https://blog.werner.wiki/nginx-reverse-proxy-google/ https://blog.werner.wiki/nginx-reverse-proxy-google/#respond Sat, 09 Mar 2019 02:29:15 +0000 https://blog.werner.wiki/?p=519 一、情景

在某些网络环境下不能使用代理,如管理较为严格的公司中,但仍有访问Gοοgle的需求。这种情况下可以事先搭建好Gοοgle反向代理,在公司时通过访问反向代理来使用Gοοgle搜索。前提条件是有一台在公司可以访问且它也可以访问Gοοgle的VPS(Virtual Private Server 虚拟专用服务器)。

二、配置

我选择使用Nginx来建反向代理,我的Nginx版本是:

nginx/1.10.3 (Ubuntu)

给出配置文件:

server {
    listen 80;
    listen [::]:80;
    server_name search.werner.wiki;
    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen 443 ssl;
    server_name search.werner.wiki;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/httppasswd.users;

    ssl_certificate ssl/chain.pem;
    ssl_certificate_key ssl/private.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    underscores_in_headers on;
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

    location / {
        proxy_pass https://www.google.com;

        sub_filter www.google.com search.werner.wiki;
        sub_filter_once off;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;

        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header Accept-Language "zh-CN";
        proxy_set_header Accept-Encoding "gzip, deflate, br";

        proxy_redirect http://www.google.com/ /;
        proxy_cookie_domain google.com search.werner.wiki;

        proxy_connect_timeout      240;
        proxy_send_timeout     240;
        proxy_read_timeout     240;
    }
}

三、详细说明

配置文件的含义如下:

(1) 服务名为search.werner.wiki

server_name search.werner.wiki;

这句话的含义是服务名为search.werner.wiki,即只有头部Host字段值为search.werner.wiki的HTTP请求才归此配置文件。

(2) 80跳转443

server {
    listen 80;
    listen [::]:80;
    server_name search.werner.wiki;
    rewrite ^(.*) https://$server_name$1 permanent;
}

这一段配置新建了一个服务,监听80端口,永久(permanent)重定向(rewrite)所有请求(^(.*))到https,参数不变($1)。

(3) 开启HTTP基本认证

开启认证的原因是Gοοgle反向代理使用的人越少,生命力越强。

auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/httppasswd.users;

这两句开启了HTTP基本认证,认证由Nginx的ngx_http_auth_basic_module模块提供。

auth_basic可设置为off或其它字符串,为off时表示不开启密码认证。为其他字符串时表示需要密码认证,字符串内容是任意的,在某些版本的浏览器中,它会显示在弹出的认证框中。

认证框截图

auth_basic_user_file 为包含用户名和密码的文件,最好写成绝对路径,文件内容为一行一个用户名和密码,用户名和密码之间用冒号分隔。密码当然不是明文存储的,支持以下几种加密方式:

  • 采用系统函数crypt()加密,可通过htpasswd命令或者openssl passwd命令生成;
  • 采用Apache提供的基于MD5的变种哈希算法(apr1)加密,同样可通过htpasswd或者openssl passwd命令生成;
  • 以“{scheme}data”格式(RFC 2307)表示的加密后的密码,其中scheme指的是加密算法,Nginx支持的加密算法有PLAIN, SHA,SSHA算法。

我使用如下的命令生成用户名和密码:

sudo htpasswd -bc /etc/nginx/httppasswd.users Admin DWfvmAGMvGNOadmEjF

(4) 配置HTTPS

将反向代理配置为通过HTTPS更加安全。相关配置为:

ssl_certificate ssl/chain.pem;                  # 证书
ssl_certificate_key ssl/private.key;          # 私钥
ssl_session_cache    shared:SSL:1m;       # SSL会话缓存,提供性能
ssl_session_timeout  5m;                        # SSL会话超时时间
ssl_ciphers  HIGH:!aNULL:!MD5;            # 不使用MD5等弱密码组件
ssl_prefer_server_ciphers  on;                 # SSLv3或TLSv1握手时服务器密码优先

(5) 跨域头部设置

不忽略HTTP头部中的下划线:

underscores_in_headers on;

HTTP响应头中添加字段以支持跨域访问:

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

(6) 反向代理相关配置

proxy_pass https://www.google.com;

反向代理的目标地址。

sub_filter www.google.com search.werner.wiki;

替换返回页面中的字符串“www.google.com”为“search.werner.wiki”。注意若是被代理服务器返回压缩过的页面,则替换不能成功。

sub_filter_once off;

关闭只替换一次,即全部替换。

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;

在代理发出的HTTP请求头中添加字段。添加这些字段让被代理服务器可以获取到访问者真实IP地址。换句话说,有这些字段,这个代理便不是高匿代理。

proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language "zh-CN";
proxy_set_header Accept-Encoding "";

在代理发出的HTTP请求头中添加字段。这些字段是浏览器用户代理,语言和接受的编码。”Accept-Encoding”设置为空,防止被代理服务器返回压缩内容,使得内容替换配置失效。

proxy_redirect http://www.google.com/ /;

修改从被代理服务器传来的HTTP响应的头部中的”Location”和”Refresh”字段,将“http://www.google.com/”重写为“/”。

proxy_cookie_domain google.com search.werner.wiki;

修改从被代理服务器传来的HTTP响应的头部set-cookie中的domain,将domain的值由“google.com”替换为“search.werner.wiki”。

proxy_connect_timeout      240;
proxy_send_timeout     240;
proxy_read_timeout     240;

设置几个超时时间。

四、后记

反向代理的好处是只要有浏览器便可以使用Gοοgle搜索,就像使用百度搜索一样方便。缺点是只能使用Gοοgle搜索,不能访问Facebοοk等网站。但这有什么关系呢?只要能使用Gοοgle搜索就足够了。

]]>
https://blog.werner.wiki/nginx-reverse-proxy-google/feed/ 0
[译]SVM核函数RBF的参数 https://blog.werner.wiki/rbf-svm-parameters/ https://blog.werner.wiki/rbf-svm-parameters/#respond Tue, 17 Apr 2018 11:04:17 +0000 http://blog.werner.wiki/?p=414

本文翻译自《RBF SVM parameters》

本例将阐明径向基函数(RBF)做SVM的核函数时参数gamma和C的影响。

直观地,参数gamma定义了单个训练样本的影响大小,值越小影响越大,值越大影响越小。参数gamma可以看作被模型选中作为支持向量的样本的影响半径的倒数。

参数C在误分类样本和分界面简单性之间进行权衡。低的C值使分界面平滑,而高的C值通过增加模型自由度以选择更多支持向量来确保所有样本都被正确分类。

图1是只有两个输入特征和两个可能目标分类(二分类)的简单分类问题在取不同参数值时的决策函数的可视化。注意当有更多特征和目标分类时这种图便画不出来了。

图2是分类器交叉验证的正确率作为C和gamma的函数绘制出的热力图。在这个例子中出于演示目的,我们探索了一个相对较大的参数范围。在实践中,10-3到103的对数范围一般来说是足够的。如果最佳参数位于范围的边界,则可以向该方向扩展范围做进一步的搜索。

注意到热力图中有一个特殊的彩条,它的中间点的值接近于模型表现最好的得分,这是一眼就可以看到的。

模型的行为对于参数gamma十分敏感。如果参数gamma过大,支持向量的影响半径将小到只能影响到它自己,这时再怎么调整参数C也不能避免过拟合。

当参数gamma非常小时,模型会过于拘束不能捕捉到数据的复杂性或“形状”。任何选中的支持向量的影响区域将包含整个训练集。模型的结果将表现地像是用一组超平面分割两类或多类的高密度中心的线性模型。

至于中间值,我们在图2中可以看到,参数gamma和C的对角线上可以找到好的模型。平滑的模型(更小的gamma值)可以通过选择大量的支持向量(更大的C值)来获得更高的复杂度,于是好的模型便出现在了对角线上。

最后我们也观察到对一些gamma的中间值,当C取非常大的值时依旧可以得到表现良好的模型:没有必要通过限制支持向量的数量来实现正则化。RBF核的半径本身就是一个很好的结构调整器。在实践中仍可能会对通过一个较小的C值来限定支持向量的数目感兴趣,这样就可以使模型使用更少的内存,更快地做出预测。

我们还应该指出随机分割的交叉验证会导致结果得分有细微的不同。通过以计算时间为代价增加CV迭代次数n_splits,可以平滑这种细微的不同。在热力图中增加参数C和gamma的取值步长会降低热力图的分辨率。

]]>
https://blog.werner.wiki/rbf-svm-parameters/feed/ 0
reCAPTCHA打不开的解决方法 https://blog.werner.wiki/how-to-open-recaptcha/ https://blog.werner.wiki/how-to-open-recaptcha/#respond Mon, 08 Jan 2018 10:53:22 +0000 http://blog.werner.wiki/?p=403 reCAPTCHA是国外广泛使用的验证码,但由于一些原因国内无法使用。

观察使用reCAPTCHA的网站,发现验证码无法加载是因为无法加载如下JavaScript文件:

    https://www.google.com/recaptcha/api.js

仅此而已。同时我们知道,该JavaScript文件的另一个地址是:

    https://recaptcha.net/recaptcha/api.js

只要将前者替换为后者就可以加载出reCAPTCHA。如何替换?用浏览器的Header Editor插件,Firefox从这里安装,Chrome从这里安装。

安装好Header Editor后添加如下图所示的规则即可。

Header Editor

规则名随意起,“Rule type”选“Redirect request”,“Match type”选“URL”,“Match rules”填“https://www.google.com/recaptcha/api.js”,“Redirect to”填“https://recaptcha.net/recaptcha/api.js”。

该方法来源于:HB/IG/BS等网站购买小助手(无障碍访问使用GoogleAPI/reCAPTCHA的网…

]]>
https://blog.werner.wiki/how-to-open-recaptcha/feed/ 0
QQ Web API备忘 https://blog.werner.wiki/qq-web-api-note/ https://blog.werner.wiki/qq-web-api-note/#respond Mon, 08 Jan 2018 10:51:53 +0000 http://blog.werner.wiki/?p=401 1.QQ头像
  • http://q.qlogo.cn/headimg_dl?dst_uin=[QQ号]&spec=640&img_type=jpg
  • http://q3.qlogo.cn/g?b=qq&nk=[QQ号]&s=640&t=12345678

2.QQ昵称

  • http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=[QQ号]
  • http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=[QQ号]

3.QQ空间头像

  • http://qlogo2.store.qq.com/qzone/[QQ号]/[QQ号]/640
  • https://qlogo4.store.qq.com/qzone/[QQ号]/[QQ号]/640

官方Web API见:腾讯开放平台->网站接入->API列表

]]>
https://blog.werner.wiki/qq-web-api-note/feed/ 0
什么是RSS订阅 https://blog.werner.wiki/what-is-rss-subscription/ https://blog.werner.wiki/what-is-rss-subscription/#comments Sun, 17 Dec 2017 10:45:01 +0000 http://blog.werner.wiki/?p=390 开始写博客以来,我陆陆续续地见到了许多风格迥异,各具特色的博客。每遇到一个精彩的博客,我都将其存为书签,收藏起来。到现在已经收藏了四十多个博客。

但实际上,我很少再打开它们。因为个人博客更新频率大都很低,有些好几个月才会更新一篇。(当然更新频率低并不是坏事,若每天都更新好多篇,那么大概每篇质量都会很差。)存为书签之后,不久就会遗忘。逐个检查各个博客是否有文章更新,无疑是件费时费力的事。偶尔做一次还行,经常这么做就太浪费时间了。

要不写个程序来做这件事?这个程序会定时访问各个博客,检查是否有文章更新,若有更新则提醒我,更进一步,还可直接获取更新的文章给我看,节省我打开博客的时间。因为要从不同的博客获取信息,将信息收集在一起,就叫它“聚合程序”吧。

编写“聚合程序”的难点在于该如何判断是否有文章更新。毕竟每个博客都是不同的。若逐个研究各个博客的页面结构,为各个博客定制判断是否有文章更新的规则,就相当于要写四十多个不同的程序,工作量很大。而且博客还有可能改版,我还可能收藏新的博客,这两种情况都需要再编写新的程序。若是各个博客都长得一模一样就好了!

该如何解决这一难题呢?两种思路,一是赋予程序智慧,给我的“聚合程序”装上人工智能的大脑,让它能够机智地判断出各个不同的博客是否有文章更新,并准确地取出新文章给我看;二是将各个博客的主人叫到一起开个会,大家统一一下,以同样的格式写文章,便于我的“聚合程序”工作。由于我缺乏人工智能的相关知识,所以第一种思路就被否决了。

由于大家个性张扬,互不妥协,都认为自己的博客最好,所以第二种思路也岌岌可危。但本着求同存异的思想,最后想出了折中的办法:一方面,大家依旧以自己的个性、按自己的格式写文章,另一方面,同时将自己博客中的文章以一种公共的、相同的格式输出一份,放置在博客的特定位置,专供“聚合程序”处理。这样就两全其美了,即保留了每个人的个性,又使“聚合程序”能够真正简单地聚合不同博客的信息。

解决问题的这一方式被称为RSS(Really Simple Syndication,简易信息聚合)。“聚合程序”又被称为RSS阅读器。

最早的RSS在1997年由Netscape开发,在年轻的互联网世界中也算是历史悠久了。RSS不仅可用来聚合博客文章,还可以用来聚合新闻或其他任何可能的内容。

“聚合程序”也早就有人写过不少。不用自己动手写程序,只需选择一个好用的RSS阅读器即可。除非没有找到自己满意的RSS阅读器,才需要自己动手。想要RSS阅读器定时检查某个博客的文章更新,唯一要做的就是告诉RSS阅读器该博客以RSS格式输出的内容的地址,如我的博客的该地址是:https://blog.werner.wiki/feed/。RSS阅读器会定时(或手动触发)从该地址下载并解析以标准格式输出的内容,检查是否有文章更新。对于使用RSS阅读器的用户来说,当某个博客有文章更新时,就会看到更新提示,如同订阅了某种杂志一般。这就是RSS订阅。

RSS阅读器分为离线版和在线版两大类,《在线RSS阅读工具汇总》和《常用RSS阅读器评测》总结了几种常用的RSS阅读器。

我正在使用的RSS阅读器是在线版的Inoreader,使用截图如下所示:

inoreader使用截图

作为网站所有者,如何使自己的网站支持RSS订阅呢?无论用什么方式,只要将自己网站的内容以RSS标准输出一份,并将此输出的地址告诉自己的读者即可。具体的RSS标准参考W3School的RSS教程

]]>
https://blog.werner.wiki/what-is-rss-subscription/feed/ 10
kali在高清屏幕下如何放大字体与图标 https://blog.werner.wiki/kali-gnome-tweak-tool/ https://blog.werner.wiki/kali-gnome-tweak-tool/#respond Sat, 15 Jul 2017 08:10:49 +0000 http://blog.werner.wiki/?p=229 我的笔记本电脑屏幕分辨率为1920×1080,安装了VirtualBox 5.1,在VirtualBox中安装了 4.9.0-kali3-amd64,并将其分辨率设置为1920×1080,然后发现,Kali系统中的字体和图标都很小,难以辨认,很伤眼睛,如下图所示。

在Ubuntu14.04的系统设置的显示(Display)中,有全局缩放文字的选项,如下图中红色箭头所指,若觉得文字太小,调大这个值即可。但在Kali中没有这一选项。

两年前刚刚接触到Kali时这个问题就困扰着我,也因此一直都没有好好使用过Kali,毕竟看一小会眼睛就不舒服。今天忽然觉得,这个问题一定是可以解决的,就查了些资料,发现原来是很简单的,只是我一直不知道罢了。解决方法如下文所述。

在Kali的终端中输入命令 gnome-tweak-tool 打开Tweaks面板,在字体(Fonts)中,有比例因数(scaling factor),将其调整到一个合适的值即可,如下图所示。

这样便解决了字体的问题,但Kali左侧边栏的图标还是很小,其设置在扩展(Extensions)的Dash to dock中,点击Dash to dock旁的小齿轮图标进入设置界面,如下图所示。

然后设置Ico size limit为合适的值即可,如下图所示。

调整好后的界面如下图所示,可见字体与图标大小都很合适,看上去很舒服,不再伤眼睛了。

]]>
https://blog.werner.wiki/kali-gnome-tweak-tool/feed/ 0
Linux及相关命令备忘 https://blog.werner.wiki/linux-command-memo/ https://blog.werner.wiki/linux-command-memo/#respond Sun, 13 Mar 2016 06:45:46 +0000 http://blog.werner.wiki/?p=112 将一些自己不太熟悉的命令记录在这里以备忘。

linux命令

挂载VirtaulBox的.vdi虚拟磁盘:

    sudo modprobe nbd
    sudo qemu-nbd -c /dev/nbd0  ~/VirtualBox\ VMs/DOS7.1/DOS7.1.vdi
    sudo mount /dev/nbd0p1 /mnt

解挂载:

    sudo umount /mnt
    sudo qemu-nbd -d /dev/nbd0

压缩,会替代原文件

    gzip data.sql

解压

    gzip -d data.sql.gz

刻录系统安装U盘:

    sudo dd if=kali-linux-2.0-amd64.iso of=/dev/sdb

查看刻录进度:

    sudo watch -n 5 pkill -USR1 ^dd$

网站镜像:

    wget -m-p -E -k -K -np -v http://www.xxx.xxx

firefox启动参数:

    firefox -marionette

一个自定义的有趣命令:

    alias fun='fortune \| cowsay -f $(ls /usr/share/cowsay/cows \| sort -R \| head -n 1)'

jekyll显示草稿:

    jekyll s --drafts

字符化图片:

    mplayer -vo caca xxx.jpg
    ffplay xxx.jpg

用wget镜像网站:

    wget -m -p -E -k -K -np -v http://www.wangning.site

查看无线网卡是否支持monitor模式

    iw list

将无线网卡设置为monitor模式

    sudo ifdown wlan0
    sudo iwconfig wlan0 mode monitor
    sudo ifconfig wlan0 up

查看无线网卡信道

    iwlist wlan0 channel

设置无线网卡监听信道

    iwconfig wlan0 channel 11

合并多个pdf文件(可能会导致合并后的pdf在Windows下标题有重影,模糊不清)

    gs -q -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Linuxidc.pdf -dBATCH \*.pdf

一行Python搞定静态文件服务器

    python -m SimpleHTTPServer

Kali2.0中Metasploit没有完全安装,service metasploit start不起作用,初始化MSF数据库(当然得先启动postgresql服务)

    msfdb init

gcc编译时禁用堆栈保护

    gcc -fno-stack-protector -o strackoverflow strackoverflow.c

利用ssh设置sock5代理

    ssh -qTfnN -D 7000 username@xxx.xxx
    -q Quiet mode. 安静模式,忽略一切对话和错误提示。
    -T Disable pseudo-tty allocation. 不占用 shell 了。
    -f Requests ssh to go to background just before command execution. 后台运行,并推荐加上 -n 参数。
    -n Redirects stdin from /dev/null (actually, prevents reading from stdin). -f 推荐的,不加这条参数应该也行。
    -N Do not execute a remote command. 不执行远程命令,专为端口转发度身打造。

打包war文件

    jar -cvf myshell.war shell.jsp

Ubuntu中配置开机启动服务

    sysv-rc-conf

Python的交互式shell

    python -c 'import pty;pty.spawn("/bin/sh")'

搜索文件名/目录名:

    locate filename

VirtualBox中无界面模式启动与关闭虚拟机:

    VBoxManage startvm MyTarget --type headless
    VBoxManage controlvm MyTarget poweroff

mysql命令

数据库导出为.sql文件:

    mysqldump -u root -p databasename tablename > xxx.sql

把.sql文件导入为数据库:

    mysql -u root -p databasename < xxx.sql

指定字符集为utf8创建数据库:

    CREATE DATABASE databasename DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql导入csv文件:

    LOAD DATA INFILE 'test.csv' INTO TABLE info  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
]]>
https://blog.werner.wiki/linux-command-memo/feed/ 0
如何拥有自己的域名邮箱 https://blog.werner.wiki/how-to-own-domain-name-mailbox/ https://blog.werner.wiki/how-to-own-domain-name-mailbox/#comments Tue, 23 Feb 2016 04:50:10 +0000 http://blog.werner.wiki/?p=76 一 什么是域名邮箱

首先来说说最常见的免费个人邮箱,比如:12345678@qq.com以及youxiang@163.com等,@符号前面的12345678、youxiang唯一标识了具体的用户,称为前缀,后面的qq.com,163.com则表明了邮箱服务的提供商,称为后缀。类似的免费邮箱有很多,后缀取决于你在哪注册邮箱,前缀则一般由你自己决定,当然不能和前面注册过的重复,因为前缀是唯一标识用户身份的,否则便不知道邮件该发给谁了。

而域名邮箱的后缀则是你自己的域名,前缀则由你完全掌控。当然,你得有一个域名才行。

二 缘由

偶然看到一本名叫《黑客简史:棱镜中的帝国》的书,其中第六章“虚拟世界的普罗米修斯:为资源共享而战的黑客殉道者”讲述了Aaron Swartz的故事,后来又特意去看了纪录片《互联网之子(The Internet’s Own Boy: The Story of Aaron Swartz)》。这才知道,原来这个世界上,还有这样一个为了将原本属于人类的知识归还人类而向固有规则发起挑战的英雄。

万维网的发明者,Aaron Swartz的老师、朋友Tim Berners-Lee对Aaron Swartz的评价

上图为万维网的发明者Tim Berners-Lee对Aaron Swartz的评价。

每每想起此人此事,都感慨不已。计算机领域的先驱,不乏这样技术超群之士,从不为一己私利,甚至不为一族一国私利,而将自己的劳动成果,无私奉献给整个人类。正是他们的存在,使得短短几十年的计算机史,不逊色于任何一部史诗。

为了更多的了解Aaron Swartz,来到了http://www.aaronsw.com/,在缅怀先贤的同时,注意到了网页最下面的联系方式:me@aaronsw.com,不知身在天堂的Aaron,是否能收到来自尘世的慰问。

在有了自己的域名后,我便也设置了自己的邮箱: me@wangning.site,作为纪念与致敬。后又有朋友问起此事,便写了这篇文章,来说明如何拥有自己的域名邮箱。

三 第一步,自己的域名

要想拥有自己的域名邮箱,首先要有自己的域名。获取域名需要去域名提供商那里注册。国内比较著名的有美橙互联万网(现并入阿里云),国外最著名的便是GoDaddy,支持支付宝付款,据说也比较便宜。不过我在GoDaddy上每次搜索域名都会返回502错误,不知是怎么回事。还有便是可以免费获取.TK结尾的域名的Dot TK。注册的步骤都大同小异,先找到自己满意的未被注册的域名,然后注册并付款即可。

不同后缀的域名,价格相差很大。com,cn后缀的域名要价往往很高,而info之类的后缀域名则很便宜,好多这种后缀的域名平均下来每天不到1元。可以参考domcomp这样的域名价格比较网站。

四 第二步,设置域名邮箱

方法也有很多,我使用的是QQ邮箱的域名邮箱服务,这样做的好处是任何发往me@wangning.site的邮件都可以从原本的QQ邮箱看到,很方便。

具体做法如下:

  1. 首先你需要一个QQ邮箱,普通的个人版就可以;
  2. 登录QQ邮箱
  3. 点击: 设置 -> 账户,可以看到“域名邮箱”这个选项,点击其中的“管理域名邮箱…”,再点击“创建域名邮箱”;
  4. 输入你注册的域名,点击下一步,然后选择域名提供商;
  5. 选好后点下一步,会出现类似下图的域名验证:

域名验证

  1. 对照上图,去自己的域名提供商提供的域名解析台那里,将自己的域名解析设置为要求的样子,我的设置好后如下图所示:

域名解析设置

  1. 设置好后提交验证,若没有出错,应该马上就可以看到验证成功的字样了;
  2. 验证成功后回到QQ邮箱,进入域名邮箱管理,再点击下图中操作下面的管理 -> 成员管理,设置管理员邮箱的前缀,例如我设置为me,这样发送到这个邮箱的邮件都可以在你的QQ邮箱看到,新的邮箱地址,相当于你的原本的QQ邮箱的别名。你还可以设置默认发信帐号为你的域名邮箱。

管理域名邮箱

五 其他

域名邮箱并不是指以你的域名结尾的一个邮箱,而是以你的域名结尾的一系列邮箱,在“成员管理”的”添加成员”中,可以添加:

  • mother@yourdomain.site
  • father@yourdomain.site
  • brother@yourdomain.site
  • cousin@yourdomain.site
  • boss@yourdomain.site
  • teacher@yourdomain.site
  • classment@yourdomain.site
  • ⋯⋯

赠送域名邮箱

把这些邮箱送给对应的人,岂不是很有趣。注意前缀与QQ号要对应。在对方验证通过后,即可生效,相当于他/她的QQ邮箱别名。

]]>
https://blog.werner.wiki/how-to-own-domain-name-mailbox/feed/ 1