Sfoglia il codice sorgente

更新 _posts/2022-03-27-radio.md, _posts/2019-04-24-shell.md, _posts/2021-05-07-ssh.md, _posts/2022-03-12-alpine.md, _posts/2022-02-15-termux.md

mayx 3 anni fa
parent
commit
de16f53f05

+ 3 - 3
_posts/2019-04-24-shell.md

@@ -9,13 +9,13 @@ tags: [Shell, 编程]
 <!--more-->
 
 Shell 脚本很棒,你可以非常轻松地写出有用的东西来。甚至像是下面这个傻瓜式的命令:
-```
+```shell
 # 用含有 Go 的词汇起名字:
 $ grep -i ^go /usr/share/dict/* | cut -d: -f2 | sort -R | head -n1
 goldfish
 ```
 如果用其他编程语言,就需要花费更多的脑力,用多行代码实现,比如用 Ruby 的话:
-```
+```ruby
 puts(Dir['/usr/share/dict/*-english'].map do |f|
   File.open(f)
     .readlines
@@ -25,7 +25,7 @@ end.flatten.sample.chomp)
 Ruby 版本的代码虽然不是那么长,也并不复杂。但是 shell 版是如此简单,我甚至不用实际测试就可以确保它是正确的。而 Ruby 版的我就没法确定它不会出错了,必须得测试一下。而且它要长一倍,看起来也更复杂。   
 
 这就是人们使用 Shell 脚本的原因,它简单却实用。下面是另一个例子:
-```
+```shell
 curl https://nl.wikipedia.org/wiki/Lijst_van_Nederlandse_gemeenten |
     grep '^<li><a href=' |
     sed -r 's|<li><a href="/wiki/.+" title=".+">(.+)</a>.*</li>|\1|' |

+ 4 - 4
_posts/2021-05-07-ssh.md

@@ -17,19 +17,19 @@ tags: [网络, SSH, 指南]
   假如我有一台电脑在家,然后我还租了一个垃圾云服务器,服务器的性能很差但是家里的电脑性能很好。假如有一天我想在外面去玩我的电脑要怎么办呢?   
   一般来说家里的电脑都是在内网之中,而服务器都是在公网,任何一个地方都能访问,现在我如果想访问家里的电脑直接连难度很大,几乎是做不到的对吧,于是这时候我们可以让家里的电脑去连服务器,这样我们就有一条链路连接到家里的电脑了,然后我们再用别的设备去连服务器,这样我们就能间接访问我们的电脑了。   
   具体要怎么做呢?很简单,用SSH就能解决这个问题,首先一般服务器上都装的是Linux系统,一般都是自带OpenSSH的,而且还是SSH服务端,现在的Windows 10也是默认自带OpenSSH的,只不过是客户端。所以首先我们要做的就是用家里的电脑去连服务器。这时候的连接不能直接SSH连过去,普通的连没有任何作用,只是登录到远程服务器上了而已,我们必须要加上一些参数,就像这样:
-```
+```shell
 ssh -R 3389:127.0.0.1:3389 root@remote-ip
 ```
   执行这条指令之后系统仍然会正常的去连接到远程服务器上,但是你如果执行一下`netstat -nlp`的话,就可以发现SSH在本地也监听了一个3389的端口。不过默认的配置下SSH只会在服务器上映射这个端口,在服务器外是连不上的,另外如果说我只想穿透而不想打开服务器终端要该怎么办呢?   
   首先默认不登录终端这个方法很简单,加点参数就可以,就像这样:
-```
+```shell
 ssh -CfNR 3389:127.0.0.1:3389 root@remote-ip
 ```
   这样启动穿透之后就不会在家里的电脑上一直开着服务器终端了,只会有一个黑框而已,当然因为用了`-f`参数,你即使把黑框关了也不会影响。另外还有就是映射到服务器外这个问题,其实这个问题也很好解决,在sshd配置文件里把`GatewayPorts no`改成`GatewayPorts yes`,设置好了之后别忘了在服务器的防火墙和服务器托管商的防火墙那里放行端口。
 ## 端口映射
   假如上面的穿透你设置好了,但是你说你不知道sshd配置文件在哪里?防火墙关不掉?服务器不是你的?好家伙,那内网穿透还搞什么?没关系,SSH比你想象的要厉害,假如你没办法开服务器的端口,那你可以把服务器上面的端口映射到本机上。   
   那么现在内网穿透已经搞好了,但是由于各种各样的原因你访问不到服务器的端口,这时候你在外面,可以在外面用电脑执行以下命令:
-```
+```shell
 ssh -CfNL 3390:127.0.0.1:3389 root@remote-ip
 ```
   这样一波操作,你家里的那台电脑上的3389端口就被映射到了你现在用的电脑上的3390端口了,当然效率很低这个没办法,毕竟SSH这些功能没有完全流行起来也是因为它的效率确实低,而且还容易断,也没个自带的断线重连……    
@@ -37,7 +37,7 @@ ssh -CfNL 3390:127.0.0.1:3389 root@remote-ip
   虽然说我现在很想吐槽一下SSH并且想要赶紧说说它的一些上位替代,不过我还是先把所有的SSH厉害的功能讲完吧。   
   SSH更厉害的功能就是随手开代理,又叫做动态端口映射,一般来说如果想要在服务器上配置一个代理很麻烦而且也很费时间,但是如果用SSH隧道开一个代理就只用一条命令,而且还不需要在服务器上做任何配置,真的是非常的方便。
   具体是什么命令呢?很简单,就是这样:
-```
+```shell
 ssh -CfND 127.0.0.1:1080 root@remote-ip
 ```
   执行这条命令之后就会在本机开一个监听地址为`127.0.0.1:1080`的socks5代理,你可以使用Proxifier之类的socks5客户端去连接它,然后就能直接通过这个代理用服务器上网了。假如你还想把这个代理共享给其他同在局域网的人用,可以把`127.0.0.1`改成`0.0.0.0`并且加一个`-g`的参数,这样同网络的人也就可以通过你的电脑连接到隧道上了。   

+ 5 - 1
_posts/2022-02-15-termux.md

@@ -22,7 +22,11 @@ tags: [Termux, Android]
   在安装了发行版之后,换源安装软件就不会再出问题了,在那个上面可以随便安装最新的软件包。我安装了一套Python和Jupyter都可以正常运行,接下来如果可以的话就让我试试看平板使用Termux效果如何吧。   
 
 # 增强性改动
-  我的平板没有物理键盘,然后输入法上也没有上下左右键,导致我操作的时候很麻烦,后来我在网上查了一下,只要运行`mkdir ~/.termux && echo "extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]" > ~/.termux/termux.properties`然后重启Termux就可以在键盘上方出现需要的大多数按键,感觉效果还不错。
+  我的平板没有物理键盘,然后输入法上也没有上下左右键,导致我操作的时候很麻烦,后来我在网上查了一下,只要运行   
+```shell
+mkdir ~/.termux && echo "extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]" > ~/.termux/termux.properties
+```
+  然后重启Termux就可以在键盘上方出现需要的大多数按键,感觉效果还不错。
 
 # 总结
   其实这也是更好利用旧设备的方案,之前我也有写过[怎样更好的利用旧手机](/2020/03/08/oldphone.html),现在如果用了Termux效果就更好了,之前想要安装Web环境用的还是KSWEB的方案,现在的话想安什么环境就和操作电脑和服务器一样简单了。无论如何旧设备还是用起来更好,闲置确实就毫无意义了,不如回收掉或者换盆啥的。

+ 1 - 1
_posts/2022-03-12-alpine.md

@@ -41,7 +41,7 @@ location ~ \.php$ {
   除此之外还有把php-fpm和redis配置成监听Unix Domain之类的优化操作,这些之前的文章都有写,这里就不多做描述了。   
 ## 配置BBR
   之前用CentOS的时候我是直接用的脚本整的BBR,不过BBR好像是高版本Linux内核自带的功能,本来就不需要安装,Alpine的内核版本好像是5.15,就不用像CentOS那样还要升级内核了,所以只要执行以下命令:
-```bash
+```shell
 sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf 
 sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
 echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf 

File diff suppressed because it is too large
+ 48 - 0
_posts/2022-03-27-radio.md