关于资源链接的一点想法

有解答 闲聊 其它建议
浏览数 - 1006发布于 - 2025-07-27 - 05:09
鲲
在 #2 发布了最佳答案
诺月
诺月

136

能否在获取链接一栏中加上该链接是什么渠道/网盘

若为磁力链就写磁力链,pikpak/百度/夸克/123盘等就直接写上网盘名字

每次来找资源打开一看,全是夸克,虽然也不是找不到别的下载链接

补充:我不是对夸克有意见啊

重新编辑于 - 2025-07-27 - 06:04

6 条回复

最佳答案
鲲

5258

#2
发布于 2025-07-27 - 23:02 (编辑于 2025-07-27 - 23:04)

现在已经支持资源链接显示提供方,目前支持下面的后缀

export const GALGAME_RESOURCE_PROVIDER_MAP: Record<string, string> = {
  magnet: '磁力下载',
  'baidu.com': '百度网盘',
  'quark.cn': '夸克网盘',
  'alipan.com': '阿里云盘',
  '123912.com': '123 云盘',
  '123865.com': '123 云盘',
  '123pan.com': '123 云盘',
  '123pan.cn': '123 云盘',
  'xunlei.com': '迅雷云盘',
  'weiyun.com': '腾讯微云',
  '139.com': '和彩云 (移动云盘)',
  '189.cn': '天翼云盘',
  'uc.cn': 'UC 网盘',
  lanzou: '蓝奏云',
  'ctfile.com': '城通网盘',
  'nullcloud.top': '未知云盘',
  'mypikpak.com': 'PikPak',
  'sharepoint.com': 'OneDrive',
  'sharepoint.cn': 'OneDrive',
  '1drv.ms': 'OneDrive',
  'mega.nz': 'MEGA',
  'google.com': 'Google 云破案',
  'yandex.com': 'Yandex Disk',
  'gofile.io': 'GoFile',
  'ipfs.dweb.link': 'IPFS',
  'steampowered.com': 'Steam',
  'epicgames.com': 'Epic 游戏商店',
  'itch.io': 'itch.io',
  'github.com': 'GitHub',
  'bilibili.com': '哔哩哔哩',
  'tieba.baidu.com': '百度贴吧',
  't.me': 'Telegram',
  'archive.org': 'Internet Archive',
  'nyaa.si': 'Nyaa',
  '2dfan.com': '2BFun',
  'ddfan.org': '2BFun',
  'ddfan.top': '2BFun',
  'galge.top': '2BFun',
  'hacg.uno': '琉璃神社 (HACG)',
  'kungal.com': '鲲 Galgame 论坛',
  'moyu.moe': '鲲 Galgame 补丁',
  'anime-sharing.com': 'Anime-Sharing',
  'e-hentai.org': 'E-Hentai',
  'dmm.co.jp': 'DMM',
  'zi6.cc': '梓澪',
  'zi0.cc': '梓澪',
  'zi8.cc': '梓澪',
  'shinnku.com': '真红小站',
  'shinnku.org': '真红小站',
  'oo0o.ooo': '真红小站',
  'touchgal.io': 'TouchGal',
  'touchgal.us': 'TouchGal',
  'dlgal.com': 'GGbases'
}

没有上面的资源提供方,会触发一个 fetch 函数尝试获取下载域名的网站名,如果获取到了就显示网站名,获取不到就返回下载链接的根域名

鲲-1753628529268-photo20250727230152jpg从论坛所有资源链接中提取出域名

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

const getResourceLinkDomain = async () => {
  const links = await prisma.galgame_resource_link.findMany({
    select: {
      url: true
    }
  })

  const hostnames = new Set()

  for (const link of links) {
    if (!link.url) {
      continue
    }

    try {
      const parsedUrl = new URL(link.url)

      hostnames.add(parsedUrl.hostname)
    } catch (error) {
      console.log(error)
    }
  }

  ;[...hostnames].forEach((hostname) => {
    console.log(hostname)
  })
}

getResourceLinkDomain()
  .catch(() => {
    process.exit(1)
  })
  .finally(async () => {
    await prisma.$disconnect()
  })

提取结果为

igg-games.com
onedrive.steamgalgame.com    
pan.baidu.com
8h2gnt-my.sharepoint.com     
pan.quark.cn
www.123pan.com
1drv.ms
www.shinnku.com
gateway.pinata.cloud
share.kkserv.cn
sakustar.top
alpineshine-my.sharepoint.com
appendingpulse.jp
dl.oo0o.ooo
sakustar.me

acgdb.de
www.alipan.com
driver.listder.xyz
www.kungal.com
caiyun.139.com
zi6.cc
ddfan.org
clovermemorys.jp
store.steampowered.com
share.weiyun.com
pan.xunlei.com
7kzcbm-my.sharepoint.com
www.123684.com
tgfile.listder.xyz
odd.lzacg.one
cloud.189.cn
hacg.uno
www.123865.com
tieba.baidu.com
sakakirio.com
ddfan.top
patches.nekonyansoft.com
www.anime-sharing.com
vip.123pan.cn
zi0.cc
t.me
mypikpak.com
na.loli520.cc
drive.uc.cn
www.123pan.cn
mega.nz
bafykbzacecjw5mt7s3rsmqg3oej4scuzfs6dtvpywubhfwa3opdddroqv3br4.ipfs.dweb.link
bafykbzaceda3kynow5yeeb6jq6sthxmazc745evcuel5lbcl2xvhmhgyrhuvw.ipfs.dweb.link
github.com
sample9.dmm.co.jp
pan.baidu.chttps
www.nullcloud.top
share.ykkit.fun
drives.kkserv.cn
www.hikarinagi.com
imhentai.xxx
hentaienvy.com
e-hentai.org
drive.google.com
drives.ykkit.fun
v2xq5-my.sharepoint.com
wwy.lanzouj.com
2dfan.com
flowerrover-my.sharepoint.com
w2g0p-my.sharepoint.com
yun.139.com
www12.plala.or.jp
galge.top
disk.yandex.com
url69.ctfile.com
www.touchgal.io
sukebei.nyaa.si
zzvcom-my.sharepoint.cn
wwwe.lanzouq.com
heavenburnsred.yo-star.com
archive.org
yu0721-my.sharepoint.com
ggbases.dlgal.com
wwy.lanzouu.com
fan2d.top
gofile.io
zkohvuid-my.sharepoint.com
www.bilibili.com
web.archive.org
0721.in
hanagane.popipa.org
youhustudio-my.sharepoint.com
gal.loli520.cc
www.katawa-shoujo.online
pan1.mhdy.shop
dlj.mhdy.me
freegame-mugen.jp
www.123912.com
flowerstudio.itch.io
cn.galgamer.xyz
acg.yukie.moe
123912.com
123865.com
www.moyu.moe
www.yunzhongzhuan.com
aozoracafe.com
tinydungeon.org
www.lycorisgal.top
wwpl.lanzouw.com
www.limulu.moe
ludhianagroupofcolleges-my.sharepoint.com
store.epicgames.com
res.nyne.dev
鲲

5258

#1
发布于 2025-07-27 - 21:21

我知道了,马上更新一下

ringyuki
发布于 2025-07-28 - 00:09
回复 @鲲#2

现在已经支持资源链接显示提供方,目前支持下面的后缀 ts export const GALGAMERESOURCEPROVIDER_MAP: Record<string, string> = { magnet: '磁力下载', 'baidu.com': '百度网盘', 'quark.cn...

Sticker

jiang0682
发布于 2025-07-28 - 01:36
回复 @鲲#2

现在已经支持资源链接显示提供方,目前支持下面的后缀 ts export const GALGAMERESOURCEPROVIDER_MAP: Record<string, string> = { magnet: '磁力下载', 'baidu.com': '百度网盘', 'quark.cn...

但是貌似一个资源上传者(比如我)在一个栏里面放了多种网盘链接时(上传的时候用,隔开的)外面只会显示第一个链接的网盘类型

评论

鲲
评论jiang0682

哦天哪,我明白了,我抽空解决一下这个问题 1. 把补丁站的资源对接到论坛 2. 支持资源多网盘显示

2025-07-29 - 00:44
鲲
评论jiang0682

我刚才又考虑了一下,性能不是很好,要写的话感觉代码逻辑比较复杂 一是现在没有获取到供应商名字的时候会从这个网站自动获取,这个前端如果并发请求的话需要多加几个逻辑 二是怎么展示这些数据,前端写个小轮播 + 滚动的地方显示网站名就更复杂了 三是用多下载方式放在一个资源链接里面是极少数,我觉得还是推荐一个资源链接放一种下载方式比较合理

2025-07-29 - 00:56
诺月
发布于 2025-07-29 - 00:10
回复 @jiang0682#4

要不还是一个网盘发一个链接好了(

因为我之前是这样发的(小声

jiang0682
发布于 2025-07-29 - 01:57
回复 @诺月#5

那我以后就分开发吧

(。>︿<。) 已经一滴回复都不剩了哦~