diff --git a/README.md b/README.md index c7ab959..46764c6 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,12 @@ A self-hosted anisette server for SideStore. ## Usage +Populate your `.env` file. + +```bash +echo "CLOUDFLARE_API_TOKEN=$CLOUDFLARE_API_TOKEN" > .env +``` + The token you may use to authenticate the API can be generated with the following command. ```bash diff --git a/bun.lockb b/bun.lockb index de4a18a..2677ae2 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 943c5f1..9f8836f 100644 --- a/package.json +++ b/package.json @@ -4,21 +4,21 @@ "dev": "wrangler dev", "deploy": "wrangler deploy", "test": "bun test --watch", - "generate": "bun scripts/get_token.ts" + "generate": "bun scripts/generate_token.ts" }, "dependencies": { "tslib": "^2.6.2", "zod": "^3.22.4" }, "devDependencies": { - "@cloudflare/workers-types": "^4.20230807.0", - "@typescript-eslint/eslint-plugin": "^6.3.0", - "@typescript-eslint/parser": "^6.3.0", - "bun-types": "^1.0.1", - "eslint": "^8.47.0", - "eslint-config-prettier": "^9.0.0", - "prettier": "^3.0.1", - "typescript": "^5.1.6", - "wrangler": "^3.5.0" + "@cloudflare/workers-types": "^4.20240117.0", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", + "bun-types": "^1.0.24", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "prettier": "^3.2.4", + "typescript": "^5.3.3", + "wrangler": "^3.23.0" } } diff --git a/scripts/generate_token.ts b/scripts/generate_token.ts index e6b4683..ac216f5 100644 --- a/scripts/generate_token.ts +++ b/scripts/generate_token.ts @@ -1,7 +1,20 @@ import { randomBytes } from 'crypto' -function main() { - console.log(randomBytes(48).toString('base64url')) +async function main() { + const generated_token = randomBytes(48).toString('base64url') + console.log(`[+] Your generated token is ${generated_token}`) + const save = prompt('[?] Would you like to use this token? (y/N)\n')?.toLowerCase() + + if (save !== 'y') { + return + } + + const process = Bun.spawn(['npx', 'wrangler', 'secret', 'put', 'TOKEN'], { + stdin: new TextEncoder().encode(generated_token) + }) + + const response = await new Response(process.stdout).text() + console.log(response) } -main() +void main()