Seven's blog

你不会找到路,除非你敢于迷路

0%

前言

碍于各种复杂的网络环境,有些情况下我们并不能直接访问 SSH 服务器。

这时,网络代理和 SSH 隧道就成了救命稻草。

本文记录了通过网络代理和 SSH 隧道连接远程服务器的几种方法,希望对你有所帮助。

稻草堆

使用 SSH 隧道连接服务器

常用于跳板机场景。

1
ssh ${ssh-user}@${ssh-host} -o ProxyCommand="ssh ${jump-host-user}@${jump-host} -p ${jump-host-port} -W %h:%p"

SSH + ncat 使用 HTTP(s) 代理连接服务器

  1. 安装 ncat

    1
    sudo apt install ncat
  2. 通过代理连接远程服务器

    1
    ssh ${ssh-user}@${ssh-host} -o ProxyCommand="ncat --proxy ${proxy-ip}:${proxy-port} --proxy-type http --proxy-auth ${proxy-account}:${proxy-password} %h %p"

SSH + ncat 使用 Socks 代理连接服务器

  1. 安装 ncat

    1
    sudo apt install ncat
  2. 通过代理连接远程服务器

    1
    ssh ${ssh-user}@${ssh-host} -o ProxyCommand="ncat --proxy ${proxy-ip}:${proxy-port} --proxy-type socks5 --proxy-auth ${proxy-account}:${proxy-password} %h %p"
阅读全文 »

前言

本文通过两种方法讲述了 Java 如何清空控制台输出,达到类似 Linux 中 top 命令的效果。

两种方法均在 Linux 环境中测试通过,Windows 环境请自行测试,理论可行。

下列代码需要在控制台执行才会有清除控制台效果,在 IDE 中执行无效。

使用 ASCI 控制码清空控制台

通过输出 ASCI 控制码清空控制台,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* ConsoleClear
*
* @author seven
* @date 2021-04-14 21:49
*/
public class ConsoleClear {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
System.out.println(i);
}
// 清空控制台并把光标停留在起始位置
System.out.print("\033[H\033[2J");
// 效果同上
// System.out.print("\033[0;0H\033[2J");
System.out.fulsh();
}
}

另外,ASCI 控制码还可以实现前景色、背景色、下划线、消隐、闪烁效果的设置以及光标控制,具体方法请阅读参考文档。

阅读全文 »

前言

这篇文章记录了 RedMi K40 Pro 手机非 TWRP 方式刷入 Magisk 的过程、OTA 升级的注意事项和一些常用 Magisk 模块推荐。希望能够对你有所帮助。

安装 Magisk

  1. 解锁 BL,参照 官网教程 操作即可。

    解锁BL

  2. 找到与当前手机 MIUI 版本相同 的卡刷包或者线刷包。

    阅读全文 »

前言

使用 Hexo 写博客已经很久了,各方面体验还算顺滑,唯一感觉不是那么爽的地方在于图床的使用。

如果在写作的过程中需要插入图片,我需要先中断写作,打开图床 web 页面,上传图片,复制图片链接,再回到编辑器粘贴图片链接。整个过程极其繁琐,令人苦不堪言。直到我遇到了 PicGo-Core

PicGo-Core 可以和 Typora 无缝连接,在几乎无感的情况下完成图片的上传与 markdown 格式的转换,极大得提高了写作的流畅程度。

本文将结合我的自身实践,讲述 Hexo + Typora + PicGo-Core 的联合配置过程,希望能够对你有所帮助。

文章适合已经把玩过 Hexo 或者对 Node 有所了解的用户理解,如果您没有接触过对应知识,还请自行补充。

文中 “Hexo + Typora 联动” 章节与 “Typora + PicGo-Core 联动” 章节并无关联,可以只阅读自己感兴趣的部分。

阅读全文 »

优秀文章

  • 和软件开发相关的一些思考

    1. deadline 带来的生产力一定程度上是以牺牲质量为代价的;
    2. 在软件开发或者是学习过程中,需要不断地根据实际情况去调整计划。不要一刀切得使用固定的 ddl;
    3. 大多数开发者都会高估自己的开发速度,低估软件工程的复杂程度;
    4. 单一技术不能解决所有问题,争论某种技术最好并没有实际意义。关键是什么工具和技术更适合解决你现在的问题;
    5. 技术总归是要为人服务的,产品的出发点应该是“人”。“人”需要什么功能,什么技术更适合完成这个功能;
    6. 多和人沟通,了解不同人的想法、不同人思维的差异,可以让我们更容易地去接受这个世界存在着的不同,让我们更谦虚。
  • 给你一份时间管理秘籍

    无事心不空,有事心不乱,大事心不畏,小事心不慢。

    专注可以解决世上绝大多数问题,剩下的需要一点运气。

  • 合理合法地多赚钱

    关于金钱,说到底也是一种资源,这种资源和其他的资源没有太大区别,资源越多,你的自由度越大。

阅读全文 »