GameFinder Library

Site list and localisation data for GameFinder

Este script no debería instalarse directamente. Es una biblioteca que utilizan otros scripts mediante la meta-directiva de inclusión // @require https://update.greasyfork.org/scripts/588817/1886768/GameFinder%20Library.js

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         GameFinder Library
// @namespace    Name1or2-GameFinder-Library
// @version      2.0
// @description  Data and localisation for GameFinder
// @author       Name1or2
// @grant        GM.getValue
// ==/UserScript==

const STAR = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" fill="none"><path fill="currentColor" d="M7 0L4.88269 4.68067L0 5.348L3.5688 8.918L2.67216 14L7 11.536L11.3278 14L10.4268 8.918L14 5.348L9.11731 4.68067L7 0Z"/></svg>`;
const GRID = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><rect x="1" y="1" width="6" height="6" rx="1" fill="currentColor"/><rect x="9" y="1" width="6" height="6" rx="1" fill="currentColor"/><rect x="1" y="9" width="6" height="6" rx="1" fill="currentColor"/><rect x="9" y="9" width="6" height="6" rx="1" fill="currentColor"/></svg>`;
const SEARCH = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" fill="none"><path fill="currentColor" d="M13.8296 12.0786C14.8347 10.6321 15.2623 8.86133 15.0284 7.11496C14.7945 5.36859 13.9159 3.77313 12.5656 2.64269C11.2153 1.51224 9.49114 0.928708 7.73254 1.00696C5.97394 1.08522 4.30831 1.8196 3.06357 3.06552C1.81882 4.31144 1.08514 5.97864 1.00696 7.7389C0.928776 9.49916 1.51176 11.2249 2.64114 12.5765C3.77052 13.9281 5.36446 14.8075 7.10919 15.0417C8.85391 15.2758 10.623 14.8477 12.0682 13.8417L15.2185 17L15.3997 16.8187L16.8188 15.3982L17 15.2168L13.8296 12.0786ZM8.04222 12.5824C7.14643 12.5824 6.27075 12.3165 5.52593 11.8183C4.7811 11.3202 4.20058 10.6122 3.85777 9.78376C3.51497 8.95538 3.42528 8.04384 3.60004 7.16443C3.7748 6.28502 4.20616 5.47723 4.83958 4.84321C5.47301 4.20919 6.28004 3.77742 7.15862 3.60249C8.0372 3.42757 8.94787 3.51734 9.77548 3.86047C10.6031 4.2036 11.3104 4.78467 11.8081 5.5302C12.3058 6.27573 12.5714 7.15223 12.5714 8.04887C12.5714 9.25123 12.0943 10.4043 11.2449 11.2545C10.3955 12.1047 9.24344 12.5824 8.04222 12.5824V12.5824Z"/></svg>`;
const EDIT_ICON = `<img src="https://community.fastly.steamstatic.com/public/images//sharedfiles/icons/icon_edit.png" alt="Edit" style="width:16px;height:16px;vertical-align:middle;">`;

const LOCALE = {
    'en': {
        hub: 'Hub',
        hubTitle: 'Open search hub',
        favTitle: 'Open all favourite sites',
        editTitle: 'Click to edit name',
        copyTitle: 'Click to copy',
        resetTitle: 'Click to reset name to original',
        inputPlaceholder: 'Enter game name...',
        copied: 'Copied!',
        resetName: 'Reset to original name',
        clickCopy: 'Click to copy',
        labelId: 'ID:',
        labelDev: 'Dev:',
        labelBuild: 'Build:',
        searchPlaceholder: 'Search sites...',
        favFolder: '⭐ Favourites',
        noFav: 'No favourites yet. Click the star on any site to add it.',
        modalTitle: 'Open All Favourites?',
        modalMsg: 'You\'re about to open <strong>0</strong> tabs.',
        btnCancel: 'Cancel',
        btnOpenAll: 'Open All'
    },
    'zh-CN': {
        hub: '搜索',
        hubTitle: '打开搜索中心',
        favTitle: '打开所有收藏网站',
        editTitle: '点击编辑名称',
        copyTitle: '点击复制',
        resetTitle: '点击恢复原始名称',
        inputPlaceholder: '输入游戏名称...',
        copied: '已复制!',
        resetName: '已恢复原始名称',
        clickCopy: '点击复制',
        labelId: 'ID:',
        labelDev: '开发商:',
        labelBuild: '版本:',
        searchPlaceholder: '搜索网站...',
        favFolder: '⭐ 收藏夹',
        noFav: '暂无收藏。点击网站旁的星标添加收藏。',
        modalTitle: '打开所有收藏?',
        modalMsg: '即将打开 <strong>0</strong> 个标签页。',
        btnCancel: '取消',
        btnOpenAll: '全部打开'
    }
};

const CATEGORY_IDS = ['direct', 'linux', 'ctrlf', 'torrents'];

const CATEGORY_NAMES = {
    direct:  { en: '📁 Direct Downloads',    'zh-CN': '📁 直接下载' },
    linux:   { en: '🐧 Linux',               'zh-CN': '🐧 Linux' },
    ctrlf:   { en: '🔍 Ctrl+F',              'zh-CN': '🔍 手动搜索' },
    torrents:{ en: '🧲 Torrents',             'zh-CN': '🧲 种子下载' }
};

const SITES_DATA = {
    direct: [
        { name: 'FitGirl Repacks',          urlPattern: 'https://fitgirl-repacks.site/?s={query}' },
        { name: 'GOG Games',                urlPattern: 'https://gog-games.to/?search={query}' },
        { name: 'STEAMRIP',                 urlPattern: 'https://steamrip.com/?s={query}' },
        { name: 'SteamUnderground',         urlPattern: 'https://steamunderground.net/?s={query}' },
        { name: 'AbandonwareGames',         urlPattern: 'https://abandonwaregames.net/search.php?q={query}' },
        { name: 'AstralGames',              urlPattern: 'https://astral-games.xyz/search?q={query}' },
        { name: 'CG-GamesPC',               urlPattern: 'https://www.cg-gamespc.com/games?game={query}' },
        { name: '🇪🇸 ElEnemigos',            urlPattern: 'https://elenemigos.com/?g_name={query}' },
        { name: 'games 4 u',                urlPattern: 'https://g4u.to/en/search/{query}' },
        { name: 'Games4U',                  urlPattern: 'https://games4u.org/?s={query}' },
        { name: 'Gamedie',                  urlPattern: 'https://gamdie.com/?s={query}' },
        { name: 'scene.cat',                urlPattern: 'https://scene.cat/?q={query}' },
        { name: 'GamePCFull',               urlPattern: 'https://gamepcfull.com/?s={query}' },
        { name: 'GamesPack',                urlPattern: 'https://gamespack.net/?s={query}' },
        { name: 'GetFreeGames',             urlPattern: 'https://getfreegames.net/?s={query}' },
        { name: '🇩🇪 GLOAD',                 urlPattern: 'https://gload.to/?s={query}' },
        { name: 'MyAbandonware',            urlPattern: 'https://www.myabandonware.com/search/q/{query}' },
        { name: 'OldGamesDownload',         urlPattern: 'https://oldgamesdownload.com/?s={query}' },
        { name: '🇷🇺 Old-Games.RU',          urlPattern: 'https://www.old-games.ru/catalog/?gamename={query}' },
        { name: 'OvaGames',                 urlPattern: 'https://www.ovagames.com/?s={query}' },
        { name: '🇪🇸 PiviGames',             urlPattern: 'https://pivigames.blog/?s={query}' },
        { name: 'ReloadedSteam',            urlPattern: 'https://reloadedsteam.com/?s={query}' },
        { name: 'Repack-Games',             urlPattern: 'https://repack-games.com/?s={query}' },
        { name: '⭕ RepackLab',              urlPattern: 'https://repacklab.com/?s={query}' },
        { name: 'Rexa Games',               urlPattern: 'https://rexagames.com/search/?q={query}' },
        { name: 'Steam-Cracked',            urlPattern: 'https://steam-cracked.com/?s={query}' },
        { name: 'SteamGG',                  urlPattern: 'https://steamgg.net/?s={query}' },
        { name: 'SteamOra',                 urlPattern: 'https://steamora.net/?s={query}' },
        { name: 'The Collection Chamber',   urlPattern: 'https://collectionchamber.blogspot.com/search?q={query}' },
        { name: 'The Dark Games',           urlPattern: 'https://the-dark-games.com/?s={query}' },
        { name: '🇮🇩 Triah Games',           urlPattern: 'https://triahgames.com/search/?q={query}' },
        { name: 'UnionCrax',                urlPattern: 'https://union-crax.xyz/search?q={query}' },
        { name: 'WorldofPCGames',           urlPattern: 'https://worldofpcgames.com/?s={query}' },
        { name: 'Stevv Game',               urlPattern: 'https://www.stevvgame.com/search?q={query}' }
    ],
    linux: [
        { name: 'freelinuxpcgames',         urlPattern: 'https://freelinuxpcgames.com/?s={query}' }
    ],
    ctrlf: [
        { name: 'ElAmigos',                 urlPattern: 'https://elamigos.site/' },
        { name: 'Game Bounty',              urlPattern: 'https://gamebounty.world/' },
        { name: 'Gnarly Repacks',           urlPattern: 'https://rentry.org/gnarly_repacks' },
        { name: 'M4CKD0GE Repacks',         urlPattern: 'https://m4ckd0ge-repacks.site/all-repacks.html' }
    ],
    torrents: [
        { name: 'FitGirl Repacks',          urlPattern: 'https://fitgirl-repacks.site/?s={query}' },
        { name: '🇷🇺 Appnetica',             urlPattern: 'https://appnetica.com/search?term={query}' },
        { name: '🇷🇺 ByXatab',               urlPattern: 'https://byxatab.com/search/{query}' },
        { name: 'DODI Repacks',             urlPattern: 'https://dodi-repacks.site/?s={query}' },
        { name: 'DODI Repacks-Alt',         urlPattern: 'https://dodi-repacks.download/?s={query}' },
        { name: 'KaosKrew',                 urlPattern: 'https://kaoskrew.org/search.php?keywords={query}' },
        { name: '🇷🇺 Torrent Games',         urlPattern: 'https://torrent-games.games/search/{query}' },
        { name: '🇷🇺 Torrent-Games-Alt',     urlPattern: 'https://torrent-games.net/search/{query}' },
        { name: '🇷🇺 RuTor',                 urlPattern: 'https://rutor.info/search/{query}' }
    ]
};