Skip to content

Commit 02f440f

Browse files
itsHenry35xhofe
andauthored
feat: s3 secret key id and access key generator (#160)
Co-authored-by: Andy Hsu <[email protected]>
1 parent e25e0cc commit 02f440f

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/lang/en/settings.json

+4
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,12 @@
5757
"qbittorrent_seedtime": "Qbittorrent seedtime",
5858
"qbittorrent_url": "Qbittorrent url",
5959
"robots_txt": "Robots txt",
60+
"s3_buckets_empty": "Bucket name or Path empty",
61+
"s3_buckets_duplicate_name": "Bucket name duplicated",
62+
"s3_generate": "Generate access key and id",
6063
"s3_access_key_id": "S3 access key id",
6164
"s3_buckets": "S3 buckets",
65+
"s3_restart_to_apply": "Restart Alist to apply the settings above",
6266
"s3_secret_access_key": "S3 secret access key",
6367
"search_index": "Search index",
6468
"search_indexs": {

src/pages/manage/settings/S3.tsx

+25
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { createSignal, Index, Show } from "solid-js"
77
import { Item } from "./SettingItem"
88
import { ResponsiveGrid } from "../common/ResponsiveGrid"
99
import S3Buckets from "./S3Buckets"
10+
import crypto from "crypto-js"
1011

1112
const bucket_parse = (settings: SettingItem[]) => {
1213
const string = { ...settings.find((i) => i.key === "s3_buckets")! }
@@ -56,6 +57,30 @@ const S3Settings = () => {
5657
</Show>
5758
)}
5859
</Index>
60+
<Button
61+
onClick={() => {
62+
const awsAccessKeyId = crypto.lib.WordArray.random(120 / 8)
63+
const awsSecretAccessKey = crypto.lib.WordArray.random(240 / 8)
64+
const accessKeyId = crypto.enc.Base64.stringify(
65+
awsAccessKeyId,
66+
).replace(/[\r\n]/g, "")
67+
const secretAccessKey = crypto.enc.Base64.stringify(
68+
awsSecretAccessKey,
69+
).replace(/[\r\n]/g, "")
70+
setSettings(
71+
(i) => i.key === "s3_access_key_id",
72+
"value",
73+
accessKeyId,
74+
)
75+
setSettings(
76+
(i) => i.key === "s3_secret_access_key",
77+
"value",
78+
secretAccessKey,
79+
)
80+
}}
81+
>
82+
{t("settings.s3_generate")}
83+
</Button>
5984
<Heading>{t("settings.s3_restart_to_apply")}</Heading>
6085
<S3Buckets buckets={bucket_parse(settings)} setSettings={setSettings} />
6186
</ResponsiveGrid>

0 commit comments

Comments
 (0)