Compare commits

..

2 Commits
1 ... main

Author SHA1 Message Date
murdle
f5130a4e37 useless api 2026-01-06 23:34:30 +02:00
murdle
296ceb3fd4 add no region support in feed 2026-01-05 16:19:19 +02:00
5 changed files with 20 additions and 5 deletions

2
package-lock.json generated
View File

@ -586,7 +586,6 @@
"resolved": "https://registry.npmjs.org/hono/-/hono-4.11.1.tgz",
"integrity": "sha512-KsFcH0xxHes0J4zaQgWbYwmz3UPOOskdqZmItstUG93+Wk1ePBLkLGwbP9zlmh1BFUiL8Qp+Xfu9P7feJWpGNg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=16.9.0"
}
@ -669,7 +668,6 @@
"resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz",
"integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==",
"license": "MIT",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}

14
src/api/accounts.ts Normal file
View File

@ -0,0 +1,14 @@
import { Hono } from "hono";
import { randomBytes } from "node:crypto"
const accounts = new Hono();
accounts.post(
"/registerDevice",
(c) => {
const key = randomBytes(16).toString("hex");
return c.text(`DeviceId=${key}\nDeviceKey=${key}`)
}
)
export default accounts

View File

@ -8,8 +8,9 @@ import type { YT } from "youtubei.js";
const feed = new Hono();
feed.get(
"/standardfeeds/:region/:type",
feed.on(
"GET",
["/standardfeeds/:region/:type", "/standardfeeds/:type"],
zValidator("param", FeedGetSchema),
async (c) => {
const { type } = c.req.valid("param");

View File

@ -9,6 +9,7 @@ import video from "./api/video.js"
import playback from "./api/playback.js"
import channel from "./api/channel.js"
import feed from "./api/feed.js"
import accounts from "./api/accounts.js"
const app = new Hono()
@ -19,6 +20,7 @@ app.route("/getvideo", playback);
app.route("/feeds/api", video);
app.route("/feeds/api", channel);
app.route("/feeds/api", feed);
app.route("/youtube/accounts", accounts);
serve({
fetch: app.fetch,

View File

@ -1,6 +1,6 @@
import z from "zod";
export const FeedGetSchema = z.object({
region: z.string().length(2),
region: z.string().length(2).optional(),
type: z.enum(["most_popular", "most_popular_Film", "most_popular_Games", "most_popular_Music"])
});