技术奇客ITGeeker.net的博客

  • CentOS 7 x64如何安装内网穿透工具frps服务器端

    首先:下载最新版frp文件

    官方地址:https://github.com/fatedier/frp/releases

    wget https://github.com/fatedier/frp/releases/download/v0.18.0/frp_0.19.1_linux_amd64.tar.gz
    tar -zxvf frp_0.19.1_linux_amd64.tar.gz
    cd frp_0.19.1_linux_amd64

    可以删除掉不必要的客户端文件,只是为了更加简洁而已。

    rm -f frpc frpc_full.ini frpc.ini

    frpc 为客户端文件
    frps 为服务器端文件

    然后配置服务器端文件

    vi frps.ini

    #注意这些port端口号要与客户端frpc的配置文件对应起来

    [common]
    bind_port = 7777
    vhost_http_port = 8888
    dashboard_port = 9999
    dashboard_user = itgeeker
    dashboard_pwd = itgeeker
    max_pool_count = 5
    authentication_timeout = 900
    
    subdomain_host = itgeeker.net
    
    # console or real logFile path like ./frpc.log
    log_file = ./frps.log
    # debug, info, warn, error
    log_level = info
    log_max_days = 3
    
    [ssh]
    listen_port = 8000
    auth_token = itgeekerfrps
    

    详细配置https://github.com/fatedier/frp/blob/master/README_zh.md

    # 保存上面配置文件吗,启动 frp 服务器

    ./frps -c ./frps.ini
    #带log输出
    ./frps -c ./frps.ini -L logs &

    服务端配置结束。若需要后台运行,请看下面“”

    添加开机启动frp服务端 for centos

    方法一:放rc.local里

    chmod +x /etc/rc.d/rc.local && vi /etc/rc.d/rc.local
    #把下面的内容粘贴到文件末尾
    /opt/frp/frps -c /opt/frp/frps.ini

    方法二:Centos 7 Systemd 管理

    $ sudo cp frps /usr/local/bin/frps
    $ sudo mkdir /etc/frp
    $ sudo cp frps.ini /etc/frp/frps.ini
    

    编写 FRP SERVICE 文件,以 CENTOS7 为例
    $ sudo vi /usr/lib/systemd/system/frps.service

    [Unit]
    Description=frps
    After=network.target
    
    [Service]
    TimeoutStartSec=30
    ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
    ExecStop=/bin/kill $MAINPID
    
    [Install]
    WantedBy=multi-user.target

    # 启动 FRP 并设置开机启动

    $ sudo systemctl start frps
    $ sudo systemctl enable frps
    $ sudo systemctl status frps

    frps升级

    1. 下载最新版frp文件,
    2. 停止frps服务

    systemctl stop frps

    3. 用新版本覆盖旧版本
    4. 如果使用systemd的,记得覆盖:

    cp frps /usr/local/bin/

    5. 启动新版本frps

    systemctl start frps
    ,

  • CentOS 7使用yum安装abiword的正确姿势

    首先选择源码编译安装,碰到几个问题及解决方案

    wget https://www.abisource.com/downloads/abiword/3.0.2/source/abiword-3.0.2.tar.gz
    tar zxvf abiword-3.0.2.tar.gz
    cd abiword-3.0.2
    ./configure --enable-plugins="command" --with-gtk2
    # error1
    configure: error: `png.h’ not found, install libpng or specify CPPFLAGS to include custom locations
    解决方案:yum install libpng-devel
    # error2
    configure: error: jpeg.h not found
    解决方案:yum install libjpeg-devel
    # error3
    configure: error: `boost’ not found.
    解决方案:yum install boost-devel
    编译结果error:
    No package ‘fribidi’ found
    No package ‘glib-2.0’ found
    No package ‘gthread-2.0’ found
    No package ‘gobject-2.0’ found
    No package ‘libgsf-1’ found
    No package ‘wv-1.0’ found
    No package ‘libxslt’ found
    No package ‘cairo-pdf’ found
    No package ‘cairo-ps’ found
    No package ‘pangocairo’ found
    No package ‘gtk+-2.0’ found
    No package ‘gtk+-unix-print-2.0’ found
    No package ‘librsvg-2.0’ found
    No package ‘x11’ found
    解决方案:yum install fribidi glib libgsf libxslt gtk+
    但仍然有很多模块没有,需要一个一个找解决方案,觉得太花时间,果断选择yum安装,结果大部分源都没有abiword这个package。

    yum安装abiword之歪路,使用ELRepo源未果

    一开始查到网上说ELRepo源有abiword,于是找到官方
    Import the public key:
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    To install ELRepo for RHEL-7, SL-7 or CentOS-7:
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    结果没有找到abiword,后来看说明是说要
    rpm -Uvh elrepo-release*rpm
    可能还需要导入elrepo-kernel elrepo-extras elrepo-testing,后来ITGeeker技术奇客转用lux源解决了,所以没有尝试这三个源。

    CentOS 7使用yum安装abiword的正确姿势

    rpm -Uvh http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm
    yum install abiword
    找对方法了,其实很简单。
     # which abiword
     /usr/bin/abiword
     # abiword --plugin=AbiCommand
     AbiWord command line plugin: Type "quit" to exit
     AbiWord:>

  • 请问这和C#有什么关系

    面试官:“熟悉哪种语言”。应聘者:“JAVA”。

    面试官:“知道什么叫类么”。应聘者:“我这人实在,工作努力,不知道什么叫累”。

    面试官:“知道什么是包?”。应聘者:“我这人实在平常不带包也不用公司准备了”。

    面试官:“知道什么是接口吗?”。应聘者:“我这个人工作认真。从来不找借口偷懒”。

    面试官:“知道什么是继承么”。应聘者:“我是孤儿没什么可以继承的”。

    面试官:“知道什么叫对象么?”。应聘者:“知道,不过我工作努力,上进心强,暂时还没有打算找对象。”。

    面试官:“知道多态么?”。应聘者:“知道,我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎是不道德的行为!请问这和C#有什么关系?”。

     

    via 卢松松博客 http://lusongsong.com/yulu/t/9439.html


  • 2017比特币勒索病毒: WannaCry(想哭)

    先来看一下中毒后的截图吧,似乎还挺有服务意识,考虑挺周到,但是当事人真的会WannaCry. 除了杀毒软件的网站,这会儿云端存储的网站也会是流量大增吧。只有当痛苦发生了,大家才会想起来云端同步的重要性。

    本轮敲诈者蠕虫病毒传播主要包括 Onion、WNCRY 两大家族变种,本次感染事件首先在英国、俄罗斯等多个国家爆发,新闻报道有多家企业、医疗机构的系统中招,损失非常惨重。安全机构全球监测已经发现目前多达上百个国家遭遇本次敲诈者蠕虫攻击。从 5 月 12 日开始,国内的感染传播量也开始急剧增加,在多个高校和企业内部集中爆发并且愈演愈烈。

    WNCRY 变种一般勒索价值 300~600 美金的比特币,而 onion 变种甚至要求用户支付 3 个比特币,以目前的比特币行情,折合人民币在 3 万左右。此类病毒一般使用 RSA 等非对称算法,没有私钥就无法解密文件。WNCRY 敲诈者病毒要求用户在 3 天内付款,否则解密费用翻倍,并且一周内未付款将删除密钥导致无法恢复。

    病毒原理

    病毒一旦被不知情的用户点击并激活后,可以通过用户所在的局域网自动传播,使用的是445 端口 (用于文件共享) 在内网进行蠕虫式感染传播。

    本次感染急剧爆发的主要原因在于其传播过程中使用了前段时间泄漏的美国国家安全局 (NSA) 黑客工具包中的“永恒之蓝”漏洞 (微软 3 月份已经发布补丁,漏洞编号:MS17-010)。和历史上的“震荡波”、“冲击波”等大规模蠕虫感染类似,本次传播攻击利用的“永恒之蓝”漏洞可以通过 445 端口直接远程攻击目标主机,传播感染速度非常快。

    如何预防 – 可防不可解

    • 关闭Windows的SMB/CIFS文件共享功能,关闭用户共享和 445 端口。
    • 谨慎打开不明邮件文档,禁用 office 宏,钓鱼邮件是勒索病毒传播的一个重要渠道。
    • 启动Windows系统自动更新服务或安装微软官方补丁NSA 泄漏漏洞的安全补丁:https://technet.microsoft.com/zh-cn/library/security/MS17-010
    • 尽快开通云端文件存储,并要有历史文件恢复功能。

    不要付钱的方法 – 文件救回

    如果你使用了Onedrive, Dropbox或者是Google Drive,您可以在线登陆Web云端,使用历史版本(History Version)或类似的功能,恢复到没有被感染前的文件。这也是晚上流传的不要付钱的回复办法。

    如果是小企业,不想使用这些公开云,可以联系ITGeeker技术奇客,帮助你建立属于公司的私有云文件存储。

    检测和杀掉勒索病毒-永恒之蓝

    1. 腾讯电脑管家免疫补丁:https://guanjia.qq.com/wannacry/
    2. 360官网页面:http://special.btime.com/37h7sasi85f95tpt54acpcir37b.shtml
    3. 360免疫工具下载地址:NSA武器库免疫工具: http://dl.360safe.com/nsa/nsatool.exe
    4. ESET Online Scanner
    5. Windows系统补丁下载地址
      Windows XP(32位系统)补丁:http://url.cn/499Z92O
      Windows7(32位系统)补丁:http://url.cn/499TgUP
      Windows7(64位系统)补丁:http://url.cn/499QOql
      Windows8(32位系统)补丁:http://url.cn/499UfBn
      Windows8(64位系统)补丁:http://url.cn/499XgR5
      Windows8.1(32位系统)补丁:http://url.cn/499XgSg
      Windows8.1(64位系统)补丁:http://url.cn/499XgSm
      Windows8 Vista(32位系统)补丁: http://url.cn/499TgW8
      Windows8 Vista(64位系统)补丁: http://url.cn/499RJx3
      其它操作系统请访问:http://url.cn/492HwRJ,选取相应补丁版本下载
      如果您不确认自己的操作系统,请使用电脑管家敲诈者病毒免疫工具离线版(链接http://url.cn/496kcwV)

    应急脚本.bat

    rem 关闭智能卡服务        
    net stop SCardSvr        
    net stop SCPolicySvc        
    sc config SCardSvr start=disabled        
    sc config SCPolicySvc start=disabled        
    rem 开启服务        
    net start MpsSvc        
    rem 开机启动        
    sc config MpsSvc start=auto        
    rem 启用防火墙        
    netsh advfirewall set allprofiles state on        
    rem 屏蔽端口
    
    netsh advfirewall firewall add rule name=”deny udp 137 ” dir=in protocol=udp localport=137 action=block
    
    netsh advfirewall firewall add rule name=”deny tcp 137″ dir=in protocol=tcp localport=137 action=block        
    netsh advfirewall firewall add rule name=”deny udp 138″ dir=in protocol=udp localport=138 action=block        
    netsh advfirewall firewall add rule name=”deny tcp 138″ dir=in protocol=tcp localport=138 action=block        
    netsh advfirewall firewall add rule name=”deny udp 139″ dir=in protocol=udp localport=139 action=block
    
    netsh advfirewall firewall add rule name=”deny tcp 139″ dir=in protocol=tcp localport=139 action=block
    
    netsh advfirewall firewall add rule name=”deny udp 445″ dir=in protocol=udp localport=445 action=block        
    netsh advfirewall firewall add rule name=”deny tcp 445″ dir=in protocol=tcp localport=445 action=block        
    pause

     


  • WordPress REST API 定制化输出

    WordPress 自4.7 版本后与时俱进推出了REST API,如此一来想象空间又扩展了许多,如今WordPress 可以完全作为后端数据驱动了。本文通过几个例子展示如何定制化输出WordPress REST API 的相关数据。

    文章数据(posts)禁止某些字段显示

    默认的,当请求类似 your-site.com/wp-json/wp/v2/posts?per_page=5&page=1 的接口来获取文章列表,展示的不少字段对一般人来说是没有必要。

    秉承“如无必要,勿增实体”的原则,减少请求时候的数据量,可以通过下面的代码移除:

    function dw_rest_prepare_post( $data, $post, $request ) {
    	$_data = $data->data;
    	$params = $request->get_params();
    	// if ( ! isset( $params['id'] ) ) {
    		unset( $_data['excerpt'] );
    		unset( $_data['author'] );
    		unset( $_data['featured_media'] );
    		unset( $_data['format'] );
    		unset( $_data['ping_status'] );
    		unset( $_data['comment_status'] );
    		unset( $_data['sticky'] );
    		unset( $_data['template'] );
    	// }
    	$data->data = $_data;
    	return $data;
    }
    add_filter( 'rest_prepare_post', 'dw_rest_prepare_post', 10, 3 );
    

    文章数据(posts)中输出 post meta 所有字段

    可能考虑到数据隐私,文章数据(posts)默认并不显示post meta的相关字段,如果你需要输出对应文章下所有 post meta 字段,可以用下面的代码启用:

    register_rest_field( 'post', 'metadata', array(
     	'get_callback' => function ( $data ) {
     		return get_post_meta( $data['id'], '', '' );
     }, ));
    

    输出 post meta 特定字段

    接上,如果你在REST API 中仅仅想输出 post meta 特定字段而非全部,则通过类似下面代码:

    function dw_rest_prepare_post( $data, $post, $request ) {
    	$_data = $data->data;
    	$params = $request->get_params();
    	$thumb =  get_post_meta( $post->ID, 'thumb' );
    		if($thumb){
    			$_data['thumb_image'] = $thumb;
    		}	
    	$data->data = $_data;
    	return $data;
    }
    add_filter( 'rest_prepare_post', 'dw_rest_prepare_post', 10, 3 );
    

    上面的代码展示的是如何输出thumb 这个 post meta 字段,请按需使用。

    借助 Nginx 控制 /wp-json 的访问

    这个倒与WordPress 本身无关了,your-site.com/wp-json 的路由默认是所有人皆可访问。如果你基于服务器负载,或安全等方面考虑选择性输出,可以借助 Nginx 控制访问。先看下面的例子:

    location /wp-json {
          if ($http_user_agent !~ '(iPhone|Android)'){
            return 403;
           }
            try_files $uri $uri/ /index.php?$args;
    }
    

    如果你熟悉Nginx 语法,就知道上面的代码实现了:除了iOS 跟Android 设备(通过判断请求头的UA 信息),其它访问 /wp-json 的路径均返回403 状态码。这在一定程度上起到了保护作用。


    原文链接:来自 DeveWork | https://devework.com/wordpress-rest-api-dynamic-output.html

    via Jeff的阳台 https://devework.com/wordpress-rest-api-dynamic-output.html


  • APP Workflow自动化应用 献给果粉的Geeker工具

    自动化工具 Workflow 诞生于 2014 年,是一款功能非常强大的应用。通过 Workflow 内置的 Action 动作组,用户可以轻松实现只需一个动作来完成诸如从拍摄一张照片到把它制作成 GIF 再发布到多个社交平台这样的多个步骤,以更高效率去自动完成原本繁琐复杂的操作。

    2015 年这款应用因简便易用(其实设置并没那么简便)的特性获得了苹果的设计大奖。2017年3月,苹果公司收购了 Workflow 应用及其开发团队,并于2017年4月免费了该款应用,之前收费2.99USD.

    通过流程化自动处理各种事情,内置 150+ 动作,如开启相机、获取当前 GPS 位置、生成 PDF、打开 URL 链接、新建 EeverNote 笔记等等,只要能巧妙组合,搭配合理,几乎能实现使用者任何的复杂任务流程。

    苹果是个比较封闭的系统,同样Workflow被收购后,有些非苹果的应用支持被移除,其中影响到 Chrome 浏览器、Pocket、Uber 以及 Telegram。当然被影响的应用应该不只是上面几款。不过从目前的形势来看,所有谷歌软件和服务应该都无法与 Workflow 兼容了。目前 Evernote、OmniFocus、Day One、Fantastical 和 Dropbox 等应用以及服务仍可与 Workflow 兼容。

    Workflow分享by ITGeeker

    官网地址https://workflow.is/,大部分帮助可以再次找到。只要你的手机端创建了一个自动化动作,可以通过分享获取官方的链接,然后分享给广大的Workflow的爱好者。比如分享到苹果自带的备忘录,然后就可以找到该动作的Link.

    为什么说它是Geeker应用,因为要想创建一个Workflow并没有想象中那么容易和简单,和IFTTT比起来,其难度还是比较大的,如果是复杂的动作要懂一些编程的逻辑思维才能设计出来,例如里面会涉及到变量获取和赋值等。当然所有的一切开始之前,你要有充分的想象规划好你的动作流程。

    技术奇客原创第一个workflow

    添加当前浏览的页面主题连同链接到苹果的提醒(Reminder):https://workflow.is/workflows/e5a7dd18d2fe427a8b69ace088c763cd

    网上搜集的Workflow Action分享:

    1.  下载网易云音乐的MTV,只要分享正在看的MTV的链接到该动作,然后选择分辨率1080,720或者其他有的分辨率,就会开始下载改视频,然后可以选择保存的地方,技术奇客使用了Resilio Sync来保存,然后就可以同步到任何你想保存的地方了。不知道这是否会涉及到版权问题,大家测试一下赶紧删掉有版权的文件哦。链接:https://workflow.is/workflows/06b8b6149ecf4bf79056dea2a6029f14
    2. 获取照片的EXIF和GPS信息,这样你就可以找出这张照片用什么相机/手机拍摄,镜头规格信息以及在什么地方拍摄的(前提照片要记录GPS信息先),如果有,会自动打开地图应用,定位到拍摄的地方。链接:
    3. 一键导航回公司,我这里用的是Google Map,如果你还没学会SS使用方法,可以改成iOS自带的地图应用来导航。链接:https://workflow.is/workflows/f05679f2987440e592eb19d205f8a0cb  类似的可以自己制作一键拨号,一键Facetime等。
    4. 一键倒计时1分钟,链接:https://workflow.is/workflows/efcc378024d649d1bf6bd8785f1354cb
    5. 一键开始录音,链接:https://workflow.is/workflows/1d9df2a23c334540b4858c776d1c59ea
    6. 一键使用Google搜索相关Workflow,同样需要科学工具,链接:https://workflow.is/workflows/364fb346784e4412ae6051ea8439f949
    7. 一键分享最新截图,链接: https://workflow.is/workflows/cf991bd1f648457ebf7190411ce79c3a
    8. 分享当前位置给朋友,链接:https://workflow.is/workflows/6795ee80f2024347a01b76507de2679b
    9. 翻译选中文字,链接:https://workflow.is/workflows/697130b191fa4ef29bdeb60644155d14
    10. 国内的多功能搜索,用了就知道了。链接: https://workflow.is/workflows/0447745d459542b2be3c04107ff27769

    以上链接,只要在手机端打开就可以直接添加到自己的手机使用了。科技带来便捷!


奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4