使用 port knocking 隐藏 SSH daemon 端口

暴露在互联网上的服务器非常容易被恶意程序进行端口扫描,以前也整理过一篇 VPS 安全设置 的文章,但都是一些比较基础的设置,能够绕过一些简单的端口扫描,但是并不能从根本上解决端口扫描的问题。 Port knocking 通过防火墙的帮助能够实现,只有你按照特定方式请求后才开放端口,增加了一层保护。主要防止恶意攻击者通过端口扫描来对机器进行攻击。 这篇文章就通过 knockd 的使用来介绍一下 Port knocking 。 Note: 本文只演示 IPV4 下的配置。 Port knocking Port knocking 类似于 准备工作 Read more ...

2019-07-19 knocking , ssh , vps , security

威联通折腾篇十四:迁移系统盘

当时安装系统的时候就直接插入了一块硬盘,安装在了第一块机械硬盘上面,虽然读写也没有遇到什么瓶颈,但是记录以做备份,可以用于将系统迁移到 SSD 上。 下面的方法未经验证,慎用。应用可以迁移,但是一些配置可能无法成功备份到另一块硬盘中。 Create a small new Volume using some of the unused space in Storage Pool 1 Back up my System Setting (ControlPanel>Backup/Restore>Back up System Sett Read more ...

2019-07-18 qnap , backup , system , nas

Intellij IDEA 支持 jQuery

在 设置中进行如下操作开启 jQuery 支持: First press CTRL + ALT + S and go to settings. Then click from the menu Languages & Frameworks Select Javascript from the section below and select Libraries In the open menu on the right, click on the Download button and select JQuery from t Read more ...


使用 Tampermonkey 调试本地脚本

记录一下使用 Tampermonkey 调试本地脚本。 Tampermonkey 加载开发调试本地 js 首先设置 Tampermonkey 插件的设置 Chrome 中打开 chrome://extensions 搜索 Tampermonkey ,并且在设置中开启 Allow access to file URLs 然后在文件中使用 @require 引入外部文件。 // ==UserScript== // @name Debug Userscript // @namespace https://github Read more ...


Linux 下设置编码格式 locales

很多人在程序中会处理 non-ASCII 字符,在日志中,在终端显示中等等。 locales installs 检查 locales 是否安装 dpkg -l locales 如果 locales 之前显示 ii 表示已经安装了,否则 sudo apt install locales 重新配置 dpkg-reconfigure locales locales 配置 使用命令 locale 查看配置 locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=en_US.UTF-8 LC_N Read more ...

2019-07-12 locale , unix , linux , encoding , utf8

jbpm 流程

BPMN 中可执行的工作流包含一系列不同类型的节点,这些节点可以被用来连接生成有序的工作流。BPMN 2.0 规范定义了三种主要的类型: Events, 用来定义特定事件的发生。可以是起始事件(用来表示工作流的开始),结束事件(用来表示工作流的结束,或者子流程结束),中间事件(表示发生在工作流执行过程中的事件) Avtivities, 定义了在工作流执行过程中需要执行的不同动作。依据不同类型的内容,存在不同类型的 tasks,并且 activities 可以被嵌套 Gateways, 用来定义不同路径,根据不同类型的 Gateway,这可 Read more ...


Linux Mint 连接 802.1x EAP wifi network

Linux Mint 在连接 802.1x EAP 网络时,一直无法弹出用户名密码弹窗,导致一直无法连接这些网络。今天查了一下,需要手动进行连接。 打开 Network Manager,选择 Connect to Hidden Network. Wi-Fi security 中选择 WAP & WPA2 Enterprise 在弹出的复杂的对话框中 Authentication 选择 Protected EAP(PEAP) 然后输入 Username 和 Password ,证书可选 选择连接即可。 reference Read more ...


一键去除网易云音乐广告

前提条件 Android 手机 root 权限 Root Explorer 打开目录 /data/media/0/netease/cloudmusic/ 看到 AD 目录,去除写入权限即可。 Root Explorer 如果打开的是 /sdcard 下面的目录可能无法设置权限。 Read more ...

2019-07-09 netease , music , ads

Spring 自定义 namespace and handlers

自定义 namespaces 可以让用户有一种更方便的方式来定义 Bean。 Spring 提供了一些开箱及用的方式,比如 <mvc:annotation-driven/> 可以参考这篇文章 来查看该配置的作用。 Spring 从 2.0 开始可以支持自定义扩展 XML Schema。 XML Schema-based configuration 在了解自定义 XML Schema 之前首先要熟悉一下 Spring 的 XML Schema 配置。最简单的配置 <?xml version="1.0" encoding="UTF- Read more ...

2019-07-05 spring , java , java-web , spring-mvc

shell script idiom

Bash 命令中一些常见的习惯。 > file redirects stdout to file 1> file redirects **stdout** to file 2> file redirects **stderr** to file &> file redirects stdout and stderr to file /dev/null is the null device it takes any input you want and throws it away. It can be used to Read more ...

2019-07-03 bash , shell , stdout , stderr , pipeline

最近文章

  • 我 Vibe Coding 了一个日本看房神器:BukkenAI 最近在东京认真找房子,每次拿到一个物件地址,我都要重复做同样一套操作:打开 [[Google Maps]] 搜地址,确认大概位置;找最近的车站,看步行距离;切到 Yahoo 地图查灾害风险图;再搜一圈附近有没有超市、医院、药局。做完一遍下来,十几分钟就过去了,物件多的时候,这些重复的信息收集工作比看房本身还累。某天做完第 N 遍之后,我决定干脆自己做一个工具,输入地址,全部自动搞定。这就是 BukkenAI 的起点。
  • Entire:让 AI 编程会话成为 Git 历史的一部分
  • Atuin:用数据库替换 Shell 历史,跨设备同步不再是难题
  • Ghostty 终端配置技巧:从入门到舒适 从 Warp 切换到了 [[Ghostty]],理由非常简单,我使用 atuin 来同步 Shell 历史,但是 Warp 不支持,外加上 Ghostty 自带 Metal GPU 加速渲染、原生 macOS AppKit 构建、启动飞快,可以让 AI 以纯文本方式配置,就果断切换了。
  • GitNexus:把你的代码库变成 AI 能读懂的知识图谱 用 AI 写代码这件事,大家都已经习惯了。但一个尴尬的现实是:AI 在修改代码的时候,经常不知道自己改的那个函数被多少地方调用、改完之后会不会连锁反应把别的功能搞崩。这不是 AI 模型不够聪明,而是它看不到代码库的全貌——依赖关系、调用链路、执行流程,这些结构性的信息在普通的文件搜索里是丢失的。