obfuscateSettingFile

This commit is contained in:
fyears 2024-03-18 01:45:33 +08:00
parent 97f4c0c427
commit ede1f4e1bc
6 changed files with 42 additions and 1 deletions

View File

@ -115,6 +115,8 @@ export interface RemotelySavePluginSettings {
protectModifyPercentage?: number; protectModifyPercentage?: number;
syncDirection?: SyncDirectionType; syncDirection?: SyncDirectionType;
obfuscateSettingFile?: boolean;
/** /**
* @deprecated * @deprecated
*/ */

View File

@ -277,6 +277,8 @@
"settings_outputsettingsconsole_desc": "The settings save on disk in encoded. Click this to see the decoded settings in console.", "settings_outputsettingsconsole_desc": "The settings save on disk in encoded. Click this to see the decoded settings in console.",
"settings_outputsettingsconsole_button": "Output", "settings_outputsettingsconsole_button": "Output",
"settings_outputsettingsconsole_notice": "Finished outputing in console.", "settings_outputsettingsconsole_notice": "Finished outputing in console.",
"settings_obfuscatesettingfile": "Obfuscate The Setting File Or Not",
"settings_obfuscatesettingfile_desc": "The setting file (data.json) has some sensitive information. It's strongly recommended to obfuscate it to avoid unexpected read and modification. If you are sure to view and edit it manually, you can disable the obfuscation.",
"settings_viewconsolelog": "View Console Log", "settings_viewconsolelog": "View Console Log",
"settings_viewconsolelog_desc": "On desktop, please press \"ctrl+shift+i\" or \"cmd+shift+i\" to view the log. On mobile, please install the third-party plugin <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> to export the console log to a note.", "settings_viewconsolelog_desc": "On desktop, please press \"ctrl+shift+i\" or \"cmd+shift+i\" to view the log. On mobile, please install the third-party plugin <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> to export the console log to a note.",
"settings_syncplans": "Export Sync Plans", "settings_syncplans": "Export Sync Plans",

View File

@ -277,6 +277,8 @@
"settings_outputsettingsconsole_desc": "硬盘上的设置文件是编码过的,点击这里从而解码并输出到终端。", "settings_outputsettingsconsole_desc": "硬盘上的设置文件是编码过的,点击这里从而解码并输出到终端。",
"settings_outputsettingsconsole_button": "输出", "settings_outputsettingsconsole_button": "输出",
"settings_outputsettingsconsole_notice": "已输出到终端", "settings_outputsettingsconsole_notice": "已输出到终端",
"settings_obfuscatesettingfile": "是否混淆保存设置文件",
"settings_obfuscatesettingfile_desc": "设置文件data.json含有敏感信息。强烈建议混淆后保存它从而避免出乎意料的读取和修改。如果您确认要手动查看和修改它可以关闭混淆保存。",
"settings_viewconsolelog": "查看终端输出", "settings_viewconsolelog": "查看终端输出",
"settings_viewconsolelog_desc": "电脑上输入“ctrl+shift+i”或“cmd+shift+i”来查看终端输出。手机上安装第三方插件 <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> 来导出终端输出到一篇笔记上。", "settings_viewconsolelog_desc": "电脑上输入“ctrl+shift+i”或“cmd+shift+i”来查看终端输出。手机上安装第三方插件 <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> 来导出终端输出到一篇笔记上。",
"settings_syncplans": "导出同步计划", "settings_syncplans": "导出同步计划",

View File

@ -277,6 +277,8 @@
"settings_outputsettingsconsole_desc": "硬碟上的設定檔案是編碼過的,點選這裡從而解碼並輸出到終端。", "settings_outputsettingsconsole_desc": "硬碟上的設定檔案是編碼過的,點選這裡從而解碼並輸出到終端。",
"settings_outputsettingsconsole_button": "輸出", "settings_outputsettingsconsole_button": "輸出",
"settings_outputsettingsconsole_notice": "已輸出到終端", "settings_outputsettingsconsole_notice": "已輸出到終端",
"settings_obfuscatesettingfile": "是否混淆儲存設定檔案",
"settings_obfuscatesettingfile_desc": "設定檔案data.json含有敏感資訊。強烈建議混淆後儲存它從而避免出乎意料的讀取和修改。如果您確認要手動檢視和修改它可以關閉混淆儲存。",
"settings_viewconsolelog": "檢視終端輸出", "settings_viewconsolelog": "檢視終端輸出",
"settings_viewconsolelog_desc": "電腦上輸入“ctrl+shift+i”或“cmd+shift+i”來檢視終端輸出。手機上安裝第三方外掛 <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> 來匯出終端輸出到一篇筆記上。", "settings_viewconsolelog_desc": "電腦上輸入“ctrl+shift+i”或“cmd+shift+i”來檢視終端輸出。手機上安裝第三方外掛 <a href='https://obsidian.md/plugins?search=Logstravaganza'>Logstravaganza</a> 來匯出終端輸出到一篇筆記上。",
"settings_syncplans": "匯出同步計劃", "settings_syncplans": "匯出同步計劃",

View File

@ -95,6 +95,7 @@ const DEFAULT_SETTINGS: RemotelySavePluginSettings = {
howToCleanEmptyFolder: "skip", howToCleanEmptyFolder: "skip",
protectModifyPercentage: 50, protectModifyPercentage: 50,
syncDirection: "bidirectional", syncDirection: "bidirectional",
obfuscateSettingFile: true,
}; };
interface OAuth2Info { interface OAuth2Info {
@ -895,11 +896,19 @@ export default class RemotelySavePlugin extends Plugin {
this.settings.syncDirection = "bidirectional"; this.settings.syncDirection = "bidirectional";
} }
if (this.settings.obfuscateSettingFile === undefined) {
this.settings.obfuscateSettingFile = true;
}
await this.saveSettings(); await this.saveSettings();
} }
async saveSettings() { async saveSettings() {
await this.saveData(normalConfigToMessy(this.settings)); if (this.settings.obfuscateSettingFile) {
await this.saveData(normalConfigToMessy(this.settings));
} else {
await this.saveData(this.settings);
}
} }
/** /**

View File

@ -2075,6 +2075,30 @@ export class RemotelySaveSettingTab extends PluginSettingTab {
}); });
}); });
new Setting(debugDiv)
.setName(t("settings_obfuscatesettingfile"))
.setDesc(t("settings_obfuscatesettingfile_desc"))
.addDropdown(async (dropdown) => {
dropdown
.addOption("enable", t("enable"))
.addOption("disable", t("disable"));
dropdown
.setValue(
`${
this.plugin.settings.obfuscateSettingFile ? "enable" : "disable"
}`
)
.onChange(async (val) => {
if (val === "enable") {
this.plugin.settings.obfuscateSettingFile = true;
} else {
this.plugin.settings.obfuscateSettingFile = false;
}
await this.plugin.saveSettings();
});
});
new Setting(debugDiv) new Setting(debugDiv)
.setName(t("settings_viewconsolelog")) .setName(t("settings_viewconsolelog"))
.setDesc(stringToFragment(t("settings_viewconsolelog_desc"))); .setDesc(stringToFragment(t("settings_viewconsolelog_desc")));