FinalShell v3.9.7 免费版 | 好用的SSH远程连接工具
FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求。免费海外服务器远程桌面加速,ssh加速,本地化命令输入框,支持自动补全,命令历史,自定义命令参数。
主要特性
1.多平台支持Windows,macOS,Linux
2.多标签,批量服务器管理.
3.支持登录ssh和Windows远程桌面.
4.漂亮的平滑字体显示,内置100多个配色方案.
5.终端,sftp同屏显示,同步切换目录.
6.命令自动提示,智能匹配,输入更快捷,方便.
7.sftp支持,通过各种优化技术,加载更快,切换,打开目录无需等待.
8.服务器网络,性能实时监控,无需安装服务器插件.
9.内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿.
10.双边加速功能,大幅度提高访问服务器速度.
11.内存,Cpu性能监控,Ping延迟丢包,Trace路由监控.
12.实时硬盘监控.
13.进程管理器.
14.快捷命令面板,可同时显示数十个命令.
15.内置文本编辑器,支持语法高亮,代码折叠,搜索,替换.
16.ssh和远程桌面均支持代理服务器.
17.打包传输,自动压缩解压.
18.支持rz,sz (zmodem)
19.多地点ping监控
20.命令输入框,支持自动补全,命令历史
21.自定义命令参数功能,可动态根据输入参数生成命令
更新日志
- 增加多个内置字体.
- 增加自动切换加速节点,避免加速失败.
- 增加加速,代理连接提示.
- 修复bug.
软件激活
下载软件,获取机器码:
获取到机器码后,粘贴到软件,获取激活码:
拿到激活码后,去finalshell激活:
Hosts屏蔽实现自动激活
防止下次登录要再次手动激活
可在host将finalshell的网址指向本地
打开win的hosts文件,填入以下内容,保存。
win10 hosts 文件位置:C:\Windows\System32\drivers\etc\hosts
127.0.0.1 www.youtusoft.com
127.0.0.1 youtusoft.com
127.0.0.1 hostbuf.com
127.0.0.1 www.hostbuf.com
127.0.0.1 dkys.org
127.0.0.1 tcpspeed.com
127.0.0.1 www.wn1998.com
127.0.0.1 wn1998.com
127.0.0.1 pwlt.wn1998.com
127.0.0.1 backup.www.hostbuf.com
到此,不出意外的话,你再打开finalshell,就会自动激活了
激活码计算代码
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
class FinalShell {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException {
System.out.print("请输入FinalShell的离线机器码:");
Scanner reader = new Scanner(System.in);
String machineCode = reader.nextLine();
generateKey(machineCode);
}
public static void generateKey(String hardwareId) throws NoSuchAlgorithmException {
String proKey = transform(61305 + hardwareId + 8552);
String pfKey = transform(2356 + hardwareId + 13593);
System.out.println("高级版激活码:" + proKey);
System.out.println("专业版激活码:"+pfKey);
}
public static String transform(String str) throws NoSuchAlgorithmException {
String md5 = hashMD5(str);
return hashMD5(str).substring(8, 24);
}
public static String hashMD5(String str) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] hashed = digest.digest(str.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : hashed) {
int len = b & 0xFF;
if (len < 16) {
sb.append("0");
}
sb.append(Integer.toHexString(len));
}
return sb.toString();
}
}