全平台
通过 Termius,你可以安卓、Windows、macOS、Linux 下来连接你的服务器,并且会在不同设备间同步,电脑做着做着要离开,换手机接着做
官网链接:
https://www.termius.com/
界面UI非常细腻
win上面有xsheel,个人感觉xsheel更加强大。但是他不做Mac版本。由于在Mac上面用过Termius,所以习惯了他的界面。想要在win上面也用Termius
下载地址:http://www.ddooo.com/softdown/182046.htm
参考:https://www.52pojie.cn/thread-1228743-1-1.html
手动方式打开当前这个js文件目录下面的这个js文件。然后全局搜索进行修改,但是一个一个改感觉麻烦
创建一个termius.ini的文件,把下面这些复制进去,然后用下面Java运行即可。
[{title:"Terminal"},{title:"Shortcuts"},{title:"Known Hosts"},{title:"Keychain"}]|[{title:"终端"},{title:"快捷键"},{title:"已知主机"},{title:"密钥链"},{title:"账户"},{title:"新特性"},{title:"实验性"}]
[{title:"Account"},{title:"Terminal"},{title:"Shortcuts"},{title:"Known Hosts"},{title:"Keychain"}]|[{title:"终端"},{title:"快捷键"},{title:"已知主机"},{title:"密钥链"},{title:"账户"},{title:"新特性"},{title:"实验性"}]
["Terminal","Shortcuts","Known Hosts","Keychain"]|["终端","快捷键","已知主机","密钥链"]
["Account","Terminal","Shortcuts","Known Hosts","Keychain"]|["终端","快捷键","已知主机","密钥链","账户","新特性","实验性"]
["Local","Remote","Dynamic"]|["本地","远程","动态"]
["Hostname", "Username"]|["主机名", "用户名"]
["Name","Date"]|["名称","日期"]
title:"Warning",text:"After logout user data will be removed from the device"|title:"警告",text:"注销后,用户数据将从设备中删除!"
title:"Enter required fields"|title: "输入需要的字段"
title:"How we check passwords"|title: "我们如何验证密码"
title:"No Identities or Keys"|title:"没有身份鉴权或密钥"
title:"Copy to target directory"|title:"复制到目标目录"
title:"Nothing to import"|title:"没什么可导入的"
title:"Select Color Themes"|title:"选择主题颜色"
title:"Hostchain Sharing"|title: "主机链共享"
title:"Select Charset"|title:"选择字符集"
title:"Port Forwarding"|title:"端口转发"
title:"No Known Hosts"|title:"未知主机"
title:"Select Snippets"|title:"选择代码片段"
title:"Default Theme"|title:"默认主题"
title:"Data Sharing"|title: "数据共享"
title:"Privacy Policy"|title:"隐私政策"
title:"Open in Terminal"|title:"在新的终端打开"
title:"Edit Permissions"|title:"修改权限"
title:"Color Themes"|title:"主题颜色"
title:"Select Keys"|title:"选择密钥"
title:"Remove tag"|title:"删除标签"
title:"Arrange by: "|title:"排序: "
title:"IP Version"|title:"IP 版本"
title:"Known Hosts"|title:"已知主机"
title:"Identities"|title:"身份凭据"
title:"Documentation"|title:"文档"
title:"Add Host"|title:"添加主机"
title:"Uservoice"|title:"用户语音"
title:"Edit Tag"|title:"编辑标签"
title:"New Folder"|title:"新建文件夹"
title:"Password"|title:"密码"
title:"Address"|title:"地址"
title:"Snippets"|title: "代码片段"
title:"Protocol"|title:"协议"
title:"Date"|title:"日期"
title:"Keys"|title:"密钥"
title:"Time"|title:"时间"
title:"Snippet"|title:"代码片段"
title:"Status"|title:"状态"
title:"Billing"|title:"付款"
title:"Groups"|title:"分组"
title:"Select All"|title:"全选"
title:"Port"|title:"端口"
title:"SFTP"|title:"SFTP"
title:"Rename"|title:"重命名"
title:"Delete"|title:"删除"
title:"Refresh"|title:"刷新"
title:"Close"|title:"关闭"
listName:"Known Hosts"|listName:"已知主机"
listName:"Identities"|listName:"身份凭据"
listTitle:"Charsets"|listTitle:"字符集"
listTitle:"Keys"|listTitle:"密钥"
listName:"Groups"|listName:"分组"
listName:"Hosts"|listName:"主机"
subtitle:"Select Groups"|subtitle:"选择分组"
formTitle:"Add key"|formTitle:"添加密钥"
formTitle:"Add host"|formTitle:"添加主机"
endAdornment:"save"|endAdornment:"保存"
importButtonLocation:"Preferences"|importButtonLocation:"首选项"
placeholder:"Search identities"|placeholder:"搜索鉴权凭证"
placeholder:"Add a Tag..."|placeholder:"新建标签"
placeholder:"Tab Title"|placeholder:"标签标题"
placeholder:"Select..."|placeholder:"选择..."
placeholder:"Disabled"|placeholder:"禁用"
placeholder:"Filter"|placeholder:"过滤器"
placeholder:"Search"|placeholder:"搜索"
placeholder:"Find"|placeholder:"查找"
onClick:t},"Cancel")|onClick:t},"取消")
ButtonTitle:"Save"|ButtonTitle:"保存"
ButtonTitle:"Remove"|ButtonTitle:"删除"
ButtonTitle:"Logout"|ButtonTitle:"注销"
case"Known Hosts"|case"已知主机"
case"Experiments"|case"实验性"
case"Shortcuts"|case"快捷键"
case"Keychain"|case"密钥链"
case"Terminal"|case"终端"
case"Account"|case"账户"
case"Features"|case"新特性"
label:"Bind address, 127.0.0.1 by default"|label:"绑定地址, 默认 127.0.0.1"
label:"Bring All to Front"|label:"Bring All to Front"
label:"Toggle Full Screen"|label:"切换全屏"
label:"Check for Update"|label:"检查更新"
label:"Date Modified"|label:"修改日期"
label:"Startup Snippet"|label:"启动代码片段"
label:"Learn More"|label:"了解更多"
label:"Theme Options"|label:"主题选项"
label:"Minimize"|label:"最小化"
label:"Preferences"|label:"首选项"
label:"New Window"|label:"新窗口"
label:"Number of rows"|label:"行数"
label:"Host from"|label:"来源主机"
label:"Port From"|label:"来源端口"
label:"Identities"|label:"身份凭据"
label:"Host to"|label:"目的主机"
label:"Port to"|label:"目的端口"
label:"Root group"|label:"根分组"
label:"Charset"|label:"字符集"
label:"Interval"|label:"间隔"
label:"Hosts"|label:"主机"
label:"Find"|label:"查找"
label:"File"|label:"文件"
label:"Edit"|label:"编辑"
label:"View"|label:"查看"
label:"Window"|label:"窗口"
label:"Help"|label:"帮助"
label:"Size"|label:"大小"
label:"Kind"|label:"类型"
label:"About"|label:"关于"
label:"Label"|label:"标签"
label:"Tags"|label:"标签"
label:"Keys"|label:"密钥"
label:"Passphrase"|label:"密码"
label:"Password"|label:"密码"
label:"Proxy"|label:"代{过}{滤}理"
label:"Port"|label:"端口"
label:"Username"|label:"用户名"
label:"User"|label:"用户"
label:"Address"|label:"地址"
label:"Group"|label:"分组"
label:"Groups"|label:"分组"
label:"Name"|label:"名称"
{role:"selectall"}|{label:"全选",role:"selectall"}
{role:"delete"}|{label:"删除",role:"delete"}
{role:"paste"}|{label:"粘贴",role:"paste"}
{role:"copy"}|{label:"复制",role:"copy"}
{role:"undo"}|{label:"撤销",role:"undo"}
{role:"redo"}|{label:"重做",role:"redo"}
{role:"cut"}|{label:"剪切",role:"cut"}
{role:"minimize"}|{label:"最小化",role:"minimize"}
"We’ve credited your account with a free 14 day trial of Termius Premium. Get Termius on iOS or Android, and keep everything synced automatically."|"我们已为您的帐户提供Termius 高级版的14天免费试用。 在iOS或Android上获取Termius,并自动保持所有同步。"
`\n An item named "${A}" already exists in this location. \n Do you want to replace it with the one you are moving?\n `|`\n 此目录已存在名为 "${A}" 的项目. \n 您确定要用您移动的覆盖它吗?\n `
"The parameters below will be applied to all hosts and subgroups in this group, unless you explicitly rewrite them."|"除非您明确重写它们,否则以下参数将应用于该组中的所有主机和子组。"
"Upload and download files using the integrated SFTP client. Easily accessible from the terminal on all devices."|"使用集成的SFTP客户端上传和下载文件。 可从所有设备上的终端轻松访问。"
"How often (in milliseconds) to send SSH-level keepalive packets to the server. Set to 0 to disable."|"设置SSH的心跳包频率(以毫秒为单位)。设置为0以禁用。"
"Please re-enter your Termius password to re-sync your data from our servers:"|"请重新输入您的Termius密码以重新同步来自我们服务器的数据:"
"We’ve credited your account with a free 14 day trial of Termius Premium."|"我们已为您的帐户提供Termius 高级版的14天免费试用。"
"This password has previously appeared in a data breach and should never be used!"|"该密码以前曾出现在数据泄露中,切勿使用!"
"Unlock Termius Premium features such as SFTP, Snippets, Agent Forwarding,"|"解锁Termius 高级版功能,例如SFTP,代码片段,代{过}{滤}理转发,"
"and sync the data across all your devices using E2EE sync."|" 并且在您所有设备之间同步数据,使用 E2EE 同步"
"Limit number of terminal rows. Set to 0 to maximum limit size."|"限制终端行数。 设置为0表示最大限制大小。"
"Affects this device only, saved credentials will not be synced"|"仅影响此设备,保存的凭据将不会同步"
"Create an account to unlock all Premium features for 14 days."|"创建一个账户解锁所有高级版特性14天。"
"Connecting to a host requires adding one to Termius first."|"连接到主机需要先要将其添加到向Termius。"
"Find a host or ssh user@hostname..."|"查找一个已知主机 或 ssh user[url=home.php?mod=space&uid=1210260]@hostname[/url] 直接登录一个主机..."
"Enable notification bell (backend flag won't change)"|"启用通知铃声(后端标志不会更改)"
"Manage Subscription":"Learn more about Premium"|"管理订阅":"了解更多关于高级版"
"Manage Billing Information":"Manage Subscription"|"管理帐单信息":"管理订阅"
"Connect to a new host via SSH, MOSH or Telnet."|"通过SSH,MOSH或Telnet连接到新主机。"
has been downloaded and will be automatically installed on exit`|退出时将会自动安装`
"Once you've added hosts, you'll find them here"|"添加主机后,您将在这里找到它们"
"Your reset link has been sent to your email"|"您的重置链接已发送至您的电子邮件"
"New Terminals will use the selected theme, "|"新打开的终端将会使用选中主题,"
"Select text to copy & Right click to paste"|"选中文本复制 & 右击鼠标粘贴"
"email address. Enter your password to log in."|"电子邮件地址。 输入密码登录。"
"There’s already an account associated with this"|"已经有与此相关的帐户的"
"Account with specified email is not registered"|"指定电子邮件的帐户未注册"
"Select what type of data you want to import:"|"选择您要导入的数据类型:"
"Hide Hidden Files":"Show Hidden Files"|"隐藏隐藏文件":"显示隐藏文件"
"Are you sure you want to remove this known host?"|"您确定要删除此主机吗?"
"This password hasn't appeared in a data breach"|"此密码未出现数据泄露事件"
"Connection failed with connection log:"|"连接失败,并显示连接日志:"
"The update will be downloaded automatically."|"将会自动下载更新。"
"Snippets are predefined port knocking or"|"代码片段是预定义 端口敲击 或者"
"shell scripts. Add a snippet to conveniently"|"Shell 脚本。添加一段代码片段方便"
"Are you sure you want to remove snippet?"|"您确定要删除代码片段吗?"
"run any command at any time."|"在任意时候运行任意代码"
"Import from AWS and Digital Ocean"|"从 AWS 或者 Digital Ocean导入"
"Data has not been synchronized yet"|"数据未同步"
" existing Terminals are not affected."|"已经打开的终端不受影响。"
"Delete local data and start over"|"删除本地数据并重新开始"
"Allow local SSH/SFTP connections"|"允许本地 SSH/SFTP 连接"
"Use new terminal rendering engine"|"使用新的终端渲染引擎"
"Password reset failed with status "|"密码重置失败,状态为 "
"Need to import something else?"|"需要导入其他内容吗?"
"Delete local data and re-sync"|"删除本地数据并重新同步"
"Edit identity":"Add identity"|"编辑身份凭据":"添加身份凭据"
"Are you sure you want to delete tag?"|"您确定要删除标签吗?"
" Premium on all your devices."|" 高级版在您所有设备上."
"Start a free 14 day trial and use "|"开始免费使用 14 天 "
"Please fill out your Phone Number"|"请输入您的手机号码"
"A new update is ready to install"|"一个更新已经准备就绪"
"Try Premium - 14 day free trial"|"免费试用高级版 14 天"
"Select from your saved Hosts"|"从您已经保存的主机中选择"
"Something went wrong, try again."|"发生错误,请稍后再试"
"Manage your usernames and"|"管理您的用户名和访问密钥"
"Redirect communication requests"|"重定向通讯请求"
"with port forwarding rules."|"通过端口转发规则."
"Edit snippet":"Add snippet"|"编辑代码片段":"添加代码片段"
"To create a port forwarding rule"|"在创建端口转发规则之前"
"Sync keys and identities"|"同步密钥和身份凭据"
" at the end of trial period."|",在试用期结束后"
"Enable new virtualized list"|"启用新的虚拟列表"
"Enable new connection flow"|"启用新的连接流程"
"Continue without account"|"不登录账户继续使用"
"Hide Logs":"Show Logs"|"隐藏日志":"显示日志"
"Enable new crypto system"|"启用新的加密系统"
"SFTP is a Premium Feature"|"SFTP是高级版特性"
"Continue":"Create account"|"继续":"创建账户"
"Edit Rule":"Add Rule"|"编辑规则":"新建规则"
"Already have an account?"|"已经有账户了?"
"Edit key":"Add key"|"编辑密钥":"添加密钥"
"Backspace as Ctrl+H"|"Backspace 当作 Ctrl+H"
"From Parent group":"Default"|"继承父组":"默认"
"Edit group":"Add group"|"编辑分组":"添加分组"
"Edit host":"Add host"|"编辑主机":"添加主机"
"access keys by adding them"|"通过添加他们"
"ADD ENVIRONMENT VARIABLE"|"添加环境变量"
" from specified file."|"在您提供的文件中。"
"nothing to import"|"没有可导入的数据"
"Unfortunately we found "|"实在抱歉!我们发现"
"Where are you coming from?"|"从那里导入?"
"AWS and Digital Ocean"|"AWS 和 Digital Ocean"
"Sync Keys & Passwords"|"同步 密钥 和 密码"
`Do you want to delete|`您确定想要删除
"Start by adding a host"|"从添加主机开始"
"SSH Agent Forwarding"|"SSH 代{过}{滤}理转发"
"Import from AWS, DO*"|"从AWS导入, DO*"
"Name is already used"|"名称已经被使用"
"Error during transfer"|"传输过程发生错误"
" What do you want to do?"|" 你想做什么?"
"Two-Factor Authentication"|"两因素身份验证"
"Phone number"|"手机号码"
"Port-knocking*"|"Port-knocking*"
"Enable session reuse"|"启用会话重用"
"No automatic charge"|"不会自动收费"
"Password reset failed"|"密码重置失败"
"Verified":"Not verified"|"已验证":"未验证"
"New Update Available"|"新版本可用"
"Protocol selected: "|"选择协议: "
"Local Terminal Path"|"本地终端路径"
"Keepalive Interval"|"保持连接间隔"
"Import from PuTTY"|"从 PuTTY 导入"
"Import from KiTTY"|"从 KiTTY 导入"
"Import from CSV"|"从 CSV 导入"
"SSH config file"|"SSH 配置文件"
"Remove known host"|"删除已知主机"
"New Update available."|"新版本可用。"
"Theme inherited from "|"主题继承自 "
"Experiment Toggles"|"实验性开关"
"Import Ssh Config"|"导入 SSH 配置文件"
"How do we know?"|"我们如何知道?"
"Password strength:"|"密码强度:"
"Log In":"Sign Up"|"登录":"注册"
"Feature Toggles"|"新特性开关"
"Connect to Host"|"连接到主机"
"[SSH2] Port"|"[SSH2] 端口"
"Autocomplete*"|"Autocomplete*"
"Add new host"|"添加新主机"
"Global settings"|"全局设置"
"SOCKS Proxy"|"SOCKS 代{过}{滤}理"
"Port Forwarding"|"端口转发"
"SFTP Client"|"SFTP 客户端"
"to the Keychain"|"到密钥链"
"Terminal settings"|"终端设置"
"Scrollback"|"Scrollback(回滚)"
children:"New"|children:"新建"
"Local Terminal"|"本地终端"
"Let us know!"|"让我们知道!"
"Do it later"|"稍后再试"
"these items"|"这些项目"
"this folder"|"这个文件夹"
"GO PREMIUM"|"购买高级版"
"this file"|"这个文件"
"these folders"|"这些目录"
"these files"|"这些文件"
"Adding a host"|"添加一个主机"
"Foldername *"|"目录名 *"
"New filename *"|"新文件名 *"
"Required"|"需要的"
"Let’s go!"|"让我们开始吧!"
"Reset password"|"重置密码"
"Remove snippet"|"删除代码片段"
"Local Terminal"|"本地终端"
" Preferences"|" 首选项"
"Terminal theme"|"终端主题"
"Terminal Font"|"终端字体"
"Apply to All"|"应用到所有"
"New Identity"|"添加身份凭据"
"Synchronization"|"数据同步"
"Sync keys"|"同步密钥"
"Connection to "|"连接到 "
"Exit":"Quit"|"退出":"退出"
"Enable IPv6"|"启用 IPv6"
"New Host"|"添加主机"
"New Group"|"添加分组"
`Connecting to |`连接到
"Add to host"|"添加到主机"
"Preferences"|"首选项"
"New email"|"新邮箱"
"Change Email"|"修改邮箱"
"Change email"|"修改邮箱"
"Old Password"|"旧密码"
"Change Password"|"修改密码"
"Change password"|"修改密码"
"Log Out"|"退出登录"
"Reload Data"|"重新加载数据"
"Enable 2FA"|"启用 2FA"
"Error!!!"|"错误!!!"
"Public key"|"公钥"
"Private key"|"私钥"
"New Key"|"添加密钥"
"Skip All"|"全部跳过"
"start by"|"请先"
"Select Host"|"选择主机"
"Select Hosts"|"选择主机"
label:"Tags"|label:"标签"
"Let us know!"|"让我们知道!"
"Learn more in "|"了解更多 "
"Start Over"|"重新开始"
"Dynamic Rule"|"动态规则"
"Local Rule"|"本地规则"
"Remote Rule"|"远程规则"
"New Password"|"新密码"
"Dark mode"|"深色模式"
"Host Chaining"|"主机链"
"Parent group"|"父分组"
"Edit Chain"|"编辑链"
"Text size"|"文本大小"
"Bell sound"|"铃声"
"Sync now"|"立即同步"
"History"|"历史记录"
"Duplicate"|"重复"
"Snippets"|"代码片段"
"Username"|"用户名"
`Arrange by:|`排序:
"Account"|"账户"
"Hostname"|"主机名"
:"Tags"),|:"标签"),
"Login")|"登录")
"Log In"|"登录"
"Edit"|"编辑"
"Remove"|"删除"
"Close"|"关闭"
"Connect"|"连接"
"Actions"|"操作"
"Continue"|"继续"
"Import"|"导入"
"Delete"|"删除"
"Replace"|"替换"
"Reset"|"重置"
"Skip"|"跳过"
"Merge"|"合并"
"Cancel"|"取消"
"Retry"|"重试"
"Size "|"大小 "
"Stop"|"停止"
//去更新
const t=this.updateInfoAndProvider|const t=null
//开调试
this.browserWindow.loadURL((|this.browserWindow.webContents.openDevTools(),this.browserWindow.loadURL((
//高级版
return{user:A.user|A.user.account.current_period={from:"2020-01-01T00:00:00",until:"3000-12-30T00:00:00"};A.user.account.expired_screen_type="Premium";A.user.account.plan_type="premium";A.user.account.user_type="premium";A.user.account.pro_mode=true;A.user.account.need_to_update_subscription=false;A.sync.syncKeysAndIdentities=true;A.authorized=true;return {user:A.user
#return A.user.account.pro_mode|return true
#disabled:!c,size:"md"}|disabled:false,size:"md"}
#disabled:!i,size:"md"}|disabled:false,size:"md"}
#disabled:!B,size:"md"}|disabled:false,size:"md"}
#disabled:!E}|disabled:false}
#plan_type:"premium"|plan_type:"premium"
#user_type:"premium"|user_type:"premium"
#A.user.account.user_type|"premium"
#"unauthorized"|"premium"
#return A.user.account.current_period|return {from:"2020-01-01T00:00:00",until:"3000-12-30T00:00:00"}
#includes("ago")|includes("agoo")
#now:""|now:"2020-08-21T00:00:00"
#A.user.account.now|"2020-08-21T00:00:00"
#//关键字
#e.account.plan_type="premium"
#e.trial=null
#e.account.user_type="premium"
#e.account.pro_mode=true
#e.account.current_period.from="1970-01-01T00:00:00"
#e.account.current_period.until="2100-01-01T00:00:00"
#e.account.expired_screen_type
#disabled:
#return {
# user: A.user,
# isTeamOwner: Dl(A),
# daysUntilExpire: e,
# currentPeriodExpiration: t,
# dark: FQ(A),
# isBellVisible: pl(A)
# }
Java:
package com.xxy.demotest.test;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
/**
* @beLongProjecet: demo-test
* @beLongPackage: com.xxy.demotest.test
* @author: xiaoxiangyuan
* @createTime: 2022/07/12 18:10
* @description: Termius工具破解汉化
* @version: v1.0
*/
public class TermiusTestUtil {
public static void main(String[] args) throws IOException {
String name = "D:\\termius.ini";
String filename = "C:\\Users\\wonder\\AppData\\Local\\Programs\\Termius\\resources\\app\\js\\entry.js";
// filename = "C://Users//Administrator//AppData///Local//Programs//Termius//resources//app//js//main.js";
// 使用ArrayList来存储每行读取到的字符串
ArrayList arrayList = new ArrayList<>();
ArrayList unTranslate = new ArrayList<>();
String strs = "";
try {
FileReader fr = new FileReader(name);
BufferedReader bf = new BufferedReader(fr);
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null) {
arrayList.add(str);
}
bf.close();
fr.close();
fr = new FileReader(filename);
bf = new BufferedReader(fr);
while ((str = bf.readLine()) != null) {
strs += str + "\r\n";
}
} catch (IOException e) {
e.printStackTrace();
}
// 对ArrayList中存储的字符串进行处理
int length = arrayList.size();
for (int i = 0; i < length; i++) {
String s = arrayList.get(i);
String[] tab = s.split("\\|");
if (tab.length!=2 && s.trim().length() > 4){
System.out.println(s + "\r\n");
}
if (strs.contains(tab[0]) && tab.length==2 && !s.startsWith("#")){
strs = strs.replace(tab[0],tab[1]);
System.out.println(i + " " +s);
}else {
unTranslate.add(s);
}
}
FileWriter fileWriter = new FileWriter(filename);
fileWriter.write(strs);
fileWriter.flush();
fileWriter.close();
System.out.println(unTranslate);
}
}