2021-06-10更新: 域名挂了,改用mysmth

luit -encoding gbk ssh <id>@bbs.mysmth.net

在UTF8的终端里逛水木

luit -encoding gbk ssh <id>@bbs.newsmth.net  #newsmth最近已经支持了ssh v2了, 不需要再加`-1`参数
					 #也支持在BBS里设置public key

防发呆(2019-01-12更新)

alias newsmth-expect='expect -c "set timeout 60; spawn luit -encoding gbk ssh bbs.newsmth.net; interact timeout 30  {send \"\000\"}; "'

(正文结束)

防发呆

$ cat ~/.ssh/config 
Host *
    TCPKeepAlive yes
    ServerAliveInterval 15
    ServerAliveCountMax 3

来源链接

(貌似效果没有那么显著, 但也有一部分改善. )

Fix 1

有时候 luit 1.1.1 版本会报 Segmentation fault (core dumped)

根据这篇文章:

$ wget http://invisible-island.net/datafiles/release/luit.tar.gz
$ tar -xvf luit.tar.gz
$ cd luit-*; ./configure; make; sudo make install

装一个新版本的luit就好了.

Fix 2

新版本的ssh已经不支持ssh1了. 2016-11-04: KCN已经更新了水木, 增加了SSH2支持

但是有一个legacy的包还支持.

$ sudo apt-get install openssh-client-ssh1

$ luit -encoding gbk ssh1 -1 <id>@bbs.newsmth.net

Fix 3: gnome-terminal 字符宽度问题

Profile -> Compatibility -> Ambiguous-width characters: 选成 Wide

否则 ASCII 字符对不齐.

自动输入密码

$ sudo apt-get install sshpass
$ alias newsmth="luit -encoding gbk sshpass -p <yourpassword> ssh1 -1 <id>@bbs.newsmth.net"

用gpg加密一下

echo <yourpassword> | gpg -c > ~/.newsmthpassword && chmod 600 ~/.newsmthpassword

# 在~/.bashrc里加入下面一行
alias newsmth="eval \"luit -encoding gbk sshpass -p \$(cat ~/.newsmthpassword | gpg) ssh scateu@bbs.newsmth.net\""

或者用 openssl 来加密

echo <yourpassword> | openssl aes-128-cbc -e -a
# 在~/.bashrc里加入下面一行
alias newsmth="eval env SSHPASS=\$(echo <那一串hash> | openssl aes-128-cbc -d -a) luit -encoding gbk sshpass -e ssh scateu@bbs.newsmth.net"  

之所以用eval, 是为了避免一开bash就执行那个解密操作.

不建议sshpass-p参数, 因为可以在topps里看到明文密码. 用env可以把$SSHPASS限制在这一行命令中而不泄漏.

w3m 看带图的十大

在fbterm的下面,用w3m也不错,只看十大的话。
还能看图:

sudo apt install w3m-img jfbterm

alias w3m='TERM=jfbterm w3m' #否则在fbterm里不显示中文
#如果没有jfbterm这个包的话,可以去找个jfbterm的termcap文件,放到~/.terminfo/j/jfbterm里

alias newsmth-十大="w3m -N m.newsmth.net m.newsmth.net/hot/{1..9}"

{ } 切换标签页, C-q关标签页,C-t打开链接到新标签页。

See Also