feat: site revamp, formatting

This commit is contained in:
taskylizard 2024-07-02 09:48:13 +00:00
parent e3461f7796
commit 27826ff729
24 changed files with 1712 additions and 711 deletions

2
.prettierignore Normal file
View File

@ -0,0 +1,2 @@
**/*.md
pnpm-lock.yaml

6
.prettierrc.yaml Normal file
View File

@ -0,0 +1,6 @@
proseWrap: always
semi: false
singleQuote: true
printWidth: 80
trailingComma: none
htmlWhitespaceSensitivity: ignore

View File

@ -1,20 +1,20 @@
import {defineConfig} from "vitepress";
import {sharedConfig} from "./shared";
import {enLocale} from "./locales/en-us";
import {brLocale} from "./locales/pt-br";
import { defineConfig } from 'vitepress'
import { sharedConfig } from './shared'
import { enLocale } from './locales/en-us'
import { brLocale } from './locales/pt-br'
export default defineConfig({
...sharedConfig,
locales: {
root: {
label: "English",
lang: "en",
...enLocale,
},
br: {
label: "Brazilian Portuguese",
lang: "br",
...brLocale,
},
...sharedConfig,
locales: {
root: {
label: 'English',
lang: 'en',
...enLocale
},
});
br: {
label: 'Brazilian Portuguese',
lang: 'br',
...brLocale
}
}
})

View File

@ -1,10 +1,10 @@
<script lang="ts" setup>
defineProps<{ title: string; description?: string }>();
defineProps<{ title: string; description?: string }>()
</script>
<template>
<div
style="
style="
background-image: linear-gradient(
43deg,
#c6f6d5 1%,
@ -26,10 +26,10 @@ defineProps<{ title: string; description?: string }>();
#22543d 97%
);
"
tw="w-full h-full bg-black flex flex-col"
tw="w-full h-full bg-black flex flex-col"
>
<div
tw="p-10 w-full min-h-0 grow flex flex-col items-center justify-between"
tw="p-10 w-full min-h-0 grow flex flex-col items-center justify-between"
>
<div tw="w-full flex justify-between items-center text-5xl font-medium">
<div tw="flex items-center">
@ -39,15 +39,15 @@ defineProps<{ title: string; description?: string }>();
</div>
</div>
<div tw="w-full pr-56 flex flex-col items-start justify-end">
<div style="color: #eeeeee" tw="text-6xl font-bold" v-html="title"/>
<div style="color: #eeeeee" tw="text-6xl font-bold" v-html="title" />
<div
v-if="description"
style="color: #adf0dd; text-decoration-style: dotted"
tw="mt-2 text-4xl underline"
v-html="description"
v-if="description"
style="color: #adf0dd; text-decoration-style: dotted"
tw="mt-2 text-4xl underline"
v-html="description"
/>
</div>
</div>
<div style="background-color: #adf0dd" tw="shrink-0 h-4 w-full flex"/>
<div style="background-color: #adf0dd" tw="shrink-0 h-4 w-full flex" />
</div>
</template>

View File

@ -1,100 +1,100 @@
import type {HeadConfig, TransformContext} from "vitepress";
import type { HeadConfig, TransformContext } from 'vitepress'
export function generateMeta(context: TransformContext, hostname: string) {
const head: HeadConfig[] = [];
const {pageData} = context;
const head: HeadConfig[] = []
const { pageData } = context
const url = `${hostname}/${pageData.relativePath.replace(/((^|\/)index)?\.md$/, "$2")}`;
const url = `${hostname}/${pageData.relativePath.replace(/((^|\/)index)?\.md$/, '$2')}`
head.push(
['link', { rel: 'canonical', href: url }],
['meta', { property: 'og:url', content: url }],
['meta', { name: 'twitter:url', content: url }],
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
['meta', { property: 'og:title', content: pageData.frontmatter.title }],
['meta', { name: 'twitter:title', content: pageData.frontmatter.title }]
)
if (pageData.frontmatter.description) {
head.push(
[
'meta',
{
property: 'og:description',
content: pageData.frontmatter.description
}
],
[
'meta',
{
name: 'twitter:description',
content: pageData.frontmatter.description
}
]
)
}
if (pageData.frontmatter.image) {
head.push([
'meta',
{
property: 'og:image',
content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, '')}`
}
])
head.push([
'meta',
{
name: 'twitter:image',
content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, '')}`
}
])
} else {
const url = pageData.filePath.replace('index.md', '').replace('.md', '')
const imageUrl = `${url}/__og_image__/og.png`
.replaceAll('//', '/')
.replace(/^\//, '')
head.push(
["link", {rel: "canonical", href: url}],
["meta", {property: "og:url", content: url}],
["meta", {name: "twitter:url", content: url}],
["meta", {name: "twitter:card", content: "summary_large_image"}],
["meta", {property: "og:title", content: pageData.frontmatter.title}],
["meta", {name: "twitter:title", content: pageData.frontmatter.title}],
);
if (pageData.frontmatter.description) {
head.push(
[
"meta",
{
property: "og:description",
content: pageData.frontmatter.description,
},
],
[
"meta",
{
name: "twitter:description",
content: pageData.frontmatter.description,
},
],
);
}
if (pageData.frontmatter.image) {
head.push([
"meta",
{
property: "og:image",
content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}`,
},
]);
head.push([
"meta",
{
name: "twitter:image",
content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, "")}`,
},
]);
} else {
const url = pageData.filePath.replace("index.md", "").replace(".md", "");
const imageUrl = `${url}/__og_image__/og.png`
.replaceAll("//", "/")
.replace(/^\//, "");
['meta', { property: 'og:image', content: `${hostname}/${imageUrl}` }],
['meta', { property: 'og:image:width', content: '1200' }],
['meta', { property: 'og:image:height', content: '628' }],
['meta', { property: 'og:image:type', content: 'image/png' }],
[
'meta',
{ property: 'og:image:alt', content: pageData.frontmatter.title }
],
['meta', { name: 'twitter:image', content: `${hostname}/${imageUrl}` }],
['meta', { name: 'twitter:image:width', content: '1200' }],
['meta', { name: 'twitter:image:height', content: '628' }],
[
'meta',
{ name: 'twitter:image:alt', content: pageData.frontmatter.title }
]
)
}
if (pageData.frontmatter.tag) {
head.push([
'meta',
{ property: 'article:tag', content: pageData.frontmatter.tag }
])
}
if (pageData.frontmatter.date) {
head.push([
'meta',
{
property: 'article:published_time',
content: pageData.frontmatter.date
}
])
}
if (pageData.lastUpdated && pageData.frontmatter.lastUpdated !== false) {
head.push([
'meta',
{
property: 'article:modified_time',
content: new Date(pageData.lastUpdated).toISOString()
}
])
}
head.push(
["meta", {property: "og:image", content: `${hostname}/${imageUrl}`}],
["meta", {property: "og:image:width", content: "1200"}],
["meta", {property: "og:image:height", content: "628"}],
["meta", {property: "og:image:type", content: "image/png"}],
[
"meta",
{property: "og:image:alt", content: pageData.frontmatter.title},
],
["meta", {name: "twitter:image", content: `${hostname}/${imageUrl}`}],
["meta", {name: "twitter:image:width", content: "1200"}],
["meta", {name: "twitter:image:height", content: "628"}],
[
"meta",
{name: "twitter:image:alt", content: pageData.frontmatter.title},
],
);
}
if (pageData.frontmatter.tag) {
head.push([
"meta",
{property: "article:tag", content: pageData.frontmatter.tag},
]);
}
if (pageData.frontmatter.date) {
head.push([
"meta",
{
property: "article:published_time",
content: pageData.frontmatter.date,
},
]);
}
if (pageData.lastUpdated && pageData.frontmatter.lastUpdated !== false) {
head.push([
"meta",
{
property: "article:modified_time",
content: new Date(pageData.lastUpdated).toISOString(),
},
]);
}
return head;
return head
}

View File

@ -1,98 +1,95 @@
import {mkdir, readFile, writeFile} from "node:fs/promises";
import {dirname, resolve} from "node:path";
import {fileURLToPath} from "node:url";
import type {ContentData, SiteConfig} from "vitepress";
import {createContentLoader} from "vitepress";
import {type SatoriOptions, satoriVue} from "x-satori/vue";
import {renderAsync} from "@resvg/resvg-js";
import { mkdir, readFile, writeFile } from 'node:fs/promises'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import type { ContentData, SiteConfig } from 'vitepress'
import { createContentLoader } from 'vitepress'
import { type SatoriOptions, satoriVue } from 'x-satori/vue'
import { renderAsync } from '@resvg/resvg-js'
const __dirname = dirname(fileURLToPath(import.meta.url));
const __fonts = resolve(__dirname, "../fonts");
const __dirname = dirname(fileURLToPath(import.meta.url))
const __fonts = resolve(__dirname, '../fonts')
export async function generateImages(config: SiteConfig): Promise<void> {
const pages = await createContentLoader("**/*.md", {excerpt: true}).load();
const template = await readFile(
resolve(__dirname, "./Template.vue"),
"utf-8",
);
const pages = await createContentLoader('*_/_.md', { excerpt: true }).load()
const template = await readFile(resolve(__dirname, './Template.vue'), 'utf-8')
const fonts: SatoriOptions["fonts"] = [
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Regular.otf")),
weight: 400,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Medium.otf")),
weight: 500,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-SemiBold.otf")),
weight: 600,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Bold.otf")),
weight: 700,
style: "normal",
},
];
for (const page of pages) {
await generateImage({
page,
template,
outDir: config.outDir,
fonts,
});
const fonts: SatoriOptions['fonts'] = [
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Regular.otf')),
weight: 400,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Medium.otf')),
weight: 500,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-SemiBold.otf')),
weight: 600,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Bold.otf')),
weight: 700,
style: 'normal'
}
return console.info("Generated opengraph images.");
]
for (const page of pages) {
await generateImage({
page,
template,
outDir: config.outDir,
fonts
})
}
return console.info('Generated opengraph images.')
}
interface GenerateImagesOptions {
page: ContentData;
template: string;
outDir: string;
fonts: SatoriOptions["fonts"];
page: ContentData
template: string
outDir: string
fonts: SatoriOptions['fonts']
}
async function generateImage({
page,
template,
outDir,
fonts,
}: GenerateImagesOptions): Promise<void> {
const {frontmatter, url} = page;
page,
template,
outDir,
fonts
}: GenerateImagesOptions): Promise<void> {
const { frontmatter, url } = page
const options: SatoriOptions = {
width: 1200,
height: 628,
fonts,
props: {
title:
frontmatter.layout === "home"
? frontmatter.hero.name ?? frontmatter.title
: frontmatter.title,
description:
frontmatter.layout === "home"
? frontmatter.hero.tagline ?? frontmatter.description
: frontmatter.description,
},
};
const options: SatoriOptions = {
width: 1200,
height: 628,
fonts,
props: {
title:
frontmatter.layout === 'home'
? frontmatter.hero.name ?? frontmatter.title
: frontmatter.title,
description:
frontmatter.layout === 'home'
? frontmatter.hero.tagline ?? frontmatter.description
: frontmatter.description
}
}
const svg = await satoriVue(options, template);
const svg = await satoriVue(options, template)
const render = await renderAsync(svg);
const render = await renderAsync(svg)
const outputFolder = resolve(outDir, url.slice(1), "__og_image__");
const outputFile = resolve(outputFolder, "og.png");
const outputFolder = resolve(outDir, url.slice(1), '**og_image**')
const outputFile = resolve(outputFolder, 'og.png')
await mkdir(outputFolder, {recursive: true});
await mkdir(outputFolder, { recursive: true })
await writeFile(outputFile, render.asPng());
await writeFile(outputFile, render.asPng())
}

View File

@ -1,47 +1,47 @@
import {readFile} from "node:fs/promises";
import {dirname, resolve} from "node:path";
import {fileURLToPath} from "node:url";
import type {SatoriOptions} from "x-satori/vue";
import {defineSatoriConfig} from "x-satori/vue";
import { readFile } from 'node:fs/promises'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import type { SatoriOptions } from 'x-satori/vue'
import { defineSatoriConfig } from 'x-satori/vue'
const __dirname = dirname(fileURLToPath(import.meta.url));
const __fonts = resolve(__dirname, "../fonts");
const __dirname = dirname(fileURLToPath(import.meta.url))
const __fonts = resolve(__dirname, '../fonts')
const fonts: SatoriOptions["fonts"] = [
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Regular.otf")),
weight: 400,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Medium.otf")),
weight: 500,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-SemiBold.otf")),
weight: 600,
style: "normal",
},
{
name: "Inter",
data: await readFile(resolve(__fonts, "Inter-Bold.otf")),
weight: 700,
style: "normal",
},
];
const fonts: SatoriOptions['fonts'] = [
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Regular.otf')),
weight: 400,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Medium.otf')),
weight: 500,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-SemiBold.otf')),
weight: 600,
style: 'normal'
},
{
name: 'Inter',
data: await readFile(resolve(__fonts, 'Inter-Bold.otf')),
weight: 700,
style: 'normal'
}
]
export default defineSatoriConfig({
width: 1200,
height: 628,
fonts,
props: {
title: "Title",
description:
"Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.",
dir: "/j",
},
});
width: 1200,
height: 628,
fonts,
props: {
title: 'Title',
description:
'Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.',
dir: '/j'
}
})

View File

@ -1,27 +1,27 @@
import {DefaultTheme, LocaleSpecificConfig} from "vitepress";
import { DefaultTheme, LocaleSpecificConfig } from 'vitepress'
const navbar: DefaultTheme.NavItem[] = [
{text: "Get Started", link: "/start"},
{text: "Contribute", link: "/contribute"},
];
{ text: 'Get Started', link: '/start' },
{ text: 'Contribute', link: '/contribute' }
]
const sidebar: DefaultTheme.Sidebar = [
{text: "Glossary", link: "/glossary"},
{text: "Software", link: "/software"},
{text: "Download", link: "/download"},
{text: "Emulation", link: "/emulation"},
{text: "Linux", link: "/linux"},
{text: "Useful", link: "/useful"},
{text: "Unsafe", link: "/unsafe"},
];
{ text: 'Glossary', link: '/glossary' },
{ text: 'Software', link: '/software' },
{ text: 'Download', link: '/download' },
{ text: 'Emulation', link: '/emulation' },
{ text: 'Linux', link: '/linux' },
{ text: 'Useful', link: '/useful' },
{ text: 'Unsafe', link: '/unsafe' }
]
export const enLocale: LocaleSpecificConfig<DefaultTheme.Config> = {
...navbar,
themeConfig: {
sidebar,
editLink: {
pattern: "https://github.com/privateersclub/wiki/edit/master/docs/:path",
text: "Suggest Changes",
},
},
};
...navbar,
themeConfig: {
sidebar,
editLink: {
pattern: 'https://github.com/privateersclub/wiki/edit/master/docs/:path',
text: 'Suggest Changes'
}
}
}

View File

@ -1,27 +1,27 @@
import {DefaultTheme, LocaleSpecificConfig} from "vitepress";
import { DefaultTheme, LocaleSpecificConfig } from 'vitepress'
const navbar: DefaultTheme.NavItem[] = [
{text: "Começar", link: "/start"},
{text: "Contribuir", link: "/contribute"},
];
{ text: 'Começar', link: '/start' },
{ text: 'Contribuir', link: '/contribute' }
]
const sidebar: DefaultTheme.Sidebar = [
{text: "Glossário", link: "/br/glossary"},
{text: "Programas", link: "/br/software"},
{text: "Downloads", link: "/br/download"},
{text: "Emulação", link: "/br/emulation"},
{text: "Linux", link: "/br/linux"},
{text: "Útil", link: "/br/useful"},
{text: "Não Seguro", link: "/br/unsafe"},
];
{ text: 'Glossário', link: '/br/glossary' },
{ text: 'Programas', link: '/br/software' },
{ text: 'Downloads', link: '/br/download' },
{ text: 'Emulação', link: '/br/emulation' },
{ text: 'Linux', link: '/br/linux' },
{ text: 'Útil', link: '/br/useful' },
{ text: 'Não Seguro', link: '/br/unsafe' }
]
export const brLocale: LocaleSpecificConfig<DefaultTheme.Config> = {
...navbar,
themeConfig: {
sidebar: sidebar,
editLink: {
pattern: "https://github.com/privateersclub/wiki/edit/master/docs/:path",
text: "Sugerir Mudanças",
},
},
};
...navbar,
themeConfig: {
sidebar: sidebar,
editLink: {
pattern: 'https://github.com/privateersclub/wiki/edit/master/docs/:path',
text: 'Sugerir Mudanças'
}
}
}

View File

@ -1,40 +1,114 @@
import {defineConfig} from "vitepress";
import UnoCSS from "unocss/vite";
import { defineConfig } from 'vitepress'
import UnoCSS from 'unocss/vite'
import {
PageProperties,
PagePropertiesMarkdownSection
} from '@nolebase/vitepress-plugin-page-properties/vite'
import {
GitChangelog,
GitChangelogMarkdownSection
} from '@nolebase/vitepress-plugin-git-changelog/vite'
export const sharedConfig = defineConfig({
title: "privateersclub/wiki",
description: "The most comprehensive game piracy wiki on the internet.",
base: process.env.BASE_URL || "/",
lang: "en-US",
lastUpdated: true,
cleanUrls: true,
appearance: "dark",
titleTemplate: ":title • Wiki",
head: [
["meta", {name: "theme-color", content: "#ADF0DD"}],
["meta", {name: "og:type", content: "website"}],
["meta", {name: "og:locale", content: "en"}],
],
vite: {plugins: [UnoCSS()]},
// transformHead: async (context) =>
// generateMeta(context, "https://megathread.pages.dev"),
// buildEnd(siteConfig) {
// generateImages(siteConfig);
// },
themeConfig: {
search: {
provider: "local",
},
docFooter: {next: false, prev: false},
socialLinks: [
{icon: "github", link: "https://github.com/privateersclub/wiki"},
{icon: "discord", link: "https://discord.gg/jz8dUnnD6Q"},
{
icon: {
svg: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chat" viewBox="0 0 16 16"><path d="M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z"/></svg>',
},
link: "https://privateer.divolt.xyz",
},
],
title: 'privateersclub/wiki',
description: 'The most comprehensive game piracy wiki on the internet.',
base: process.env.BASE_URL || '/',
lang: 'en-US',
lastUpdated: true,
cleanUrls: true,
appearance: 'dark',
titleTemplate: ':title • Wiki',
head: [
['meta', { name: 'theme-color', content: '#ADF0DD' }],
['meta', { name: 'og:type', content: 'website' }],
['meta', { name: 'og:locale', content: 'en' }]
],
vite: {
optimizeDeps: {
exclude: ['@nolebase/vitepress-plugin-enhanced-readabilities/client']
},
});
ssr: {
noExternal: [
'@nolebase/vitepress-plugin-enhanced-readabilities',
'@nolebase/vitepress-plugin-page-properties'
]
},
plugins: [
UnoCSS(),
GitChangelog({
maxGitLogCount: 2000,
repoURL: () => 'https://github.com/privateersclub/wiki'
}),
GitChangelogMarkdownSection(),
PageProperties(),
PagePropertiesMarkdownSection()
]
},
// transformHead: async (context) =>
// generateMeta(context, "https://megathread.pages.dev"),
// buildEnd(siteConfig) {
// generateImages(siteConfig);
// },
themeConfig: {
search: {
provider: 'local',
options: {
// Add title ang tags field in frontmatter to search
// You can exclude a page from search by adding search: false to the page's frontmatter.
_render(src, env, md) {
// without `md.render(src, env)`, the some information will be missing from the env.
let html = md.render(src, env)
let tagsPart = ''
let headingPart = ''
let contentPart = ''
let fullContent = ''
const sortContent = () =>
[headingPart, tagsPart, contentPart] as const
let { frontmatter, content } = env
if (!frontmatter) return html
if (frontmatter.search === false) return ''
contentPart = content ||= src
const headingMatch = content.match(/^#{1} .*/m)
const hasHeading = !!(
headingMatch &&
headingMatch[0] &&
headingMatch.index !== undefined
)
if (hasHeading) {
const headingEnd = headingMatch.index! + headingMatch[0].length
headingPart = content.slice(0, headingEnd)
contentPart = content.slice(headingEnd)
} else if (frontmatter.title) {
headingPart = `# ${frontmatter.title}`
}
const tags = frontmatter.tags
if (tags && Array.isArray(tags) && tags.length)
tagsPart = `Tags: #${tags.join(', #')}`
fullContent = sortContent().filter(Boolean).join('\n\n')
html = md.render(fullContent, env)
return html
}
}
},
docFooter: { next: false, prev: false },
socialLinks: [
{ icon: 'github', link: 'https://github.com/privateersclub/wiki' },
{ icon: 'discord', link: 'https://discord.gg/jz8dUnnD6Q' },
{
icon: {
svg: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chat" viewBox="0 0 16 16"><path d="M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z"/></svg>'
},
link: 'https://privateer.divolt.xyz'
}
]
}
})

View File

@ -1,23 +1,23 @@
import nprogress, {type NProgress} from "nprogress";
import type {EnhanceAppContext} from "vitepress";
import nprogress, { type NProgress } from 'nprogress'
import type { EnhanceAppContext } from 'vitepress'
export function loadProgress(router: EnhanceAppContext["router"]): NProgress {
if (typeof window === "undefined") return;
export function loadProgress(router: EnhanceAppContext['router']): NProgress {
if (typeof window === 'undefined') return
setTimeout(() => {
nprogress.configure({showSpinner: false});
setTimeout(() => {
nprogress.configure({ showSpinner: false })
const cacheBeforeRouteChange = router.onBeforeRouteChange;
const cacheAfterRouteChange = router.onAfterRouteChanged;
router.onBeforeRouteChange = (to) => {
nprogress.start();
cacheBeforeRouteChange?.(to);
};
router.onAfterRouteChanged = (to) => {
nprogress.done();
cacheAfterRouteChange?.(to);
};
});
const cacheBeforeRouteChange = router.onBeforeRouteChange
const cacheAfterRouteChange = router.onAfterRouteChanged
router.onBeforeRouteChange = (to) => {
nprogress.start()
cacheBeforeRouteChange?.(to)
}
router.onAfterRouteChanged = (to) => {
nprogress.done()
cacheAfterRouteChange?.(to)
}
})
return nprogress;
return nprogress
}

View File

@ -1,12 +1,101 @@
import {type Theme} from "vitepress";
import DefaultTheme from "vitepress/theme";
import {loadProgress} from "./composables/nprogress";
import "./style.css";
import "uno.css";
import { h } from 'vue'
import { type Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import {
NolebaseEnhancedReadabilitiesMenu,
NolebaseEnhancedReadabilitiesScreenMenu
} from '@nolebase/vitepress-plugin-enhanced-readabilities/client'
import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client'
import { NolebasePagePropertiesPlugin } from '@nolebase/vitepress-plugin-page-properties/client'
import { loadProgress } from './composables/nprogress'
import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css'
import '@nolebase/vitepress-plugin-page-properties/client/style.css'
import '@nolebase/vitepress-plugin-git-changelog/client/style.css'
import './style.css'
import 'uno.css'
export default {
extends: DefaultTheme,
enhanceApp({router}) {
loadProgress(router);
},
} satisfies Theme;
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// A enhanced readabilities menu for wider screens
'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu),
// A enhanced readabilities menu for narrower screens (usually smaller than iPad Mini)
'nav-screen-content-after': () =>
h(NolebaseEnhancedReadabilitiesScreenMenu)
})
},
enhanceApp({ router, app }) {
loadProgress(router)
app.use(NolebaseGitChangelogPlugin, {
mapAuthors: [
{
name: 'taskylizard',
username: 'taskylizard',
avatar: 'https://github.com/taskylizard.png'
},
{
name: 'Kazevic',
username: 'Kazevic',
avatar: 'https://github.com/kazevic.png'
}
]
})
// @ts-expect-error
app.use(
NolebasePagePropertiesPlugin<{ tags: string[]; progress: number }>(),
{
properties: {
en: [
{
key: 'tags',
type: 'tags',
title: 'Tags'
},
{
key: 'progress',
type: 'progress',
title: 'Progress'
},
{
key: 'createdAt',
type: 'datetime',
title: 'Created at',
formatAsFrom: true,
dateFnsLocaleName: 'enUS'
},
{
key: 'updatedAt',
type: 'datetime',
title: 'Updated at',
formatAsFrom: true,
dateFnsLocaleName: 'enUS'
},
{
key: 'url1',
type: 'link',
title: 'URL 1'
},
{
key: 'wordsCount',
type: 'dynamic',
title: 'Word count',
options: {
type: 'wordsCount'
}
},
{
key: 'readingTime',
type: 'dynamic',
title: 'Reading time',
options: {
type: 'readingTime',
dateFnsLocaleName: 'enUS'
}
}
]
}
}
)
}
} satisfies Theme

View File

@ -1,176 +1,211 @@
:root {
--vp-c-brand-1: #1fd8a4;
--vp-c-brand-2: #4acdab;
--vp-c-brand-3: #3abd9d;
--vp-c-brand-soft: #2aae8f;
--vp-c-brand-1: #1fd8a4;
--vp-c-brand-2: #4acdab;
--vp-c-brand-3: #3abd9d;
--vp-c-brand-soft: #2aae8f;
/* Colors: Button */
--vp-button-brand-bg: var(--vp-c-brand-1);
--vp-button-brand-border: var(--vp-c-brand-soft);
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-hover-border: var(--vp-c-brand-soft);
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-soft);
--vp-button-brand-active-border: var(--vp-c-brand-soft);
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
--vp-button-alt-bg: #484848;
--vp-button-alt-text: #f0eeee;
--vp-button-alt-hover-bg: #484848;
--vp-button-alt-hover-text: #f0eeee;
/* Colors: Button */
--vp-button-brand-bg: var(--vp-c-brand-1);
--vp-button-brand-border: var(--vp-c-brand-soft);
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-hover-border: var(--vp-c-brand-soft);
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-soft);
--vp-button-brand-active-border: var(--vp-c-brand-soft);
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
--vp-button-alt-bg: #484848;
--vp-button-alt-text: #f0eeee;
--vp-button-alt-hover-bg: #484848;
--vp-button-alt-hover-text: #f0eeee;
--vp-c-bg-elv: rgba(255, 255, 255, 0.7);
--vp-c-bg-mark: rgb(232, 232, 232);
--vp-c-bg-elv: rgba(255, 255, 255, 0.7);
--vp-c-bg-mark: rgb(232, 232, 232);
/* Colors: Custom Block */
--vp-custom-block-info-bg: rgba(171, 210, 244, 0.05);
--vp-custom-block-info-border: #60c4fa;
--vp-custom-block-info-text: rgb(39, 115, 145);
--vp-custom-block-info-text-deep: rgb(18, 121, 162);
--vp-custom-block-tip-bg: rgba(137, 202, 176, 0.05);
--vp-custom-block-tip-border: rgba(34, 197, 94, 1);
--vp-custom-block-tip-text: rgb(10, 128, 90);
--vp-custom-block-tip-text-deep: rgb(11, 133, 94);
--vp-custom-block-warning-bg: rgba(250, 204, 21, 0.05);
--vp-custom-block-warning-border: rgba(245, 158, 11, 1);
--vp-custom-block-warning-text: rgb(166, 114, 35);
--vp-custom-block-warning-text-deep: rgb(199, 109, 6);
--vp-custom-block-danger-bg: rgba(220, 38, 38, 0.05);
--vp-custom-block-danger-border: rgba(248, 113, 113, 1);
--vp-custom-block-danger-text: rgb(196, 46, 46);
--vp-custom-block-danger-text-deep: rgba(220, 38, 38, 1);
/* Colors: Custom Block */
--vp-custom-block-info-bg: rgba(171, 210, 244, 0.05);
--vp-custom-block-info-border: #60c4fa;
--vp-custom-block-info-text: rgb(39, 115, 145);
--vp-custom-block-info-text-deep: rgb(18, 121, 162);
--vp-custom-block-tip-bg: rgba(137, 202, 176, 0.05);
--vp-custom-block-tip-border: rgba(34, 197, 94, 1);
--vp-custom-block-tip-text: rgb(10, 128, 90);
--vp-custom-block-tip-text-deep: rgb(11, 133, 94);
--vp-custom-block-warning-bg: rgba(250, 204, 21, 0.05);
--vp-custom-block-warning-border: rgba(245, 158, 11, 1);
--vp-custom-block-warning-text: rgb(166, 114, 35);
--vp-custom-block-warning-text-deep: rgb(199, 109, 6);
--vp-custom-block-danger-bg: rgba(220, 38, 38, 0.05);
--vp-custom-block-danger-border: rgba(248, 113, 113, 1);
--vp-custom-block-danger-text: rgb(196, 46, 46);
--vp-custom-block-danger-text-deep: rgba(220, 38, 38, 1);
}
.dark {
/* Colors: Background */
--vp-c-bg: rgb(22, 22, 22);
--vp-c-bg-alt: rgb(23, 23, 23);
--vp-c-bg-elv: rgba(23, 23, 23, 0.8);
/* Colors: Background */
--vp-c-bg: rgb(22, 22, 22);
--vp-c-bg-alt: rgb(23, 23, 23);
--vp-c-bg-elv: rgba(23, 23, 23, 0.8);
/* Colors: Custom Block */
--vp-custom-block-info-bg: rgba(84, 110, 155, 0.1);
--vp-custom-block-info-border: #3686b1;
--vp-custom-block-info-text: #52b0e3;
--vp-custom-block-info-text-deep: #00b7ff;
--vp-custom-block-tip-bg: rgba(51, 130, 118, 0.1);
--vp-custom-block-tip-border: rgba(4, 120, 87, 1);
--vp-custom-block-tip-text: rgb(25, 190, 129);
--vp-custom-block-tip-text-deep: rgba(52, 211, 153, 1);
--vp-custom-block-warning-bg: rgba(253, 224, 71, 0.1);
--vp-custom-block-warning-border: rgba(202, 138, 4, 1);
--vp-custom-block-warning-text: rgba(234, 179, 8, 1);
--vp-custom-block-warning-text-deep: rgba(250, 204, 21, 1);
--vp-custom-block-danger-bg: rgba(239, 68, 68, 0.1);
--vp-custom-block-danger-border: rgba(127, 29, 29, 1);
--vp-custom-block-danger-text: rgba(248, 113, 113, 1);
--vp-custom-block-danger-text-deep: rgba(248, 113, 113, 1);
/* Colors: Custom Block */
--vp-custom-block-info-bg: rgba(84, 110, 155, 0.1);
--vp-custom-block-info-border: #3686b1;
--vp-custom-block-info-text: #52b0e3;
--vp-custom-block-info-text-deep: #00b7ff;
--vp-custom-block-tip-bg: rgba(51, 130, 118, 0.1);
--vp-custom-block-tip-border: rgba(4, 120, 87, 1);
--vp-custom-block-tip-text: rgb(25, 190, 129);
--vp-custom-block-tip-text-deep: rgba(52, 211, 153, 1);
--vp-custom-block-warning-bg: rgba(253, 224, 71, 0.1);
--vp-custom-block-warning-border: rgba(202, 138, 4, 1);
--vp-custom-block-warning-text: rgba(234, 179, 8, 1);
--vp-custom-block-warning-text-deep: rgba(250, 204, 21, 1);
--vp-custom-block-danger-bg: rgba(239, 68, 68, 0.1);
--vp-custom-block-danger-border: rgba(127, 29, 29, 1);
--vp-custom-block-danger-text: rgba(248, 113, 113, 1);
--vp-custom-block-danger-text-deep: rgba(248, 113, 113, 1);
}
.vp-doc a {
color: var(--vp-c-brand-1);
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-style: solid;
text-decoration-color: transparent;
-webkit-text-decoration-color: transparent;
transition: text-decoration-color 0.25s;
color: var(--vp-c-brand-1);
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-style: solid;
text-decoration-color: transparent;
-webkit-text-decoration-color: transparent;
transition: text-decoration-color 0.25s;
}
.vp-doc a:hover {
color: var(--vp-c-brand-1);
text-decoration-color: var(--vp-c-brand-1);
-webkit-text-decoration-color: var(--vp-c-brand-1);
color: var(--vp-c-brand-1);
text-decoration-color: var(--vp-c-brand-1);
-webkit-text-decoration-color: var(--vp-c-brand-1);
}
.vp-doc .custom-block a {
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-style: solid;
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-style: solid;
}
::selection {
background-color: var(--vp-button-brand-bg);
background-color: var(--vp-button-brand-bg);
}
/* Make clicks pass-through */
#nprogress {
pointer-events: none;
pointer-events: none;
}
#nprogress .bar {
background: var(--vp-c-brand-1);
position: fixed;
z-index: 1031;
top: 0;
left: 0;
width: 100%;
height: 2px;
background: var(--vp-c-brand-1);
position: fixed;
z-index: 1031;
top: 0;
left: 0;
width: 100%;
height: 2px;
}
/* Fancy blur effect */
#nprogress .peg {
display: block;
position: absolute;
right: 0;
width: 100px;
height: 100%;
box-shadow: 0 0 10px var(--vp-c-brand-1),
display: block;
position: absolute;
right: 0;
width: 100px;
height: 100%;
box-shadow:
0 0 10px var(--vp-c-brand-1),
0 0 5px var(--vp-c-brand-1);
opacity: 1;
opacity: 1;
-webkit-transform: rotate(3deg) translate(0px, -4px);
-ms-transform: rotate(3deg) translate(0px, -4px);
transform: rotate(3deg) translate(0px, -4px);
-webkit-transform: rotate(3deg) translate(0px, -4px);
-ms-transform: rotate(3deg) translate(0px, -4px);
transform: rotate(3deg) translate(0px, -4px);
}
#nprogress .spinner {
display: block;
position: fixed;
z-index: 1031;
top: 15px;
right: 15px;
display: block;
position: fixed;
z-index: 1031;
top: 15px;
right: 15px;
}
#nprogress .spinner-icon {
width: 18px;
height: 18px;
box-sizing: border-box;
width: 18px;
height: 18px;
box-sizing: border-box;
border: solid 2px transparent;
border-top-color: var(--vp-c-brand);
border-left-color: var(--vp-c-brand);
border-radius: 50%;
border: solid 2px transparent;
border-top-color: var(--vp-c-brand);
border-left-color: var(--vp-c-brand);
border-radius: 50%;
-webkit-animation: nprogress-spinner 400ms linear infinite;
animation: nprogress-spinner 400ms linear infinite;
-webkit-animation: nprogress-spinner 400ms linear infinite;
animation: nprogress-spinner 400ms linear infinite;
}
.nprogress-custom-parent {
overflow: hidden;
position: relative;
overflow: hidden;
position: relative;
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
position: absolute;
position: absolute;
}
@-webkit-keyframes nprogress-spinner {
0% {
-webkit-transform: rotate(0deg);
}
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes nprogress-spinner {
0% {
transform: rotate(0deg);
}
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
100% {
transform: rotate(360deg);
}
}
.info.custom-block {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWluZm8iPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0iTTEyIDE2di00Ii8+PHBhdGggZD0iTTEyIDhoLjAxIi8+PC9zdmc+');
}
.tip.custom-block {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWxpZ2h0YnVsYiI+PHBhdGggZD0iTTE1IDE0Yy4yLTEgLjctMS43IDEuNS0yLjUgMS0uOSAxLjUtMi4yIDEuNS0zLjVBNiA2IDAgMCAwIDYgOGMwIDEgLjIgMi4yIDEuNSAzLjUuNy43IDEuMyAxLjUgMS41IDIuNSIvPjxwYXRoIGQ9Ik05IDE4aDYiLz48cGF0aCBkPSJNMTAgMjJoNCIvPjwvc3ZnPg==');
}
.warning.custom-block {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWFsZXJ0LXRyaWFuZ2xlIj48cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTNaIi8+PHBhdGggZD0iTTEyIDl2NCIvPjxwYXRoIGQ9Ik0xMiAxN2guMDEiLz48L3N2Zz4=');
}
.danger.custom-block {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXNrdWxsIj48Y2lyY2xlIGN4PSI5IiBjeT0iMTIiIHI9IjEiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjEyIiByPSIxIi8+PHBhdGggZD0iTTggMjB2Mmg4di0yIi8+PHBhdGggZD0ibTEyLjUgMTctLjUtMS0uNSAxaDF6Ii8+PHBhdGggZD0iTTE2IDIwYTIgMiAwIDAgMCAxLjU2LTMuMjUgOCA4IDAgMSAwLTExLjEyIDBBMiAyIDAgMCAwIDggMjAiLz48L3N2Zz4=');
}
.custom-block-title {
display: inline-flex;
align-items: center;
gap: 8px;
}
.custom-block-title::before {
content: '';
width: 16px;
height: 16px;
-webkit-mask: var(--icon) no-repeat;
mask: var(--icon) no-repeat;
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
background-color: currentColor;
color: inherit;
}

View File

@ -1,5 +1,5 @@
/* eslint-disable ts/consistent-type-imports */
declare module "*.vue" {
const component: import("vue").Component;
export default component;
declare module '*.vue' {
const component: import('vue').Component
export default component
}

View File

@ -1,15 +1,29 @@
---
title: Download
description: Sites and everything for Direct downloads.
tags:
- downloads
- torrents
- repacks
- linux
---
# Download
Sites and everything for Direct downloads.
## Direct download sites
Direct downloads are normal downloads from a server, being safer and not requiring a VPN. You may
need a VPN to access blocked file hosts (like Rapidgator in some EU countries). Check the
[download managers section](software.md#download-managers) for help managing your downloads.
Direct downloads are normal downloads from a server, being safer and not
requiring a VPN. You may need a VPN to access blocked file hosts (like
Rapidgator in some EU countries). Check the
[download managers section](/software#download-managers) for help managing
your downloads.
- [🌟 CS.RIN.RU](https://cs.rin.ru/forum) - Game piracy forum / Registration
required / [Enhancement mod](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) / Password: `cs.rin.ru`
required /
[Enhancement mod](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) /
Password: `cs.rin.ru`
- [🌟 SteamRIP](https://steamrip.com) - Steam games
- [🌟 GOG Games](https://gog-games.to) - GOG Games
- [🌟 GamesDrive](https://gamesdrive.net)
@ -17,17 +31,21 @@ need a VPN to access blocked file hosts (like Rapidgator in some EU countries).
- [Ova Games](https://www.ovagames.com) / Password: `www.ovagames.com`
- [GLOAD](https://gload.to/pc) - Scene & P2P releases
- [GameDrive](https://gamedrive.org)
- [Torrminatorr](https://forum.torrminatorr.com) - GOG, Linux games & Scene releases forum /
Registration required
- [Torrminatorr](https://forum.torrminatorr.com) - GOG, Linux games & Scene
releases forum / Registration required
- [ReleaseBB](https://rlsbb.ru/category/games/pc) - Scene and P2P releases
- [Games 4 You](https://g4u.to) - Slow downloads for free users / Password: `404`
- [Games 4 You](https://g4u.to) - Slow downloads for free users / Password:
`404`
- [Downloadha](https://www.downloadha.com/category/%D8%A8%D8%A7%D8%B2%DB%8C-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-pc-computer-game) -
Slow downloads / [Translator](useful.md#translator) / Password: `www.downloadha.com`
Slow downloads / [Translator](useful.md#translator) / Password:
`www.downloadha.com`
- [Scnlog](https://scnlog.me/games) - Scene releases
- [Gamdie](https://gamdie.com) - Indie games
- [Leechinghell](http://www.leechinghell.pw) - LAN multiplayer games
- [Wendy's Forum](https://wendysforum.net/index.php) - HOGs / Registration required
- [AppCake](https://iphonecake.com/index.php?device=0&p=1&c=8) - macOS & iOS games & apps
- [Wendy's Forum](https://wendysforum.net/index.php) - HOGs / Registration
required
- [AppCake](https://iphonecake.com/index.php?device=0&p=1&c=8) - macOS & iOS
games & apps
- [NMac](https://nmac.to/category/games) - macOS games & apps
- [AppKed](https://www.macbed.com/games) - macOS games & apps
- [Cmacked](https://cmacked.com) - macOS games & apps
@ -40,55 +58,61 @@ need a VPN to access blocked file hosts (like Rapidgator in some EU countries).
- [RB Mods](https://www.rockmods.net) - Android apps
- [ARMGDDN Games](https://t.me/ARMGDDNGames) - PCVR games
- [My Abandonware](https://www.myabandonware.com) - Old games
- [Old-Games.RU](https://www.old-games.ru/catalog/) - Old games / Switch to English in the top-right corner
- [Old-Games.RU](https://www.old-games.ru/catalog/) - Old games / Switch to
English in the top-right corner
- [F95zone](https://f95zone.to) - NSFW games / Registration required
- [Software Library: MS-DOS Games](https://archive.org/details/softwarelibrary_msdos_games?and[]=mediatype%3A%22software%22) -
MS-DOS games
- [Prism Launcher](https://prismlauncher.org) -
Minecraft / [Play without a legit account](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass)
- [Prism Launcher](https://prismlauncher.org) - Minecraft /
[Play without a legit account](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass)
- [Moriya Shrine](https://moriyashrine.org) - Touhou
## Torrent sites
Torrents are P2P downloads from other users, without servers. You'll need a VPN to torrent safely
and avoid ISP copyright notices, unless your country tolerates piracy. Check the
[VPNs section](software.md#vpns) for more info.
Torrents are P2P downloads from other users, without servers. You'll need a VPN
to torrent safely and avoid ISP copyright notices, unless your country tolerates
piracy. Check the [VPNs section](software.md#vpns) for more info.
- [🌟 1337x](https://1337x.to/sub/10/0/) / [Safe uploaders (except FileCR)](https://www.reddit.com/r/Piracy/comments/nudfgn/me_after_reading_the_megathread/h0yr0q6/?context=3) /
[Torrent Page Improvements](https://greasyfork.org/scripts/33379-1337x-torrent-page-improvements) /
[Torrent and Magnet Links](https://greasyfork.org/scripts/420754-1337x-torrent-and-magnet-links) /
- [🌟 1337x](https://1337x.to/sub/10/0/) /
[Safe uploaders (except FileCR)](https://www.reddit.com/r/Piracy/comments/nudfgn/me_after_reading_the_megathread/h0yr0q6/?context=3)
/
[Torrent Page Improvements](https://greasyfork.org/scripts/33379-1337x-torrent-page-improvements)
/
[Torrent and Magnet Links](https://greasyfork.org/scripts/420754-1337x-torrent-and-magnet-links)
/
[Convert Timestamps to Relative Format](https://greasyfork.org/scripts/421635-1337x-convert-torrent-timestamps-to-relative-format)
/
[Subtitle Download Links to TV and Movie Torrents](https://greasyfork.org/scripts/29467-1337x-subtitle-download-links-to-tv-and-movie-torrents)
- [🌟 RuTracker](https://rutracker.org/forum/index.php?c=19) / [Translator](useful.md#translator)
- [🌟 RuTracker](https://rutracker.org/forum/index.php?c=19) /
[Translator](useful.md#translator)
- [Rutor](http://rutor.info/games) / [Translator](useful.md#translator)
- [Rustorka](https://rustorka.com/forum/index.php?c=6) / [Translator](useful.md#translator)
- [Rustorka](https://rustorka.com/forum/index.php?c=6) /
[Translator](useful.md#translator)
- [Mac Torrents](https://www.torrentmac.net/category/games) - macOS games & apps
- [Mac Torrent](https://www.mactorrents.is/macos-games) - macOS games & apps
## Repacks
Repacks are compressed games for low-bandwidth users, but installing them takes time due to file
decompression.
Repacks are compressed games for low-bandwidth users, but installing them takes
time due to file decompression.
- [🌟 DODI Repacks](https://dodi-repacks.site)
- [🌟 FitGirl Repacks](https://fitgirl-repacks.site)
- [🌟 ElAmigos](https://elamigos.site) - Use GameDrive's, GLOAD's or
Ova Games' mirrors for free fast downloads.
- [🌟 ElAmigos](https://elamigos.site) - Use GameDrive's, GLOAD's or Ova Games'
mirrors for free fast downloads.
- [🌟 KaOsKrew](https://kaoskrew.org/viewforum.php?f=13&sid=c2dac73979171b67f4c8b70c9c4c72fb)
- [Chovka](http://rutor.info/browse/0/8/1642915/0) / [2](https://repack.info)
- [R.G. Mechanics](https://tapochek.net/viewforum.php?f=808)
- [Xatab](https://byxatab.org)
- [ScOOt3r Repacks](https://game-repack.site/scooter)
- [Masquerade Repacks](https://web.archive.org/web/20220616203326/https://masquerade.site) - Repacks
from up to May 2022.
Moved to KaOsKrew in June 2022.
- [Masquerade Repacks](https://web.archive.org/web/20220616203326/https://masquerade.site) -
Repacks from up to May 2022. Moved to KaOsKrew in June 2022.
- [FS-Repacks](https://www.fluxyrepacks.site)
- [Tiny Repacks](https://www.tiny-repacks.win)
- [ZAZIX](https://1337x.to/user/ZAZIX/)
- [Gnarly Repacks](https://gnarly-repacks.site) - Emulated console games
- [KAPITALSIN](https://kapitalsin.com/forum) - Game repacks forum (occasionally has lossy, or compressed repacks) /
[Translator](useful.md#translator)
- [KAPITALSIN](https://kapitalsin.com/forum) - Game repacks forum (occasionally
has lossy, or compressed repacks) / [Translator](useful.md#translator)
- [M4CKD0GE Repacks](https://m4ckd0ge-repacks.site)
- [MagiPack Games](https://www.magipack.games) - Old games
- [The Collection Chamber](https://collectionchamber.blogspot.com) - Old games

View File

@ -1,7 +1,12 @@
---
title: Emulation
description: ROM sites, emulators, discussion pages and more.
---
# Emulation
ROM sites, emulators, discussion pages and more.
## ROM sites
- [🌟 r/Roms Megathread](https://r-roms.github.io)
@ -13,43 +18,47 @@ title: Emulation
- [The ROM Depot](https://theromdepot.com) / Registration required
- [Emuparadise](https://www.emuparadise.me/roms-isos-games.php) /
[Download workaround guide](https://lemmy.world/post/3061617)
- [NoPayStation](https://nopaystation.com) - PlayStation 1, Vita, 3, and Portable games
- [NoPayStation](https://nopaystation.com) - PlayStation 1, Vita, 3, and
Portable games
- [Ziperto](https://www.ziperto.com) - Nintendo games
- [NSW2u](https://nsw2u.com) - Nintendo Switch games
- [NXBrew](https://nxbrew.com) - Nintendo Switch games
## Emulators
:::tip
:::tip
:exclamation: See the
**[Emulation General Wiki](https://emulation.gametechwiki.com/index.php/Main_Page#Emulators)** for
more. Some emulators require additional files (keys or BIOS) and are marked with an *. You can get
them [here](https://r-roms.github.io/megathread/misc/#bios-files).
**[Emulation General Wiki](https://emulation.gametechwiki.com/index.php/Main_Page#Emulators)**
for more. Some emulators require additional files (keys or BIOS) and are marked
with an :gear:. You can get them
[here](https://r-roms.github.io/megathread/misc/#bios-files).
:::
- [RetroArch](https://retroarch.com)* - Multiple consoles games / Avoid the melonDS, PPSSPP, Dolphin, and Citra cores
- [Ares](https://ares-emu.net)* - Multiple consoles games / Avoid the Neo Geo, PlayStation 1, and Game Boy Advance cores
- [Ryujinx](https://ryujinx.org)* / [Torzu](https://github.com/litucks/torzu)* ([Android](https://github.com/sudachi-emu/sudachi)) -
Nintendo
Switch games
- [:gear: RetroArch](https://retroarch.com) - Multiple consoles games / Avoid
the melonDS, PPSSPP, Dolphin, and Citra cores
- [:gear: Ares](https://ares-emu.net) - Multiple consoles games / Avoid the Neo
Geo, PlayStation 1, and Game Boy Advance cores
- [:gear: Ryujinx](https://ryujinx.org) /
[:gear: Torzu](https://github.com/litucks/torzu)
([Android](https://github.com/sudachi-emu/sudachi)) - Nintendo Switch games
- [Cemu](https://cemu.info) - Wii U games
- [Vita3K](https://vita3k.org) - PlayStation Vita games
- [Lime3DS](https://github.com/Lime3DS/Lime3DS) - Nintendo
3DS games
- [Lime3DS](https://github.com/Lime3DS/Lime3DS) - Nintendo 3DS games
- [Dolphin Emulator](https://dolphin-emu.org) - Wii & GameCube games
- [RPCS3](https://rpcs3.net) - PlayStation 3 games
- [xenia](https://xenia.jp) - Xbox 360 games
- [MAME](https://www.mamedev.org)* - Arcade games
- [:gear: MAME](https://www.mamedev.org) - Arcade games
- [PPSSPP](https://www.ppsspp.org) - PlayStation Portable games
- [melonDS](https://melonds.kuribo64.net) / [DeSmuME](https://desmume.org) - Nintendo DS games
- [melonDS](https://melonds.kuribo64.net) / [DeSmuME](https://desmume.org) -
Nintendo DS games
- [No$GBA](https://www.nogba.com) - Nintendo DS & Game Boy Advance games
- [xemu](https://xemu.app)* - Original Xbox games
- [:gear: xemu](https://xemu.app) - Original Xbox games
- [mGBA](https://mgba.io) - Game Boy Advance games
- [PCSX2](https://pcsx2.net)* - PlayStation 2 games
- [:gear: PCSX2](https://pcsx2.net) - PlayStation 2 games
- [Parallel Launcher](https://parallel-launcher.ca) - Nintendo 64 games
- [DuckStation](https://www.duckstation.org)* - PlayStation 1 games
- [bsnes](https://github.com/bsnes-emu/bsnes) / [Snes9x](https://www.snes9x.com) - Super Nintendo Entertainment System
games
- [:gear: DuckStation](https://www.duckstation.org) - PlayStation 1 games
- [bsnes](https://github.com/bsnes-emu/bsnes) /
[Snes9x](https://www.snes9x.com) - Super Nintendo Entertainment System games
## Related subreddits

View File

@ -3,62 +3,70 @@ title: Glossary
description: Answers to some of the most commonly asked questions.
---
This page helps summarize over some basic topics on the piracy scene.
This also serves as
referential material to gloss over quickly.
# Glossary
This page helps summarize over some basic topics on the piracy scene. This also
serves as referential material to gloss over quickly.
## Terms
::: tip What is the Scene? And P2P?
The Scene is an underground community of people who crack and
share copyrighted material. They have strict rules that all scene members have to abide. P2P are
independent crackers who don't follow the [Scene rules](https://scenerules.org).
:::tip What is the Scene? And P2P?
The Scene is an underground community of
people who crack and share copyrighted material. They have strict rules that all
scene members have to abide. P2P are independent crackers who don't follow the
[Scene rules](https://scenerules.org).
:::
::: tip Whatre NFOs?
NFOs are like a readme.txt that Scene makes on release. It gives you
instructions, a general description of the game and some additional information.
:::tip Whatre NFOs?
NFOs are like a readme.txt that Scene makes on release. It
gives you instructions, a general description of the game and some additional
information.
:::
::: tip Why does X site have so many ads?
**Use an adblocker**. Ads keep the websites running, but
sometimes the ad ruins the experience or even link malware. You can take these steps if you want an
ad-free experience:
:::tip Why does X site have so many ads?
**Use an adblocker**. Ads keep the
websites running, but sometimes the ad ruins the experience or even link
malware. You can take these steps if you want an ad-free experience:
### Android
Install [**Firefox**](https://play.google.com/store/apps/details?id=org.mozilla.firefox) and add
[**uBlock Origin**](https://addons.mozilla.org/android/addon/ublock-origin). This should be more
than enough. If you want system-wide support, try
Install
[**Firefox**](https://play.google.com/store/apps/details?id=org.mozilla.firefox)
and add
[**uBlock Origin**](https://addons.mozilla.org/android/addon/ublock-origin).
This should be more than enough. If you want system-wide support, try
[**AdGuard**](https://adguard.com/adguard-android/overview.html) or
[**NextDNS**](https://nextdns.io). You can watch [**this video**](https://youtu.be/WUG57ynLb8I) if
you need guidance.
[**NextDNS**](https://nextdns.io). You can watch
[**this video**](https://youtu.be/WUG57ynLb8I) if you need guidance.
### PC
Install [**uBlock Origin**](https://ublockorigin.com) in your browser and you're done! If you want a
system-wide solution, you _can_ use [**NextDNS**](https://nextdns.io), but it won't be as effective
as uBlock Origin. You can also use [Bypass All Shortlinks](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated)
or
[Bypass.city](https://bypass.city) to _bypass_ redirects.
Install [**uBlock Origin**](https://ublockorigin.com) in your browser and you're
done! If you want a system-wide solution, you _can_ use
[**NextDNS**](https://nextdns.io), but it won't be as effective as uBlock
Origin. You can also use
[Bypass All Shortlinks](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated)
or [Bypass.city](https://bypass.city) to _bypass_ redirects.
### iOS
[**NextDNS**](https://nextdns.io) should cover everything for system-wide ads & trackers. You can
also try [**AhaDNS**](https://ahadns.com).
[**NextDNS**](https://nextdns.io) should cover everything for system-wide ads &
trackers. You can also try [**AhaDNS**](https://ahadns.com).
:::
::: tip Do I need to use VPN while downloading?
The necessity of using a VPN depends on the method
of downloading. For direct downloads, a VPN is typically unnecessary. However, if you're engaging in
peer-to-peer (P2P) activities such as torrenting, it is advisable to employ a VPN for enhanced
security and privacy. Additionally, the legal ramifications in your area play a crucial role; if the
consequences are lenient, you might opt to forgo using a VPN altogether.
:::tip Do I need to use VPN while downloading?
The necessity of using a VPN
depends on the method of downloading. For direct downloads, a VPN is typically
unnecessary. However, if you're engaging in peer-to-peer (P2P) activities such
as torrenting, it is advisable to employ a VPN for enhanced security and
privacy. Additionally, the legal ramifications in your area play a crucial role;
if the consequences are lenient, you might opt to forgo using a VPN altogether.
:::
::: tip Why is my download so slow?
Use a download manager. Some websites impose file transfer
limits for a single thread, thereby restricting download speeds. Download managers overcome this
limitation by leveraging multiple threads for downloading, resulting in faster download speeds. We've listed some
recommended ones [here](useful.md).
:::tip Why is my download so slow?
Use a download manager. Some websites impose
file transfer limits for a single thread, thereby restricting download speeds.
Download managers overcome this limitation by leveraging multiple threads for
downloading, resulting in faster download speeds. We've listed some recommended
ones [here](/useful).
:::

View File

@ -18,11 +18,11 @@ features:
- icon: 🌐
title: Translations
details:
The wiki is elegantly translated into multiple languages, ensuring you can explore its content
with utmost ease and comfort!
The wiki is elegantly translated into multiple languages, ensuring you can
explore its content with utmost ease and comfort!
- icon: 🌟
title: Favorite Picks
details:
We regularly curate the finest sites for you and emphasize their prominence, so you can have
peace of mind.
We regularly curate the finest sites for you and emphasize their
prominence, so you can have peace of mind.
---

View File

@ -1,51 +1,58 @@
---
title: Linux
description: Everything regarding piracy on Linux
description: Everything regarding piracy on Linux.
tags:
- linux
---
# Linux
Everything regarding piracy on Linux.
## Downloading
### Direct download sites
- [🌟 Torrminatorr](https://forum.torrminatorr.com) - GOG, Linux games and Scene releases forum /
Registration required
- [🌟 KAPITALSIN](https://kapitalsin.com/forum) - Game repacks forum (occasionally has lossy, or compressed repacks) /
- [🌟 Torrminatorr](https://forum.torrminatorr.com) - GOG, Linux games and Scene
releases forum / Registration required
- [🌟 KAPITALSIN](https://kapitalsin.com/forum) - Game repacks forum
(occasionally has lossy, or compressed repacks) /
[Translator](useful.md#translator)
- [🌟 CS.RIN.RU](https://cs.rin.ru/forum) - Game piracy forum / Registration
required / [Enhancement mod](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) / Password: `cs.rin.ru`
required /
[Enhancement mod](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) /
Password: `cs.rin.ru`
### Torrent sites
- [🌟 johncena141](https://1337x.to/user/johncena141/) - Linux games
- [🌟 RuTracker](https://rutracker.org/forum/viewforum.php?f=899) - Linux games /
[Translator](useful.md#translator)
- [🌟 RuTracker](https://rutracker.org/forum/viewforum.php?f=899) - Linux games
/ [Translator](useful.md#translator)
## Software
### Launchers
- [🌟 Lutris](https://lutris.net) - Game launcher
- [🌟 Heroic Games Launcher](https://heroicgameslauncher.com) - Epic, GOG, and Amazon Prime Games
launcher
- [🌟 Heroic Games Launcher](https://heroicgameslauncher.com) - Epic, GOG, and
Amazon Prime Games launcher
- [Minigalaxy](https://sharkwouter.github.io/minigalaxy) - GOG client
- [Bottles](https://usebottles.com) - Windows software manager
### Tools
- [MangoHud](https://github.com/flightlessmango/MangoHud) - Overlay for monitoring
performance / [GUI](https://github.com/benjamimgois/goverlay)
- [MangoHud](https://github.com/flightlessmango/MangoHud) - Overlay for
monitoring performance / [GUI](https://github.com/benjamimgois/goverlay)
- [ProtonUp-Qt](https://github.com/DavidoTek/ProtonUp-Qt) - Proton-GE manager
- [Winetricks](https://github.com/Winetricks/winetricks) - Wine fixes & tweaks
## Guides
- [🌟 Linux Gaming Wiki](https://linux-gaming.kwindu.eu/index.php)
- [🌟
Installing repacks with Lutris](https://www.reddit.com/r/LinuxCrackSupport/comments/yqfirv/how_to_install_fitgirl_or_dodi_windows_repacks_in) / [Fix for DLL errors](https://reddit.com/r/LinuxCrackSupport/comments/tirarp/psa_when_installing_repacks_with_custom_wine)
- [🌟 Installing repacks with Lutris](https://www.reddit.com/r/LinuxCrackSupport/comments/yqfirv/how_to_install_fitgirl_or_dodi_windows_repacks_in)
/
[Fix for DLL errors](https://reddit.com/r/LinuxCrackSupport/comments/tirarp/psa_when_installing_repacks_with_custom_wine)
::: info
It's recommended to get games from DODI over FitGirl.
:::
## Related Subreddits

View File

@ -1,33 +1,52 @@
---
title: Software
description: Software to enhance your piracy experience.
---
# Software
Software to enhance your piracy experience.
## Download managers
- [🌟 Internet Download Manager](https://www.internetdownloadmanager.com) / [Crack](https://cracksurl.com/internet-download-manager) & [instructions](https://rentry.org/installidm) / [Activation script](https://github.com/lstprjct/IDM-Activation-Script) / [Trial reset](https://github.com/J2TEAM/idm-trial-reset) / [IDMHelper](https://github.com/unamer/IDMHelper)
- [🌟 Internet Download Manager](https://www.internetdownloadmanager.com) /
[Crack](https://cracksurl.com/internet-download-manager) &
[instructions](https://rentry.org/installidm) /
[Activation script](https://github.com/lstprjct/IDM-Activation-Script) /
[Trial reset](https://github.com/J2TEAM/idm-trial-reset) /
[IDMHelper](https://github.com/unamer/IDMHelper)
- [🌟 JDownloader](https://jdownloader.org/jdownloader2) - Detects most file
hosts / [Enhancement guide](https://lemmy.world/post/3098414) / [Offline CAPTCHA solver](https://github.com/cracker0dks/CaptchaSolver) / [Dark theme](https://support.jdownloader.org/Knowledgebase/Article/View/dark-mode-theme)
hosts / [Enhancement guide](https://lemmy.world/post/3098414) /
[Offline CAPTCHA solver](https://github.com/cracker0dks/CaptchaSolver) /
[Dark theme](https://support.jdownloader.org/Knowledgebase/Article/View/dark-mode-theme)
- [🌟 Xtreme Download Manager](https://xtremedownloadmanager.com)
- [Gopeed](https://gopeed.com) / [Plugins](https://github.com/search?q=topic%3Agopeed-extension&type=repositories)
- [imFile](https://github.com/imfile-io/imfile-desktop) or [Motrix](https://motrix.app)
- [Aria2](https://aria2.github.io) - Terminal download
manager / [GUI](https://persepolisdm.github.io) / [Web UI](https://github.com/ziahamza/webui-aria2)
- [Free Download Manager](https://www.freedownloadmanager.org) / [Video downloader](https://github.com/meowcateatrat/elephant)
- [Gopeed](https://gopeed.com) /
[Plugins](https://github.com/search?q=topic%3Agopeed-extension&type=repositories)
- [imFile](https://github.com/imfile-io/imfile-desktop) or
[Motrix](https://motrix.app)
- [Aria2](https://aria2.github.io) - Terminal download manager /
[GUI](https://persepolisdm.github.io) /
[Web UI](https://github.com/ziahamza/webui-aria2)
- [Free Download Manager](https://www.freedownloadmanager.org) /
[Video downloader](https://github.com/meowcateatrat/elephant)
## Torrent clients
- [🌟 qBittorrent](https://www.qbittorrent.org) / [Enhanced edition](https://github.com/c0re100/qBittorrent-Enhanced-Edition) / [Dark theme](https://draculatheme.com/qbittorrent)
- [🌟 qBittorrent](https://www.qbittorrent.org) /
[Enhanced edition](https://github.com/c0re100/qBittorrent-Enhanced-Edition) /
[Dark theme](https://draculatheme.com/qbittorrent)
- [🌟 Deluge](https://dev.deluge-torrent.org)
- [🌟 Transmission](https://transmissionbt.com)
- [Motrix](https://motrix.app)
- [Tixati](https://tixati.com)
- [PicoTorrent](https://picotorrent.org)
- [BiglyBT](https://www.biglybt.com)
- [LibreTorrent](https://github.com/proninyaroslav/libretorrent) - Android devices
- [LibreTorrent](https://github.com/proninyaroslav/libretorrent) - Android
devices
## VPNs
::: danger
:::danger
**Tor Browser isn't a VPN, no protection for torrenting!**
:::

View File

@ -1,25 +1,34 @@
---
title: Unsafe
description: Things you should always avoid using.
---
## Untrusted sites and uploaders
# Unsafe
You can just use
the [FMHY Unsafe Sites/Software](https://fmhy.net/unsafesites) [adblock filter](https://windowsaurora.github.io/FMHYFilterlist/site/index.html)
on uBlacklist (more efficient) or uBlock Origin to block most of the sites mentioned here and more. Follow
[this guide](https://iorate.github.io/ublacklist/docs/advanced-features#subscription) to add the
custom filter to uBlacklist (put
Things you should always avoid using.
:::tip
You can just use the
[FMHY Unsafe Sites/Software](https://fmhy.net/unsafesites)
[adblock filter](https://windowsaurora.github.io/FMHYFilterlist/site/index.html)
on uBlacklist (more efficient) or uBlock Origin to block most of the sites
mentioned here and more. Follow
[this guide](https://iorate.github.io/ublacklist/docs/advanced-features#subscription)
to add the custom filter to uBlacklist (put
[this link](https://raw.githubusercontent.com/privateersclub/wiki/master/unsafe_uBlacklist.txt)
under "URL") and
[this guide](https://raw.githubusercontent.com/WindowsAurora/FMHYFilterlist/main/filterlist.txt)
to add it to uBlock Origin (use
[this](https://raw.githubusercontent.com/WindowsAurora/FMHYFilterlist/main/filterlist.txt) under
"Import…").
[this](https://raw.githubusercontent.com/WindowsAurora/FMHYFilterlist/main/filterlist.txt)
under "Import…").
:::
:::danger
**SCENE GROUPS HAVE NO SITES!
Sites with a Scene group name in the URL are fake.
Also beware the [fake 1337x sites](https://redd.it/117fq8t) and [fake Z-Lib sites](https://redd.it/16xtm67).**
## Untrusted sites and uploaders
:::danger
**SCENE GROUPS HAVE NO SITES! Sites with a Scene group name in the URL
are fake. Also beware the [fake 1337x sites](https://redd.it/117fq8t) and
[fake Z-Lib sites](https://redd.it/16xtm67).**
:::
- AGFY - Scam links
@ -27,11 +36,13 @@ Also beware the [fake 1337x sites](https://redd.it/117fq8t) and [fake Z-Lib site
- AliPak/AliTPB/b4tman - Constantly caught with malware.
- AllPCWorld - Uploaded KMS Matrix, a known malware.
- anr285
- AppValley/Ignition/TutuBox - [DDoS attacks](https://github.com/nbats/FMHYedit/pull/307) history.
- AppValley/Ignition/TutuBox -
[DDoS attacks](https://github.com/fmhy/FMHYedit/pull/307) history.
- ApunKaGames
- BBRepacks - Caught with malware.
- Corepack - Stolen releases and has been caught with malware.
- CNET/Download.com/Softonic/ZDNET - [Adware](https://www.reddit.com/r/software/comments/9s7wyb/whats_the_deal_with_sites_like_cnet_softonic_and/e8mtye9)
- CNET/Download.com/Softonic/ZDNET -
[Adware](https://www.reddit.com/r/software/comments/9s7wyb/whats_the_deal_with_sites_like_cnet_softonic_and/e8mtye9)
history.
- CracksHash - Caught with [malware](https://redd.it/lklst7).
- Crohasit - Is affiliated to SteamUnlocked owners.
@ -43,24 +54,26 @@ Also beware the [fake 1337x sites](https://redd.it/117fq8t) and [fake Z-Lib site
- GameFabrique - IGG Games uploads and
[adware installers](https://www.reddit.com/r/FREEMEDIAHECKYEAH/comments/10bh0h9/unsafe_sites_software_thread/jhi7u0h).
- GetIntoMac/GetIntoPC - Constantly caught with malware.
- GOG Unlocked/RomsUnlocked/SteamUnlocked - [IGG Games and nosTEAM](https://i.ibb.co/VgW2ymY/YUnRNpN.png) uploads,
malicious
redirect ads, and slow downloads.
- `GOG`/`Roms`/`Steam` Unlocked -
[IGG Games and nosTEAM](https://i.ibb.co/VgW2ymY/YUnRNpN.png) uploads,
malicious redirect ads, and slow downloads.
- haxNode
- IGG Games/GamesTorrents/LoadGames/PCGamesTorrents - Doxed mercs213 (Good Old Downloads owner), exploits you for ad
revenue, and
puts its own DRM, crypto miner, and malware in games.
- `IGG Games/GamesTorrents/LoadGames/PCGamesTorrents` - Doxed mercs213 (Good Old
Downloads owner), exploits you for ad revenue, and puts its own DRM, crypto
miner, and malware in games.
- IGI30 - Caught with malware.
- KaranPC - Constantly caught with malware.
- KickassTorrents - Long-dead, what is left are sketchy copycats.
- MainRepo/MRepo (unrelated to the Magisk module MRepo) - Caught with [malware](https://rentry.co/zu3i6).
- NexusGames, Steam-Repacks, Unlocked-Games, World of PC Games - Caught with malware.
- MainRepo/MRepo (unrelated to the Magisk module MRepo) - Caught with
[malware](https://rentry.co/zu3i6).
- NexusGames, Steam-Repacks, Unlocked-Games, World of PC Games - Caught with
malware.
- nosTEAM - Caught with crypto miners and has malware risk.
- Ocean of Games/Ocean of APKs - Constantly caught with malware.
- Qoob/Seyter - Caught with crypto miners.
- Repack-Games - Mislabels games and steals releases.
- RSLoad - Uploaded the same MalwareBytes version that troubled FileCR and
has [malware in μTorrent](https://i.ibb.co/QXrCfqQ/Untitled.png).
- RSLoad - Uploaded the same MalwareBytes version that troubled FileCR and has
[malware in μTorrent](https://i.ibb.co/QXrCfqQ/Untitled.png).
- SadeemAPK/SadeemPC - Constantly caught with malware.
- The Pirate Bay - High malware risk due to no moderation.
- VitaminX - Caught with crypto miners.
@ -70,8 +83,8 @@ Also beware the [fake 1337x sites](https://redd.it/117fq8t) and [fake Z-Lib site
## Unsafe software
::: info
[Fake Windows activators](https://pastebin.com/gCmWs2GR)
:::tip
[Read this Pastebin about Fake Windows activators.](https://pastebin.com/gCmWs2GR)
:::
- μTorrent - Has ads, trackers, and
@ -81,24 +94,29 @@ Also beware the [fake 1337x sites](https://redd.it/117fq8t) and [fake Z-Lib site
- BitComet/BitTorrent - Adware
- BitLord -
[Adware](https://www.virustotal.com/gui/file/3ad1aed8bd704152157ac92afed1c51e60f205fbdce1365bad8eb9b3a69544d0)
- Bluecord/BlueKik - History of [spam](https://redd.it/12h2v6n) and [spying](https://rentry.co/tvrnw).
- CyberGhost/ExpressVPN/Private Internet Access/ZenMate - [Owned](https://rentry.co/i8dwr) by
[Kape](https://www.reddit.com/q3lepv).
- Bluecord/BlueKik - History of [spam](https://redd.it/12h2v6n) and
[spying](https://rentry.co/tvrnw).
- CyberGhost/ExpressVPN/Private Internet Access/ZenMate -
[Owned](https://rentry.co/i8dwr) by [Kape](https://www.reddit.com/q3lepv).
- Downloadly (video downloader) - Caught with crypto miners.
- FrostWire -
[Adware](https://www.virustotal.com/gui/file/f20d66b647f15a5cd5f590b3065a1ef2bcd9dad307478437766640f16d416bbf/detection)
- GShade - Can trigger unwanted
[reboots](https://rentry.co/GShade_notice).
- GShade - Can trigger unwanted [reboots](https://rentry.co/GShade_notice).
- Kik - Widely used by [predators and scammers](https://youtu.be/9sPaJxRmIPc).
- KLauncher - Contains malware.
- Limewire - Long-dead, anything claiming to be them now should be avoided.
- McAfee - Installs bloatware.
- Opera (
browsers) - [very](https://www.kuketz-blog.de/opera-datensendeverhalten-desktop-version-browser-check-teil13) [bad](https://rentry.co/operagx)
privacy policies, besides [predatory](https://www.androidpolice.com/2020/01/21/opera-predatory-loans) loan apps.
- PCProtect/Protected/TotalAV - Antivirus
scams ([1](https://www.malwarebytes.com/blog/detections/pup-optional-pcprotect), [2](https://youtu.be/PcS3EozgyhI), [3](https://www.malwarebytes.com/blog/detections/pup-optional-totalav)).
- PolyMC - Owner [kicked all members](https://www.reddit.com/y6lt6s) from Discord server and
repository.
- TLauncher (unrelated to TLauncher Legacy) - [Shady](https://www.reddit.com/zmzzrt) business practices.
- VSTorrent - Caught with [malware](https://redd.it/x66rz2).
- Opera ( browsers) -
[very](https://www.kuketz-blog.de/opera-datensendeverhalten-desktop-version-browser-check-teil13)
[bad](https://rentry.co/operagx) privacy policies, besides
[predatory](https://www.androidpolice.com/2020/01/21/opera-predatory-loans)
loan apps.
- PCProtect/Protected/TotalAV - Antivirus scams
([1](https://www.malwarebytes.com/blog/detections/pup-optional-pcprotect),
[2](https://youtu.be/PcS3EozgyhI),
[3](https://www.malwarebytes.com/blog/detections/pup-optional-totalav)).
- PolyMC - Owner [kicked all members](https://www.reddit.com/y6lt6s) from
Discord server and repository. Use PrismLauncher.
- TLauncher (unrelated to TLauncher Legacy) -
[Shady](https://www.reddit.com/zmzzrt) business practices. Use PrismLauncher.
- VSTorrent - Caught with [malware](https://redd.it/x66rz2).

View File

@ -1,11 +1,16 @@
---
title: Useful
description: Essential tools, sites, components that are worth using.
---
# Useful
Essential tools, sites, components that are worth using.
## Required components
Install all before downloading games (legitimate or pirated) to avoid crashes from missing software
on your computer:
Install all before downloading games (legitimate or pirated) to avoid crashes
from missing software on your computer:
- [DirectX](https://www.microsoft.com/download/details.aspx?id=35)
- [VisualCppRedist AIO](https://github.com/abbodi1406/vcredist/releases/latest)
@ -14,66 +19,81 @@ on your computer:
## Tools
:::tip
:exclamation: See [RIN SteamInternals](https://cs.rin.ru/forum/viewtopic.php?f=10&t=65887)
and [A Collection of Steam Tools](https://steamcommunity.com/sharedfiles/filedetails/?id=451698754) for more Steam tools.
:exclamation: See
[RIN SteamInternals](https://cs.rin.ru/forum/viewtopic.php?f=10&t=65887) and
[A Collection of Steam Tools](https://steamcommunity.com/sharedfiles/filedetails/?id=451698754)
for more Steam tools.
:::
- [🌟 CreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=29&t=70576) - Legitimate Steam game DLC
unlocker / [Automatic setup](https://cs.rin.ru/forum/viewtopic.php?p=2013521) / [Automatic installation](https://github.com/pointfeev/CreamInstaller)
- [Koalageddon](https://github.com/acidicoala/Koalageddon) - Steam, Epic Games Store, EA clients,
& Uplay DLC unlocker
- [Goldberg Steam Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=91627) - Steam
emulator / [GUI](https://cs.rin.ru/forum/viewtopic.php?f=29&t=111152)
- [Steamless](https://github.com/atom0s/Steamless) - SteamStub DRM
remover / [Automatic cracker](https://github.com/oureveryday/Steam-auto-crack) / [Guide](https://rentry.co/goldberg_emulator)
- [Auto SteamFix Tool](https://cs.rin.ru/forum/viewtopic.php?f=29&t=97112) - Automatic Steamworks
fix creator
- [DreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=10&t=111520) - Epic Games Store & EA clients
DLC unlocker
- [ScreamAPI](https://github.com/acidicoala/ScreamAPI) - Epic Games Store DLC unlocker
- [EA DLC Unlocker](https://cs.rin.ru/forum/viewtopic.php?f=20&t=104412) - EA clients DLC unlocker
- [Nemirtingas Epic Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=105551) - Epic Online
Services emulator
- [LumaPlay](https://cs.rin.ru/forum/viewtopic.php?f=29&t=67197) - Uplay emulator
- [Online Fix](https://online-fix.me) - Allows playing pirated games online with other pirated
games / Password: `online-fix.me`
- [WorkshopDL](https://github.com/imwaitingnow/WorkshopDL) - Steam Workshop downloader
- [Sims 4 Updater](https://cs.rin.ru/forum/viewtopic.php?f=29&t=102519) - Pirated The Sims 4 version
updater
- [Plutonium](https://plutonium.pw) - Dedicated Call of Duty servers, with mod support & extended features.
- [Lucky Patcher](https://www.luckypatchers.com) - Android apps patcher (better with root)
- [🌟 CreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=29&t=70576) - Legitimate
Steam game DLC unlocker /
[Automatic setup](https://cs.rin.ru/forum/viewtopic.php?p=2013521) /
[Automatic installation](https://github.com/pointfeev/CreamInstaller)
- [Koalageddon](https://github.com/acidicoala/Koalageddon) - Steam, Epic Games
Store, EA clients, & Uplay DLC unlocker
- [Goldberg Steam Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=91627) -
Steam emulator / [GUI](https://cs.rin.ru/forum/viewtopic.php?f=29&t=111152)
- [Steamless](https://github.com/atom0s/Steamless) - SteamStub DRM remover /
[Automatic cracker](https://github.com/oureveryday/Steam-auto-crack) /
[Guide](https://rentry.co/goldberg_emulator)
- [Auto SteamFix Tool](https://cs.rin.ru/forum/viewtopic.php?f=29&t=97112) -
Automatic Steamworks fix creator
- [DreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=10&t=111520) - Epic Games
Store & EA clients DLC unlocker
- [ScreamAPI](https://github.com/acidicoala/ScreamAPI) - Epic Games Store DLC
unlocker
- [EA DLC Unlocker](https://cs.rin.ru/forum/viewtopic.php?f=20&t=104412) - EA
clients DLC unlocker
- [Nemirtingas Epic Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=105551) -
Epic Online Services emulator
- [LumaPlay](https://cs.rin.ru/forum/viewtopic.php?f=29&t=67197) - Uplay
emulator
- [Online Fix](https://online-fix.me) - Allows playing pirated games online with
other pirated games / Password: `online-fix.me`
- [WorkshopDL](https://github.com/imwaitingnow/WorkshopDL) - Steam Workshop
downloader
- [Sims 4 Updater](https://cs.rin.ru/forum/viewtopic.php?f=29&t=102519) -
Pirated The Sims 4 version updater
- [Plutonium](https://plutonium.pw) - Dedicated Call of Duty servers, with mod
support & extended features.
- [Lucky Patcher](https://www.luckypatchers.com) - Android apps patcher (better
with root)
## Useful software
## Software
:::tip
Activate Microsoft products (Office & Windows) with
**[Microsoft Activation Scripts](https://github.com/massgravel/Microsoft-Activation-Scripts).**
Visit **[m0nkrus](https://w14.monkrus.ws)** for Adobe products. For the rest,
visit [LRepacks](https://lrepacks.net), [CRACKSurl](https://cracksurl.com)
or [GameBounty](https://gamebounty.world/software).
:::tip Activate Microsoft products (Office & Windows) with **[Microsoft Activation Scripts](https://github.com/massgravel/Microsoft-Activation-Scripts).**
Visit **[m0nkrus](https://w14.monkrus.ws)** for Adobe products.
For the rest, visit [LRepacks](https://lrepacks.net),
[CRACKSurl](https://cracksurl.com) or
[GameBounty](https://gamebounty.world/software).
:::
- [7-Zip](https://7-zip.org) - File archiver
- [Bitwarden](https://bitwarden.com) - Open-source password manager
- [Tor Browser](https://www.torproject.org) - Private web browser that routes Internet traffic through a decentralized
network of volunteer-operated servers, making you hard to trace.
- [Achievement Watcher](https://xan105.github.io/Achievement-Watcher) - Achievement file parser with
auto-screenshot, playtime tracking, & real-time notification
- [Tor Browser](https://www.torproject.org) - Private web browser that routes
Internet traffic through a decentralized network of volunteer-operated
servers, making you hard to trace.
- [Achievement Watcher](https://xan105.github.io/Achievement-Watcher) -
Achievement file parser with auto-screenshot, playtime tracking, & real-time
notification
- [Parsec](https://parsec.app) - Low-latency game streaming software
- [RapidCRC](https://ov2.eu/programs/rapidcrc-unicode) - Checksum verifier & hash info generator
- [RapidCRC](https://ov2.eu/programs/rapidcrc-unicode) - Checksum verifier &
hash info generator
## Useful browser extensions
## Browser Extensions
- [uBlock Origin](https://ublockorigin.com) - Ad content
blocker / [yokoffing's recommendations](https://github.com/yokoffing/filterlists#recommended-filters-for-ublock-origin)
- [uBlock Origin](https://ublockorigin.com) - Ad content blocker /
[yokoffing's recommendations](https://github.com/yokoffing/filterlists#recommended-filters-for-ublock-origin)
- [uBlacklist](https://iorate.github.io/ublacklist/docs) - Search filter
- [Bypass All Shortlinks Debloated](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated) -
Link shorterners bypasser userscript - Needs one of the 3 extensions below
- [FireMonkey](https://addons.mozilla.org/firefox/addon/firemonkey) - Open-source userscript manager
for Firefox
- [Tampermonkey](https://www.tampermonkey.net) - Proprietary userscript manager for most browsers
- [ViolentMonkey](https://violentmonkey.github.io) - Open-source userscript manager for many
browsers
- [FireMonkey](https://addons.mozilla.org/firefox/addon/firemonkey) -
Open-source userscript manager for Firefox
- [Tampermonkey](https://www.tampermonkey.net) - Proprietary userscript manager
for most browsers
- [ViolentMonkey](https://violentmonkey.github.io) - Open-source userscript
manager for many browsers
<ul>
<li id="translator"><a href="https://github.com/FilipePS/Traduzir-paginas-web">Translate Web Pages</a>
@ -82,15 +102,17 @@ or [GameBounty](https://gamebounty.world/software).
</ul>
- [Firefox Multi-Account Containers](https://github.com/mozilla/multi-account-containers) -
Color-coded tabs in this tool keep your online life separated, preserving your privacy. Cookies
are containerized, allowing simultaneous use of multiple identities or accounts.
Color-coded tabs in this tool keep your online life separated, preserving your
privacy. Cookies are containerized, allowing simultaneous use of multiple
identities or accounts.
## Trainers (cheats)
Not for online games. No cheating in online games!
- [🌟 FLiNG Trainer](https://flingtrainer.com)
- [🌟 GameCopyWorld](https://gamecopyworld.com/games) - Also has crack-only and NoCD fixes.
- [🌟 GameCopyWorld](https://gamecopyworld.com/games) - Also has crack-only and
NoCD fixes.
- [WeMod](https://www.wemod.com)
- [MegaGames](https://megagames.com)
- [FearLess Cheat Engine](https://fearlessrevolution.com) - Cheat Engine tables
@ -98,7 +120,8 @@ Not for online games. No cheating in online games!
## Release trackers
No downloads provided. Sites have P2P/Scene release info. Check here to see if a game is cracked!
No downloads provided. Sites have P2P/Scene release info. Check here to see if a
game is cracked!
- [🌟 xREL](https://www.xrel.to/games-release-list.html?lang=en_US)
- [m2v.ru](https://m2v.ru/?func=part&Part=3)
@ -108,8 +131,8 @@ No downloads provided. Sites have P2P/Scene release info. Check here to see if a
- [PreDB.pw](https://predb.pw)
- [r/CrackWatch](https://www.reddit.com/r/CrackWatch)
- [r/RepackWatchers](https://www.reddit.com/r/RepackWatchers) - Repacks only
- [r/RepackWorld](https://www.reddit.com/r/RepackWorld) - Repacks
only / [r/PiratedGames](https://www.reddit.com/r/PiratedGames)' sister subreddit
- [r/RepackWorld](https://www.reddit.com/r/RepackWorld) - Repacks only /
[r/PiratedGames](https://www.reddit.com/r/PiratedGames)' sister subreddit
## Related subreddits

View File

@ -4,7 +4,7 @@
"type": "module",
"main": "index.js",
"scripts": {
"format": "prettier --log-level=warn --write docs/",
"format": "prettier --cache --write docs/",
"build": "pnpm run docs:build && pnpm run i18n:build",
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
@ -16,6 +16,9 @@
},
"license": "Unlicense",
"devDependencies": {
"@nolebase/vitepress-plugin-enhanced-readabilities": "^2.2.0",
"@nolebase/vitepress-plugin-git-changelog": "^2.2.0",
"@nolebase/vitepress-plugin-page-properties": "^2.2.0",
"@types/node": "^20.14.2",
"@types/nprogress": "^0.2.3",
"prettier": "^3.3.1",
@ -28,5 +31,6 @@
"unocss": "^0.60.4",
"vue": "^3.4.27",
"x-satori": "^0.1.5"
}
},
"packageManager": "pnpm@8.15.4+sha1.c85a4305534f76d461407b59277b954bac97b5c4"
}

File diff suppressed because it is too large Load Diff