diff --git a/apps/assets/const/protocol.py b/apps/assets/const/protocol.py index 6886cbc4d..553201237 100644 --- a/apps/assets/const/protocol.py +++ b/apps/assets/const/protocol.py @@ -194,6 +194,15 @@ class Protocol(ChoicesMixin, models.TextChoices): 'port_from_addr': True, 'secret_types': ['password'], 'setting': { + 'safe_mode': { + 'type': 'bool', + 'default': False, + 'label': _('Safe mode'), + 'help_text': _( + 'When safe mode is enabled, some operations will be disabled, such as: ' + 'New tab, right click, visit other website, etc.' + ) + }, 'autofill': { 'label': _('Autofill'), 'type': 'choice', diff --git a/apps/assets/migrations/0122_auto_20230803_1553.py b/apps/assets/migrations/0122_auto_20230803_1553.py new file mode 100644 index 000000000..4f3071153 --- /dev/null +++ b/apps/assets/migrations/0122_auto_20230803_1553.py @@ -0,0 +1,24 @@ +# Generated by Django 4.1.10 on 2023-08-03 07:53 + +from django.db import migrations + + +def migrate_web_setting_safe_mode(apps, schema_editor): + platform_protocol_cls = apps.get_model('assets', 'PlatformProtocol') + protocols = platform_protocol_cls.objects.filter(name='http') + for protocol in protocols: + setting = protocol.setting or {} + setting['safe_mode'] = False + protocol.setting = setting + protocol.save(update_fields=['setting']) + + +class Migration(migrations.Migration): + + dependencies = [ + ('assets', '0121_auto_20230725_1458'), + ] + + operations = [ + migrations.RunPython(migrate_web_setting_safe_mode), + ] diff --git a/apps/locale/ja/LC_MESSAGES/django.mo b/apps/locale/ja/LC_MESSAGES/django.mo index 4b1734de2..0d745e972 100644 --- a/apps/locale/ja/LC_MESSAGES/django.mo +++ b/apps/locale/ja/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9e79f70d055fa4d3fda971820bcd0eb186a8806d91346c7038add4ee89d647a -size 151115 +oid sha256:cebc816d765d1b53b4984dabe689b73e25ebea0bbd053625d5f7d94e0bf66852 +size 151070 diff --git a/apps/locale/ja/LC_MESSAGES/django.po b/apps/locale/ja/LC_MESSAGES/django.po index 3c45e852b..1f95b728e 100644 --- a/apps/locale/ja/LC_MESSAGES/django.po +++ b/apps/locale/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-02 16:52+0800\n" +"POT-Creation-Date: 2023-08-03 15:51+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -211,6 +211,7 @@ msgstr "" #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 #: terminal/notifications.py:155 terminal/serializers/command.py:17 +#: terminal/serializers/session.py:26 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 @@ -333,7 +334,7 @@ msgstr "理由" #: accounts/models/automations/backup_account.py:99 #: accounts/serializers/automations/change_secret.py:111 #: accounts/serializers/automations/change_secret.py:134 -#: ops/serializers/job.py:56 terminal/serializers/session.py:44 +#: ops/serializers/job.py:56 terminal/serializers/session.py:46 msgid "Is success" msgstr "成功は" @@ -601,7 +602,7 @@ msgstr "カテゴリ" #: perms/serializers/user_permission.py:27 settings/serializers/vault.py:13 #: terminal/models/applet/applet.py:38 terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:20 terminal/serializers/storage.py:226 +#: terminal/serializers/session.py:21 terminal/serializers/storage.py:226 #: terminal/serializers/storage.py:238 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 #: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 @@ -1098,7 +1099,7 @@ msgstr "無効" msgid "Basic" msgstr "基本" -#: assets/const/base.py:35 assets/const/protocol.py:221 +#: assets/const/base.py:35 assets/const/protocol.py:230 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1240,24 +1241,34 @@ msgstr "SYSDBA として接続" msgid "Auth username" msgstr "ユーザー名で認証する" -#: assets/const/protocol.py:198 assets/models/asset/web.py:9 +#: assets/const/protocol.py:200 +msgid "Safe mode" +msgstr "安全モード" + +#: assets/const/protocol.py:202 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "安全モードが有効になっている場合、新しいタブ、右クリック、他のウェブサイトへのアクセスなど、一部の操作が無効になります" + +#: assets/const/protocol.py:207 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自動充填" -#: assets/const/protocol.py:206 assets/models/asset/web.py:10 +#: assets/const/protocol.py:215 assets/models/asset/web.py:10 msgid "Username selector" msgstr "ユーザー名ピッカー" -#: assets/const/protocol.py:211 assets/models/asset/web.py:11 +#: assets/const/protocol.py:220 assets/models/asset/web.py:11 msgid "Password selector" msgstr "パスワードセレクター" -#: assets/const/protocol.py:216 assets/models/asset/web.py:12 +#: assets/const/protocol.py:225 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "ボタンセレクターを確認する" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:248 msgid "API mode" msgstr "APIモード" @@ -1335,8 +1346,8 @@ msgstr "ユーザーと同じユーザー名" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:111 -#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:18 -#: terminal/serializers/session.py:40 terminal/serializers/storage.py:70 +#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:19 +#: terminal/serializers/session.py:42 terminal/serializers/storage.py:70 msgid "Protocol" msgstr "プロトコル" @@ -2071,7 +2082,7 @@ msgstr "パスワードを変更する" #: audits/const.py:35 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:163 -#: terminal/serializers/session.py:47 terminal/serializers/session.py:56 +#: terminal/serializers/session.py:49 terminal/serializers/session.py:63 msgid "Terminal" msgstr "ターミナル" @@ -3596,15 +3607,15 @@ msgstr "システムメッセージ" msgid "Publish the station message" msgstr "投稿サイトニュース" -#: ops/ansible/inventory.py:82 +#: ops/ansible/inventory.py:92 msgid "No account available" msgstr "利用可能なアカウントがありません" -#: ops/ansible/inventory.py:247 +#: ops/ansible/inventory.py:258 msgid "Ansible disabled" msgstr "Ansible 無効" -#: ops/ansible/inventory.py:263 +#: ops/ansible/inventory.py:274 msgid "Skip hosts below:" msgstr "次のホストをスキップします: " @@ -3874,7 +3885,7 @@ msgstr "保存後に実行" msgid "Job type" msgstr "タスクの種類" -#: ops/serializers/job.py:57 terminal/serializers/session.py:48 +#: ops/serializers/job.py:57 terminal/serializers/session.py:50 msgid "Is finished" msgstr "終了しました" @@ -5374,35 +5385,23 @@ msgstr "リストの並べ替え" msgid "List page size" msgstr "ページサイズを一覧表示" -#: settings/serializers/terminal.py:34 -msgid "Telnet login regex" -msgstr "Telnetログインregex" - -#: settings/serializers/terminal.py:35 -msgid "" -"Tips: The login success message varies with devices. if you cannot log in to " -"the device through Telnet, set this parameter" -msgstr "" -"ヒント: ログイン成功メッセージはデバイスによって異なります。Telnet経由でデバ" -"イスにログインできない場合は、このパラメーターを設定します。" - -#: settings/serializers/terminal.py:38 +#: settings/serializers/terminal.py:33 msgid "Enable database proxy" msgstr "属性マップの有効化" -#: settings/serializers/terminal.py:39 +#: settings/serializers/terminal.py:34 msgid "Enable Razor" msgstr "Razor の有効化" -#: settings/serializers/terminal.py:40 +#: settings/serializers/terminal.py:35 msgid "Enable SSH Client" msgstr "SSH Clientの有効化" -#: settings/serializers/terminal.py:51 +#: settings/serializers/terminal.py:46 msgid "Default graphics resolution" msgstr "デフォルトのグラフィック解像度" -#: settings/serializers/terminal.py:52 +#: settings/serializers/terminal.py:47 msgid "" "Tip: Default resolution to use when connecting graphical assets in Luna pages" msgstr "" @@ -6085,7 +6084,7 @@ msgstr "リプレイ" msgid "Date end" msgstr "終了日" -#: terminal/models/session/session.py:47 terminal/serializers/session.py:55 +#: terminal/models/session/session.py:47 terminal/serializers/session.py:62 msgid "Command amount" msgstr "コマンド量" @@ -6360,31 +6359,31 @@ msgstr "" msgid "Asset IP" msgstr "資産 IP" -#: terminal/serializers/session.py:22 terminal/serializers/session.py:45 +#: terminal/serializers/session.py:23 terminal/serializers/session.py:47 msgid "Can replay" msgstr "再生できます" -#: terminal/serializers/session.py:23 terminal/serializers/session.py:46 +#: terminal/serializers/session.py:24 terminal/serializers/session.py:48 msgid "Can join" msgstr "参加できます" -#: terminal/serializers/session.py:24 terminal/serializers/session.py:49 +#: terminal/serializers/session.py:25 terminal/serializers/session.py:51 msgid "Can terminate" msgstr "終了できます" -#: terminal/serializers/session.py:41 +#: terminal/serializers/session.py:43 msgid "User ID" msgstr "ユーザーID" -#: terminal/serializers/session.py:42 +#: terminal/serializers/session.py:44 msgid "Asset ID" msgstr "資産ID" -#: terminal/serializers/session.py:43 +#: terminal/serializers/session.py:45 msgid "Login from display" msgstr "表示からのログイン" -#: terminal/serializers/session.py:50 +#: terminal/serializers/session.py:52 msgid "Terminal display" msgstr "ターミナルディスプレイ" @@ -7998,6 +7997,16 @@ msgstr "究極のエディション" msgid "Community edition" msgstr "コミュニティ版" +#~ msgid "Telnet login regex" +#~ msgstr "Telnetログインregex" + +#~ msgid "" +#~ "Tips: The login success message varies with devices. if you cannot log in " +#~ "to the device through Telnet, set this parameter" +#~ msgstr "" +#~ "ヒント: ログイン成功メッセージはデバイスによって異なります。Telnet経由でデ" +#~ "バイスにログインできない場合は、このパラメーターを設定します。" + #~ msgid "Role display" #~ msgstr "ロール表示" diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index da572bc13..9823d5f58 100644 --- a/apps/locale/zh/LC_MESSAGES/django.mo +++ b/apps/locale/zh/LC_MESSAGES/django.mo @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f70c68e6f9f5cd621ae5ff04e73bb882d4849d3750a8c34f586dc3cc74adfca4 -size 123431 +oid sha256:1b7a963a93db87dd16ca9d63423b2f277dd6bc0a95abfae1533e6bf65e624da4 +size 123404 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 2136158ea..17a4c6e5e 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: JumpServer 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-02 16:52+0800\n" +"POT-Creation-Date: 2023-08-03 15:51+0800\n" "PO-Revision-Date: 2021-05-20 10:54+0800\n" "Last-Translator: ibuler \n" "Language-Team: JumpServer team\n" @@ -210,6 +210,7 @@ msgstr "" #: perms/models/asset_permission.py:64 perms/serializers/permission.py:34 #: terminal/backends/command/models.py:17 terminal/models/session/session.py:31 #: terminal/notifications.py:155 terminal/serializers/command.py:17 +#: terminal/serializers/session.py:26 #: terminal/templates/terminal/_msg_command_warning.html:4 #: terminal/templates/terminal/_msg_session_sharing.html:4 #: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212 @@ -332,7 +333,7 @@ msgstr "原因" #: accounts/models/automations/backup_account.py:99 #: accounts/serializers/automations/change_secret.py:111 #: accounts/serializers/automations/change_secret.py:134 -#: ops/serializers/job.py:56 terminal/serializers/session.py:44 +#: ops/serializers/job.py:56 terminal/serializers/session.py:46 msgid "Is success" msgstr "是否成功" @@ -597,7 +598,7 @@ msgstr "类别" #: perms/serializers/user_permission.py:27 settings/serializers/vault.py:13 #: terminal/models/applet/applet.py:38 terminal/models/component/storage.py:57 #: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29 -#: terminal/serializers/session.py:20 terminal/serializers/storage.py:226 +#: terminal/serializers/session.py:21 terminal/serializers/storage.py:226 #: terminal/serializers/storage.py:238 tickets/models/comment.py:26 #: tickets/models/flow.py:56 tickets/models/ticket/apply_application.py:16 #: tickets/models/ticket/general.py:275 tickets/serializers/flow.py:53 @@ -1091,7 +1092,7 @@ msgstr "禁用" msgid "Basic" msgstr "基本" -#: assets/const/base.py:35 assets/const/protocol.py:221 +#: assets/const/base.py:35 assets/const/protocol.py:230 #: assets/models/asset/web.py:13 msgid "Script" msgstr "脚本" @@ -1233,24 +1234,34 @@ msgstr "以 SYSDBA 角色连接" msgid "Auth username" msgstr "使用用户名认证" -#: assets/const/protocol.py:198 assets/models/asset/web.py:9 +#: assets/const/protocol.py:200 +msgid "Safe mode" +msgstr "安全模式" + +#: assets/const/protocol.py:202 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "当安全模式启用时,一些操作将被禁用,例如:新建标签页、右键、访问其它网站 等" + +#: assets/const/protocol.py:207 assets/models/asset/web.py:9 #: assets/serializers/asset/info/spec.py:16 msgid "Autofill" msgstr "自动代填" -#: assets/const/protocol.py:206 assets/models/asset/web.py:10 +#: assets/const/protocol.py:215 assets/models/asset/web.py:10 msgid "Username selector" msgstr "用户名选择器" -#: assets/const/protocol.py:211 assets/models/asset/web.py:11 +#: assets/const/protocol.py:220 assets/models/asset/web.py:11 msgid "Password selector" msgstr "密码选择器" -#: assets/const/protocol.py:216 assets/models/asset/web.py:12 +#: assets/const/protocol.py:225 assets/models/asset/web.py:12 msgid "Submit selector" msgstr "确认按钮选择器" -#: assets/const/protocol.py:239 +#: assets/const/protocol.py:248 msgid "API mode" msgstr "API 模式" @@ -1328,8 +1339,8 @@ msgstr "用户名与用户相同" #: assets/models/_user.py:52 authentication/models/connection_token.py:41 #: authentication/serializers/connect_token_secret.py:111 -#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:18 -#: terminal/serializers/session.py:40 terminal/serializers/storage.py:70 +#: terminal/models/applet/applet.py:41 terminal/serializers/session.py:19 +#: terminal/serializers/session.py:42 terminal/serializers/storage.py:70 msgid "Protocol" msgstr "协议" @@ -2055,7 +2066,7 @@ msgstr "改密" #: audits/const.py:35 settings/serializers/terminal.py:6 #: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:163 -#: terminal/serializers/session.py:47 terminal/serializers/session.py:56 +#: terminal/serializers/session.py:49 terminal/serializers/session.py:63 msgid "Terminal" msgstr "终端" @@ -3549,15 +3560,15 @@ msgstr "系统信息" msgid "Publish the station message" msgstr "发布站内消息" -#: ops/ansible/inventory.py:82 +#: ops/ansible/inventory.py:92 msgid "No account available" msgstr "无可用账号" -#: ops/ansible/inventory.py:247 +#: ops/ansible/inventory.py:258 msgid "Ansible disabled" msgstr "Ansible 已禁用" -#: ops/ansible/inventory.py:263 +#: ops/ansible/inventory.py:274 msgid "Skip hosts below:" msgstr "跳过以下主机: " @@ -3827,7 +3838,7 @@ msgstr "保存后执行" msgid "Job type" msgstr "任务类型" -#: ops/serializers/job.py:57 terminal/serializers/session.py:48 +#: ops/serializers/job.py:57 terminal/serializers/session.py:50 msgid "Is finished" msgstr "是否完成" @@ -5300,34 +5311,23 @@ msgstr "资产列表排序" msgid "List page size" msgstr "资产列表每页数量" -#: settings/serializers/terminal.py:34 -msgid "Telnet login regex" -msgstr "Telnet 成功正则表达式" - -#: settings/serializers/terminal.py:35 -msgid "" -"Tips: The login success message varies with devices. if you cannot log in to " -"the device through Telnet, set this parameter" -msgstr "" -"提示: 不同设备登录成功提示不一样,所以如果 telnet 不能正常登录,可以这里设置" - -#: settings/serializers/terminal.py:38 +#: settings/serializers/terminal.py:33 msgid "Enable database proxy" msgstr "启用数据库组件" -#: settings/serializers/terminal.py:39 +#: settings/serializers/terminal.py:34 msgid "Enable Razor" msgstr "启用 Razor 服务" -#: settings/serializers/terminal.py:40 +#: settings/serializers/terminal.py:35 msgid "Enable SSH Client" msgstr "启用 SSH Client" -#: settings/serializers/terminal.py:51 +#: settings/serializers/terminal.py:46 msgid "Default graphics resolution" msgstr "默认图形化分辨率" -#: settings/serializers/terminal.py:52 +#: settings/serializers/terminal.py:47 msgid "" "Tip: Default resolution to use when connecting graphical assets in Luna pages" msgstr "提示:在Luna 页面中连接图形化资产时默认使用的分辨率" @@ -5998,7 +5998,7 @@ msgstr "回放" msgid "Date end" msgstr "结束日期" -#: terminal/models/session/session.py:47 terminal/serializers/session.py:55 +#: terminal/models/session/session.py:47 terminal/serializers/session.py:62 msgid "Command amount" msgstr "命令数量" @@ -6266,31 +6266,31 @@ msgstr "如果不同端点下的资产 IP 有冲突,使用资产标签实现" msgid "Asset IP" msgstr "资产 IP" -#: terminal/serializers/session.py:22 terminal/serializers/session.py:45 +#: terminal/serializers/session.py:23 terminal/serializers/session.py:47 msgid "Can replay" msgstr "是否可重放" -#: terminal/serializers/session.py:23 terminal/serializers/session.py:46 +#: terminal/serializers/session.py:24 terminal/serializers/session.py:48 msgid "Can join" msgstr "是否可加入" -#: terminal/serializers/session.py:24 terminal/serializers/session.py:49 +#: terminal/serializers/session.py:25 terminal/serializers/session.py:51 msgid "Can terminate" msgstr "是否可中断" -#: terminal/serializers/session.py:41 +#: terminal/serializers/session.py:43 msgid "User ID" msgstr "用户 ID" -#: terminal/serializers/session.py:42 +#: terminal/serializers/session.py:44 msgid "Asset ID" msgstr "资产 ID" -#: terminal/serializers/session.py:43 +#: terminal/serializers/session.py:45 msgid "Login from display" msgstr "登录来源名称" -#: terminal/serializers/session.py:50 +#: terminal/serializers/session.py:52 msgid "Terminal display" msgstr "终端显示" @@ -7882,6 +7882,16 @@ msgstr "旗舰版" msgid "Community edition" msgstr "社区版" +#~ msgid "Telnet login regex" +#~ msgstr "Telnet 成功正则表达式" + +#~ msgid "" +#~ "Tips: The login success message varies with devices. if you cannot log in " +#~ "to the device through Telnet, set this parameter" +#~ msgstr "" +#~ "提示: 不同设备登录成功提示不一样,所以如果 telnet 不能正常登录,可以这里设" +#~ "置" + #~ msgid "Role display" #~ msgstr "角色显示"