mirror of
https://github.com/privateersclub/wiki.git
synced 2024-11-22 21:29:52 +00:00
Reformat all code and update more parts of the wiki
This commit is contained in:
parent
6ae92887e8
commit
73b3e86206
5
.github/assets/discord.svg
vendored
5
.github/assets/discord.svg
vendored
@ -1 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="#A1A1AA" d="M19.27 5.33C17.94 4.71 16.5 4.26 15 4a.09.09 0 0 0-.07.03c-.18.33-.39.76-.53 1.09a16.09 16.09 0 0 0-4.8 0c-.14-.34-.35-.76-.54-1.09c-.01-.02-.04-.03-.07-.03c-1.5.26-2.93.71-4.27 1.33c-.01 0-.02.01-.03.02c-2.72 4.07-3.47 8.03-3.1 11.95c0 .02.01.04.03.05c1.8 1.32 3.53 2.12 5.24 2.65c.03.01.06 0 .07-.02c.4-.55.76-1.13 1.07-1.74c.02-.04 0-.08-.04-.09c-.57-.22-1.11-.48-1.64-.78c-.04-.02-.04-.08-.01-.11c.11-.08.22-.17.33-.25c.02-.02.05-.02.07-.01c3.44 1.57 7.15 1.57 10.55 0c.02-.01.05-.01.07.01c.11.09.22.17.33.26c.04.03.04.09-.01.11c-.52.31-1.07.56-1.64.78c-.04.01-.05.06-.04.09c.32.61.68 1.19 1.07 1.74c.03.01.06.02.09.01c1.72-.53 3.45-1.33 5.25-2.65c.02-.01.03-.03.03-.05c.44-4.53-.73-8.46-3.1-11.95c-.01-.01-.02-.02-.04-.02zM8.52 14.91c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.84 2.12-1.89 2.12zm6.97 0c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.83 2.12-1.89 2.12z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24">
|
||||
<path fill="#A1A1AA"
|
||||
d="M19.27 5.33C17.94 4.71 16.5 4.26 15 4a.09.09 0 0 0-.07.03c-.18.33-.39.76-.53 1.09a16.09 16.09 0 0 0-4.8 0c-.14-.34-.35-.76-.54-1.09c-.01-.02-.04-.03-.07-.03c-1.5.26-2.93.71-4.27 1.33c-.01 0-.02.01-.03.02c-2.72 4.07-3.47 8.03-3.1 11.95c0 .02.01.04.03.05c1.8 1.32 3.53 2.12 5.24 2.65c.03.01.06 0 .07-.02c.4-.55.76-1.13 1.07-1.74c.02-.04 0-.08-.04-.09c-.57-.22-1.11-.48-1.64-.78c-.04-.02-.04-.08-.01-.11c.11-.08.22-.17.33-.25c.02-.02.05-.02.07-.01c3.44 1.57 7.15 1.57 10.55 0c.02-.01.05-.01.07.01c.11.09.22.17.33.26c.04.03.04.09-.01.11c-.52.31-1.07.56-1.64.78c-.04.01-.05.06-.04.09c.32.61.68 1.19 1.07 1.74c.03.01.06.02.09.01c1.72-.53 3.45-1.33 5.25-2.65c.02-.01.03-.03.03-.05c.44-4.53-.73-8.46-3.1-11.95c-.01-.01-.02-.02-.04-.02zM8.52 14.91c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.84 2.12-1.89 2.12zm6.97 0c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.83 2.12-1.89 2.12z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
5
.github/assets/github.svg
vendored
5
.github/assets/github.svg
vendored
@ -1 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path fill="#A1A1AA" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24">
|
||||
<path fill="#A1A1AA"
|
||||
d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 682 B After Width: | Height: | Size: 698 B |
4
.github/workflows/deploy.yml
vendored
4
.github/workflows/deploy.yml
vendored
@ -1,5 +1,5 @@
|
||||
name: Deploy
|
||||
on: [push]
|
||||
on: [ push ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -9,7 +9,7 @@ jobs:
|
||||
deployments: write
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20]
|
||||
node-version: [ 20 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
6
.github/workflows/lunaria.yml
vendored
6
.github/workflows/lunaria.yml
vendored
@ -2,8 +2,8 @@ name: Lunaria
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize]
|
||||
branches: [master]
|
||||
types: [ opened, synchronize ]
|
||||
branches: [ master ]
|
||||
|
||||
# Allow this job to clone the repository and comment on the pull request
|
||||
permissions:
|
||||
@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [20]
|
||||
node-version: [ 20 ]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
@ -10,7 +10,7 @@ You can contribute to the project in various ways:
|
||||
For site generation, we use [Vitepress](https://vitepress.dev), so you'll need a working Node.js
|
||||
environment installed. Refer to its documentation for making changes to Vitepress itself.
|
||||
|
||||
You will also need some hands-on experience with TypeScript if you're going to contribute to
|
||||
You will also need some hands-on experience with TypeScript if you're going to contribute to
|
||||
improving internals.
|
||||
|
||||
The root directory is `docs/`.
|
||||
|
@ -4,17 +4,17 @@ import {enLocale} from "./locales/en-us";
|
||||
import {brLocale} from "./locales/pt-br";
|
||||
|
||||
export default defineConfig({
|
||||
...sharedConfig,
|
||||
locales: {
|
||||
root: {
|
||||
label: "English",
|
||||
lang: "en",
|
||||
...enLocale,
|
||||
...sharedConfig,
|
||||
locales: {
|
||||
root: {
|
||||
label: "English",
|
||||
lang: "en",
|
||||
...enLocale,
|
||||
},
|
||||
br: {
|
||||
label: "Brazilian Portuguese",
|
||||
lang: "br",
|
||||
...brLocale,
|
||||
},
|
||||
},
|
||||
br: {
|
||||
label: "Brazilian Portuguese",
|
||||
lang: "br",
|
||||
...brLocale,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
@ -1,11 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
<script lang="ts" setup>
|
||||
defineProps<{ title: string; description?: string }>();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
tw="w-full h-full bg-black flex flex-col"
|
||||
style="
|
||||
style="
|
||||
background-image: linear-gradient(
|
||||
43deg,
|
||||
#c6f6d5 1%,
|
||||
@ -27,9 +26,10 @@ defineProps<{ title: string; description?: string }>();
|
||||
#22543d 97%
|
||||
);
|
||||
"
|
||||
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 tw="shrink-0 h-4 w-full flex" style="background-color: #adf0dd" />
|
||||
<div style="background-color: #adf0dd" tw="shrink-0 h-4 w-full flex"/>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -1,100 +1,100 @@
|
||||
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")}`;
|
||||
|
||||
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(/^\//, "");
|
||||
const url = `${hostname}/${pageData.relativePath.replace(/((^|\/)index)?\.md$/, "$2")}`;
|
||||
|
||||
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 },
|
||||
],
|
||||
["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.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(),
|
||||
},
|
||||
]);
|
||||
}
|
||||
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(/^\//, "");
|
||||
|
||||
return head;
|
||||
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;
|
||||
}
|
||||
|
@ -10,89 +10,89 @@ 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",
|
||||
},
|
||||
];
|
||||
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,
|
||||
});
|
||||
}
|
||||
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());
|
||||
}
|
||||
|
@ -8,40 +8,40 @@ 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",
|
||||
},
|
||||
{
|
||||
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",
|
||||
},
|
||||
});
|
||||
|
@ -1,27 +1,27 @@
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -1,27 +1,27 @@
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -2,39 +2,39 @@ import {defineConfig} from "vitepress";
|
||||
import UnoCSS from "unocss/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: {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",
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
|
@ -2,22 +2,22 @@ import nprogress, {type NProgress} from "nprogress";
|
||||
import type {EnhanceAppContext} from "vitepress";
|
||||
|
||||
export function loadProgress(router: EnhanceAppContext["router"]): NProgress {
|
||||
if (typeof window === "undefined") return;
|
||||
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;
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ import "./style.css";
|
||||
import "uno.css";
|
||||
|
||||
export default {
|
||||
extends: DefaultTheme,
|
||||
enhanceApp({ router }) {
|
||||
loadProgress(router);
|
||||
},
|
||||
extends: DefaultTheme,
|
||||
enhanceApp({router}) {
|
||||
loadProgress(router);
|
||||
},
|
||||
} satisfies Theme;
|
||||
|
@ -1,177 +1,176 @@
|
||||
: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);
|
||||
}
|
||||
}
|
||||
|
4
docs/.vitepress/vue-shim.d.ts
vendored
4
docs/.vitepress/vue-shim.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
/* eslint-disable ts/consistent-type-imports */
|
||||
declare module "*.vue" {
|
||||
const component: import("vue").Component;
|
||||
export default component;
|
||||
const component: import("vue").Component;
|
||||
export default component;
|
||||
}
|
||||
|
@ -10,19 +10,17 @@ alguns países da UE). Veja a
|
||||
[seção de gerenciadores de downloads](software.md#gerenciadores-de-downloads) para obter ajuda no
|
||||
gerenciamento de seus downloads.
|
||||
|
||||
- [🌟 CS.RIN.RU](https://cs.rin.ru/forum) - Fórum de arquivos da Steam - Registro obrigatório
|
||||
- O [CS.RIN.RU Enhanced](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) é recomendado.
|
||||
- Senha: `cs.rin.ru`
|
||||
- [🌟 CS.RIN.RU](https://cs.rin.ru/forum) - Fórum de pirataria de jogos / Registro
|
||||
obrigatório / [Mod de aprimoramento](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) / Senha: `cs.rin.ru`
|
||||
- [🌟 SteamRIP](https://steamrip.com) - Jogos da Steam
|
||||
- [🌟 GOG Games](https://gog-games.to) - Jogos da GOG
|
||||
- [🌟 GamesDrive](https://gamesdrive.net)
|
||||
- [Game-2U](https://game-2u.com/Category/game/pc)
|
||||
- [Ova Games](https://www.ovagames.com)
|
||||
- Senha: `www.ovagames.com`
|
||||
- [Ova Games](https://www.ovagames.com) / Senha: `www.ovagames.com`
|
||||
- [GLOAD](https://gload.to/pc) - Lançamentos da Cena e P2P
|
||||
- [GameDrive](https://gamedrive.org)
|
||||
- [Torrminatorr](https://forum.torrminatorr.com) - Fórum de jogos da GOG e Linux e
|
||||
lançamentos da Cena - Registro obrigatório
|
||||
- [Torrminatorr](https://forum.torrminatorr.com) - Fórum de jogos da GOG, Linux e
|
||||
lançamentos da Cena / Registro obrigatório
|
||||
- [ReleaseBB](https://rlsbb.ru/category/games/pc) - Lançamentos da Cena e P2P
|
||||
- [Games 4 You](https://g4u.to) - Downloads lentos para usuários grátis.
|
||||
- Senha: `404`
|
||||
@ -52,7 +50,8 @@ gerenciamento de seus downloads.
|
||||
- [Software Library: MS-DOS Games](https://archive.org/details/softwarelibrary_msdos_games?and[]=mediatype%3A%22software%22) -
|
||||
Jogos de MS-DOS
|
||||
- [Prism Launcher](https://prismlauncher.org) - Minecraft
|
||||
- Use o [contorno offline](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass) para jogar sem uma conta legítima.
|
||||
- Use o [contorno offline](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass) para jogar sem uma
|
||||
conta legítima.
|
||||
- [Moriya Shrine](https://moriyashrine.org) - Touhou
|
||||
|
||||
## Sites de torrents
|
||||
@ -61,7 +60,7 @@ Torrents são downloads P2P de outros usuários, sem servidores. Você precisar
|
||||
torrentear com segurança e evitar avisos de copyright do seu provedor, a menos que seu país tolere
|
||||
pirataria. Veja a [seção de VPNs](software.md#vpns) para mais informações.
|
||||
|
||||
- [🌟 1337x](https://1337x.to/sub/10/0/) / [Uploaders seguros](https://www.reddit.com/r/Piracy/comments/nudfgn/me_after_reading_the_megathread/h0yr0q6/?context=3) /
|
||||
- [🌟 1337x](https://1337x.to/sub/10/0/) / [Uploaders seguros (exceto 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)
|
||||
@ -80,11 +79,10 @@ devido à descompressão de arquivos.
|
||||
|
||||
- [🌟 DODI Repacks](https://dodi-repacks.site)
|
||||
- [🌟 FitGirl Repacks](https://fitgirl-repacks.site)
|
||||
- [🌟 ElAmigos](https://elamigos.site) - Downloads lentos para usuários gratuitos; use os espelhos do
|
||||
GameDrive, GLOAD ou do Ova Games em vez disso.
|
||||
- [🌟 ElAmigos](https://elamigos.site) - Use os espelhos do
|
||||
GameDrive, GLOAD ou do Ova Games para downloads rápidos grátis.
|
||||
- [🌟 KaOsKrew](https://kaoskrew.org/viewforum.php?f=13&sid=c2dac73979171b67f4c8b70c9c4c72fb)
|
||||
- [Chovka](http://rutor.info/browse/0/8/1642915/0) - Também achado no
|
||||
[Repack.info](https://repack.info).
|
||||
- [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)
|
||||
@ -95,7 +93,7 @@ devido à descompressão de arquivos.
|
||||
- [ZAZIX](https://1337x.to/user/ZAZIX/)
|
||||
- [Gnarly Repacks](https://gnarly-repacks.site) - Jogos de console emulados
|
||||
- [KAPITALSIN](https://kapitalsin.com/forum) - Fórum de repacks com perdas (qualidade mais baixa e/ou
|
||||
arquivos removidos) - [Tradutor](useful.md#translator)
|
||||
arquivos removidos) / [Tradutor](useful.md#translator)
|
||||
- [M4CKD0GE Repacks](https://m4ckd0ge-repacks.site)
|
||||
- [MagiPack Games](https://www.magipack.games) - Jogos antigos
|
||||
- [The Collection Chamber](https://collectionchamber.blogspot.com) - Jogos antigos
|
||||
|
@ -25,9 +25,12 @@ title: Emulação
|
||||
mais.
|
||||
:::
|
||||
|
||||
- [RetroArch](https://retroarch.com) - Jogos de múltiplos consoles - Evite os núcleos do melonDS, PPSSPP, Dolphin e Citra.
|
||||
- [Ares](https://ares-emu.net) - Jogos de múltiplos consoles - Evite os núcleos de Neo Geo, PlayStation 1 e Game Boy Advance.
|
||||
- [Ryujinx](https://ryujinx.org) / [Torzu](https://github.com/litucks/torzu) ([Android](https://github.com/sudachi-emu/sudachi)) - Jogos de Nintendo Switch
|
||||
- [RetroArch](https://retroarch.com) - Jogos de múltiplos consoles - Evite os núcleos do melonDS, PPSSPP, Dolphin e
|
||||
Citra.
|
||||
- [Ares](https://ares-emu.net) - Jogos de múltiplos consoles - Evite os núcleos de Neo Geo, PlayStation 1 e Game Boy
|
||||
Advance.
|
||||
- [Ryujinx](https://ryujinx.org) / [Torzu](https://github.com/litucks/torzu) ([Android](https://github.com/sudachi-emu/sudachi)) -
|
||||
Jogos de Nintendo Switch
|
||||
- [Cemu](https://cemu.info) - Jogos de Wii U
|
||||
- [Vita3K](https://vita3k.org) - Jogos de PlayStation Vita
|
||||
- [Lime3DS](https://github.com/Lime3DS/Lime3DS) - Jogos de
|
||||
@ -44,7 +47,8 @@ mais.
|
||||
- [PCSX2](https://pcsx2.net) - Jogos de PlayStation 2
|
||||
- [Parallel Launcher](https://parallel-launcher.ca) - Jogos de Nintendo 64
|
||||
- [DuckStation](https://www.duckstation.org) - Jogos de PlayStation 1
|
||||
- [bsnes](https://github.com/bsnes-emu/bsnes) / [Snes9x](https://www.snes9x.com) - Jogos de Super Nintendo Entertainment System
|
||||
- [bsnes](https://github.com/bsnes-emu/bsnes) / [Snes9x](https://www.snes9x.com) - Jogos de Super Nintendo Entertainment
|
||||
System
|
||||
|
||||
## Subreddits relacionados
|
||||
|
||||
|
@ -40,16 +40,21 @@ precisar de ajuda.
|
||||
Instale o [**uBlock Origin**](https://ublockorigin.com) no seu navegador e pronto! Se você quiser
|
||||
uma solução para todo o sistema, você _pode_ usar o [**NextDNS**](https://nextdns.io), mas ele não
|
||||
será tão efetivo quanto o uBlock Origin. Você também pode usar o
|
||||
[Bypass All Shortlinks](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated) ou o [Bypass.city](https://bypass.city) para _contornar_
|
||||
[Bypass All Shortlinks](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated) ou
|
||||
o [Bypass.city](https://bypass.city) para _contornar_
|
||||
redirecionamentos.
|
||||
|
||||
### iOS
|
||||
|
||||
O [**NextDNS**](https://nextdns.io) deve cobrir tudo para bloqueio de anúncios e rastreadores no sistema todo. Você também pode experimenar o [**AhaDNS**](https://ahadns.com).
|
||||
O [**NextDNS**](https://nextdns.io) deve cobrir tudo para bloqueio de anúncios e rastreadores no sistema todo. Você
|
||||
também pode experimenar o [**AhaDNS**](https://ahadns.com).
|
||||
:::
|
||||
|
||||
::: tip Eu preciso de uma VPN ao baixar?
|
||||
A necessidade de usar uma VPN depende do método de download. Para downloads diretos, uma VPN é geralmente desnecessária. Porém, se você está interagindo com atividades ponto a ponto (P2P) como torrents, é aconselhável usar uma VPN para maior segurança e privacidade. Além disso, as ramificações legais em sua área tem um papel crucial; se as consequências forem brandas, vocẽ pode optar por não usar uma VPN.
|
||||
A necessidade de usar uma VPN depende do método de download. Para downloads diretos, uma VPN é geralmente desnecessária.
|
||||
Porém, se você está interagindo com atividades ponto a ponto (P2P) como torrents, é aconselhável usar uma VPN para maior
|
||||
segurança e privacidade. Além disso, as ramificações legais em sua área tem um papel crucial; se as consequências forem
|
||||
brandas, vocẽ pode optar por não usar uma VPN.
|
||||
:::
|
||||
|
||||
::: tip Por que o meu download é tão lento?
|
||||
|
@ -7,16 +7,16 @@ description: Tudo sobre pirataria no Linux.
|
||||
|
||||
### Sites de downloads diretos
|
||||
|
||||
- 🌟 [Torrminatorr](https://forum.torrminatorr.com/viewforum.php?f=26) -
|
||||
Fórum de pirataria de jogos
|
||||
- 🌟 [KAPITALSIN](https://kapitalsin.com/forum) - Jogos de Linux - [Tradutor](useful.md#translator)
|
||||
- 🌟 [CS.RIN.RU](https://cs.rin.ru/forum) - Fórum de pirataria de jogos
|
||||
- [Torrminatorr](https://forum.torrminatorr.com) - Fórum de jogos da GOG, Linux e
|
||||
lançamentos da Cena / Registro obrigatório
|
||||
- 🌟 [KAPITALSIN](https://kapitalsin.com/forum) - Jogos de Linux / [Tradutor](useful.md#translator)
|
||||
- [🌟 CS.RIN.RU](https://cs.rin.ru/forum) - Fórum de pirataria de jogos / Registro
|
||||
obrigatório / [Mod de aprimoramento](https://github.com/SubZeroPL/cs-rin-ru-enhanced-mod) / Senha: `cs.rin.ru`
|
||||
|
||||
### Sites de torrents
|
||||
|
||||
- 🌟 [johncena141](https://1337x.to/user/johncena141/) - Jogos de Linux
|
||||
- 🌟 [RuTracker](https://rutracker.org/forum/viewforum.php?f=899) - Jogos de Linux -
|
||||
[Tradutor](useful.md#translator)
|
||||
- 🌟 [RuTracker](https://rutracker.org/forum/viewforum.php?f=899) - Jogos de Linux / [Tradutor](useful.md#translator)
|
||||
|
||||
## Programas
|
||||
|
||||
@ -30,12 +30,7 @@ description: Tudo sobre pirataria no Linux.
|
||||
|
||||
### Ferramentas
|
||||
|
||||
::: info
|
||||
Todas as ferramentas são boas, destacadas com uma estrela ou não.
|
||||
:::
|
||||
|
||||
- [MangoHud](https://github.com/flightlessmango/MangoHud) - Sobreposição para monitoração de FPS,
|
||||
temperatura e mais.
|
||||
- [MangoHud](https://github.com/flightlessmango/MangoHud) - Sobreposição para monitoração de desempenho
|
||||
- [GUI](https://github.com/benjamimgois/goverlay)
|
||||
- [ProtonUp-Qt](https://github.com/DavidoTek/ProtonUp-Qt) - Gerenciador do Proton-GE
|
||||
- [Winetricks](https://github.com/Winetricks/winetricks) - Correções e ajustes do Wine
|
||||
|
@ -4,12 +4,15 @@ title: Programas
|
||||
|
||||
## Gerenciadores de downloads
|
||||
|
||||
- [🌟 Internet Download Manager](https://www.internetdownloadmanager.com) / [Crack](https://cracksurl.com/internet-download-manager) e [instruções](https://rentry.org/installidm) / [Script de ativação](https://github.com/lstprjct/IDM-Activation-Script) / [Reiniciador de avaliação](https://github.com/J2TEAM/idm-trial-reset) / [IDMHelper](https://github.com/unamer/IDMHelper)
|
||||
- [🌟 JDownloader](https://jdownloader.org/jdownloader2) - Detecta a maioria dos hospedeiros de arquivos / [Guia de aprimoramento](https://lemmy.world/post/3098414) / [Resolvedor offline de CAPTCHAs](https://github.com/cracker0dks/CaptchaSolver) / [Tema escuro](https://support.jdownloader.org/Knowledgebase/Article/View/dark-mode-theme)
|
||||
- [🌟 Internet Download Manager](https://www.internetdownloadmanager.com) / [Crack](https://cracksurl.com/internet-download-manager)
|
||||
e [instruções](https://rentry.org/installidm) / [Script de ativação](https://github.com/lstprjct/IDM-Activation-Script) / [Reiniciador de avaliação](https://github.com/J2TEAM/idm-trial-reset) / [IDMHelper](https://github.com/unamer/IDMHelper)
|
||||
- [🌟 JDownloader](https://jdownloader.org/jdownloader2) - Detecta a maioria dos hospedeiros de
|
||||
arquivos / [Guia de aprimoramento](https://lemmy.world/post/3098414) / [Resolvedor offline de CAPTCHAs](https://github.com/cracker0dks/CaptchaSolver) / [Tema escuro](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)
|
||||
- [Motrix](https://motrix.app)
|
||||
- [Aria2](https://aria2.github.io) - Gerenciador de downloads pelo terminal / [Interface gráfica](https://persepolisdm.github.io) / [Interface web](https://github.com/ziahamza/webui-aria2)
|
||||
- [Aria2](https://aria2.github.io) - Gerenciador de downloads pelo
|
||||
terminal / [Interface gráfica](https://persepolisdm.github.io) / [Interface web](https://github.com/ziahamza/webui-aria2)
|
||||
- [Free Download Manager](https://www.freedownloadmanager.org) / [Baixador de vídeos](https://github.com/meowcateatrat/elephant)
|
||||
|
||||
## Clientes de torrents
|
||||
|
@ -4,7 +4,8 @@ title: Não Seguro
|
||||
|
||||
## Sites e uploaders não seguros
|
||||
|
||||
Você pode só usar o [filtro de bloqueador de anúncios](https://windowsaurora.github.io/FMHYFilterlist/site/index.html) do [FMHY Unsafe Sites/Software](https://fmhy.net/unsafesites) no uBlacklist (mais
|
||||
Você pode só usar o [filtro de bloqueador de anúncios](https://windowsaurora.github.io/FMHYFilterlist/site/index.html)
|
||||
do [FMHY Unsafe Sites/Software](https://fmhy.net/unsafesites) no uBlacklist (mais
|
||||
eficiente) ou uBlock Origin para bloquear a maioria dos sites mencionados aqui e mais. Siga
|
||||
[este guia](https://iorate.github.io/ublacklist/docs/advanced-features#subscription) para adicionar
|
||||
o filtro customizado ao uBlacklist (ponha
|
||||
@ -28,7 +29,8 @@ para o adicionar ao uBlock Origin (use
|
||||
- ApunKaGames
|
||||
- BBRepacks - Pego com malware.
|
||||
- Corepack - Lançamentos roubados e pego com malware.
|
||||
- CNET/Download.com/Softonic/ZDNET - Histórico de [adware](https://www.reddit.com/r/software/comments/9s7wyb/whats_the_deal_with_sites_like_cnet_softonic_and/e8mtye9).
|
||||
- CNET/Download.com/Softonic/ZDNET - Histórico
|
||||
de [adware](https://www.reddit.com/r/software/comments/9s7wyb/whats_the_deal_with_sites_like_cnet_softonic_and/e8mtye9).
|
||||
- CracksHash - Pego com [malware](https://redd.it/lklst7).
|
||||
- Crohasit - É afiliado aos donos do SteamUnlocked.
|
||||
- cracked-games/GETGAMEZ - Pego com malware.
|
||||
@ -39,10 +41,13 @@ para o adicionar ao uBlock Origin (use
|
||||
- GameFabrique - Uploads do IGG Games e
|
||||
[instaladores adware](https://www.reddit.com/r/FREEMEDIAHECKYEAH/comments/10bh0h9/unsafe_sites_software_thread/jhi7u0h).
|
||||
- GetIntoMac/GetIntoPC - Constantemente pego com malware.
|
||||
- GOG Unlocked/RomsUnlocked/SteamUnlocked - Uploads [do IGG Games](https://i.ibb.co/VgW2ymY/YUnRNpN.png) e nosTEAM, anúncios de
|
||||
- GOG Unlocked/RomsUnlocked/SteamUnlocked - Uploads [do IGG Games](https://i.ibb.co/VgW2ymY/YUnRNpN.png) e nosTEAM,
|
||||
anúncios de
|
||||
redirecionamento maliciosos e downloads lentos.
|
||||
- haxNode - Pego com [malware](https://www.virustotal.com/gui/file/e6318aa4432c304b234df65f5d87bf2577b930ed68ac7e68efcb76b465dc0784).
|
||||
- IGG Games/GamesTorrents/LoadGames/PCGamesTorrents - Fez doxing com o mercs213 (dono do Good Old Downloads), explora-lhe por receita
|
||||
- haxNode - Pego
|
||||
com [malware](https://www.virustotal.com/gui/file/e6318aa4432c304b234df65f5d87bf2577b930ed68ac7e68efcb76b465dc0784).
|
||||
- IGG Games/GamesTorrents/LoadGames/PCGamesTorrents - Fez doxing com o mercs213 (dono do Good Old Downloads),
|
||||
explora-lhe por receita
|
||||
de anúncios e põe a própria DRM, minerador de criptomoedas e malware nos jogos.
|
||||
- IGI30 - Pego com malware.
|
||||
- KaranPC - Constantemente pego com malware.
|
||||
@ -54,7 +59,8 @@ para o adicionar ao uBlock Origin (use
|
||||
- Portable4PC/Soft4PC - Pego com malware.
|
||||
- Qoob/Seyter - Pego com mineradores de criptomoedas.
|
||||
- Repack-Games - Rouba lançamentos e rotula errado os jogos.
|
||||
- RSLoad - Fez upload da mesma versão do MalwareBytes que encrencou o FIleCR e tem [malware no μTorrent](https://i.ibb.co/QXrCfqQ/Untitled.png).
|
||||
- RSLoad - Fez upload da mesma versão do MalwareBytes que encrencou o FIleCR e
|
||||
tem [malware no μTorrent](https://i.ibb.co/QXrCfqQ/Untitled.png).
|
||||
- SadeemAPK/SadeemPC - Constantemente pego com malware.
|
||||
- The Pirate Bay - Alto risco de malware por falta de moderação.
|
||||
- VitaminX - Pego com mineradores de criptomoedas.
|
||||
@ -92,8 +98,11 @@ para o adicionar ao uBlock Origin (use
|
||||
- KLauncher - Contém malware.
|
||||
- Limewire - Morto há anos, coisas alegando serem eles devem ser evitadas.
|
||||
- McAfee - Instala bloatware.
|
||||
- Opera (navegadores) - Práticas de privacidade [muito](https://www.kuketz-blog.de/opera-datensendeverhalten-desktop-version-browser-check-teil13) [ruins](https://rentry.co/operagx), além de aplicativos de empréstimo [predatórios](https://www.androidpolice.com/2020/01/21/opera-predatory-loans).
|
||||
- PCProtect/Protected/TotalAV - Fraudes de antivirus. [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).
|
||||
- Opera (navegadores) - Práticas de
|
||||
privacidade [muito](https://www.kuketz-blog.de/opera-datensendeverhalten-desktop-version-browser-check-teil13) [ruins](https://rentry.co/operagx),
|
||||
além de aplicativos de empréstimo [predatórios](https://www.androidpolice.com/2020/01/21/opera-predatory-loans).
|
||||
- PCProtect/Protected/TotalAV - Fraudes de
|
||||
antivirus. [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 - O dono [expulsou todos os membros](https://www.reddit.com/y6lt6s) do servidor do Discord
|
||||
e do repositório.
|
||||
- TLauncher (não relacionado ao TLauncher Legacy) - Práticas comerciais [duvidosas](https://www.reddit.com/zmzzrt).
|
||||
|
@ -19,11 +19,14 @@ Steam
|
||||
:::
|
||||
|
||||
- [🌟 CreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=29&t=70576) - Desbloqueador de DLCs de jogos
|
||||
legítimos da Steam / [Configuração automática](https://cs.rin.ru/forum/viewtopic.php?p=2013521) / [Instalação automática](https://github.com/pointfeev/CreamInstaller)
|
||||
legítimos da
|
||||
Steam / [Configuração automática](https://cs.rin.ru/forum/viewtopic.php?p=2013521) / [Instalação automática](https://github.com/pointfeev/CreamInstaller)
|
||||
- [Koalageddon](https://github.com/acidicoala/Koalageddon) - Desbloqueador de DLCs da Steam, Epic
|
||||
Games Store, dos clientes da EA e da Uplay
|
||||
- [Goldberg Steam Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=91627) - Emulador da Steam / [Interface gráfica](https://cs.rin.ru/forum/viewtopic.php?f=29&t=111152)
|
||||
- [Steamless](https://github.com/atom0s/Steamless) - Removedor da DRM SteamStub / [Crackeador automático](https://github.com/oureveryday/Steam-auto-crack)
|
||||
- [Goldberg Steam Emulator](https://cs.rin.ru/forum/viewtopic.php?f=29&t=91627) - Emulador da
|
||||
Steam / [Interface gráfica](https://cs.rin.ru/forum/viewtopic.php?f=29&t=111152)
|
||||
- [Steamless](https://github.com/atom0s/Steamless) - Removedor da DRM
|
||||
SteamStub / [Crackeador automático](https://github.com/oureveryday/Steam-auto-crack)
|
||||
- [Auto SteamFix Tool](https://cs.rin.ru/forum/viewtopic.php?f=29&t=97112) - Criador automático de
|
||||
correções para o Steamworks
|
||||
- [DreamAPI](https://cs.rin.ru/forum/viewtopic.php?f=10&t=111520) - Desbloqueador de DLCs da Epic
|
||||
@ -46,7 +49,8 @@ Steam
|
||||
|
||||
- [7-Zip](https://7-zip.org) - Arquivador de arquivos
|
||||
- [Bitwarden](https://bitwarden.com) - Gerenciador de senhas de código aberto
|
||||
- [Tor Browser](https://www.torproject.org) - Navegador web privado que roteia o tráfego da Internet por uma rede descentralizada de servidores operados por voluntários, dificultando te rastrear
|
||||
- [Tor Browser](https://www.torproject.org) - Navegador web privado que roteia o tráfego da Internet por uma rede
|
||||
descentralizada de servidores operados por voluntários, dificultando te rastrear
|
||||
- [Achievement Watcher](https://xan105.github.io/Achievement-Watcher) - Analisador de arquivos de
|
||||
conquistas com capturas de tela automáticas, rastreamento de tempo de jogo e notificações em tempo
|
||||
real
|
||||
@ -62,7 +66,8 @@ Visite o **[m0nkrus](https://w14.monkrus.ws)** para produtos da Adobe
|
||||
|
||||
## Extensões úteis de navegador
|
||||
|
||||
- [uBlock Origin](https://ublockorigin.com) - Bloqueador de conteúdo de anúncio / [Recomendações do yokoffing](https://github.com/yokoffing/filterlists#recommended-filters-for-ublock-origin)
|
||||
- [uBlock Origin](https://ublockorigin.com) - Bloqueador de conteúdo de
|
||||
anúncio / [Recomendações do yokoffing](https://github.com/yokoffing/filterlists#recommended-filters-for-ublock-origin)
|
||||
- [uBlacklist](https://iorate.github.io/ublacklist/docs) - Filtrador de pesquisas
|
||||
- [Bypass All Shortlinks Debloated](https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated) -
|
||||
Userscript contornador de encurtadores de links - Requer uma das 3 extensões abaixo
|
||||
@ -71,7 +76,7 @@ Visite o **[m0nkrus](https://w14.monkrus.ws)** para produtos da Adobe
|
||||
- [Tampermonkey](https://www.tampermonkey.net) - Gerenciador de userscripts de código aberto para a
|
||||
maioria dos navegadores
|
||||
- [ViolentMonkey](https://violentmonkey.github.io) - Gerenciador de userscripts de código aberto
|
||||
para vários navegadores
|
||||
para vários navegadores
|
||||
|
||||
<ul>
|
||||
<li id="translator"><a href="https://github.com/FilipePS/Traduzir-paginas-web">Traduzir Páginas Web</a>
|
||||
|
@ -50,7 +50,8 @@ need a VPN to access blocked file hosts (like Rapidgator in some EU countries).
|
||||
- [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
|
||||
- Use the [offline bypass](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass) to play without a legit account.
|
||||
- Use the [offline bypass](https://github.com/antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass) to play without a
|
||||
legit account.
|
||||
- [Moriya Shrine](https://moriyashrine.org) - Touhou
|
||||
|
||||
## Torrent sites
|
||||
@ -59,12 +60,12 @@ Torrents are P2P downloads from other users, without servers. You'll need a VPN
|
||||
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](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)
|
||||
- [🌟 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)
|
||||
[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)
|
||||
- [Rutor](http://rutor.info/games) / [Translator](useful.md#translator)
|
||||
- [Rustorka](https://rustorka.com/forum/index.php?c=6) / [Translator](useful.md#translator)
|
||||
@ -78,22 +79,21 @@ decompression.
|
||||
|
||||
- [🌟 DODI Repacks](https://dodi-repacks.site)
|
||||
- [🌟 FitGirl Repacks](https://fitgirl-repacks.site)
|
||||
- [🌟 ElAmigos](https://elamigos.site) - Slow downloads for free users; use GameDrive's, GLOAD's or
|
||||
Ova Games' mirrors instead.
|
||||
- [🌟 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) - Also found on
|
||||
[Repack.info](https://repack.info).
|
||||
- [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.
|
||||
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) - Lossy (lower quality and/or removed files) repacks forum -
|
||||
- [KAPITALSIN](https://kapitalsin.com/forum) - Lossy (lower quality and/or removed files) repacks forum /
|
||||
[Translator](useful.md#translator)
|
||||
- [M4CKD0GE Repacks](https://m4ckd0ge-repacks.site)
|
||||
- [MagiPack Games](https://www.magipack.games) - Old games
|
||||
|
@ -27,7 +27,9 @@ more.
|
||||
|
||||
- [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) - Nintendo Switch games / [Torzu](https://github.com/litucks/torzu) / ([Android](https://github.com/sudachi-emu/sudachi)) - Nintendo Switch games
|
||||
- [Ryujinx](https://ryujinx.org) - Nintendo Switch
|
||||
games / [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
|
||||
@ -44,7 +46,8 @@ more.
|
||||
- [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
|
||||
- [bsnes](https://github.com/bsnes-emu/bsnes) / [Snes9x](https://www.snes9x.com) - Super Nintendo Entertainment System
|
||||
games
|
||||
|
||||
## Related subreddits
|
||||
|
||||
|
@ -40,7 +40,8 @@ you need guidance.
|
||||
|
||||
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
|
||||
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
|
||||
@ -60,5 +61,6 @@ 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).
|
||||
limitation by leveraging multiple threads for downloading, resulting in faster download speeds. We've listed some
|
||||
recommended ones [here](useful.md).
|
||||
:::
|
||||
|
@ -5,11 +5,13 @@ title: Software
|
||||
## 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)
|
||||
- [🌟 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)
|
||||
- [🌟 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)
|
||||
- [🌟 Xtreme Download Manager](https://xtremedownloadmanager.com)
|
||||
- [Gopeed](https://gopeed.com) / [Plugins](https://github.com/search?q=topic%3Agopeed-extension&type=repositories)
|
||||
- [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)
|
||||
- [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
|
||||
|
@ -5,7 +5,9 @@ title: Unsafe
|
||||
## Untrusted sites and uploaders
|
||||
|
||||
::: 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
|
||||
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)
|
||||
@ -29,7 +31,10 @@ to add it to uBlock Origin (use
|
||||
- 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) history.
|
||||
-
|
||||
|
||||
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.
|
||||
- cracked-games/GETGAMEZ - Caught with malware.
|
||||
@ -40,7 +45,8 @@ to add it to uBlock Origin (use
|
||||
- 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](https://i.ibb.co/VgW2ymY/YUnRNpN.png) uploads and nosTEAM, malicious
|
||||
- GOG Unlocked/RomsUnlocked/SteamUnlocked - [IGG Games](https://i.ibb.co/VgW2ymY/YUnRNpN.png) uploads and nosTEAM,
|
||||
malicious
|
||||
redirect ads, and slow downloads.
|
||||
- haxNode
|
||||
- IGG Games/GamesTorrents/LoadGames/PCGamesTorrents - Doxed mercs213 (GOG Games owner), exploits you for ad revenue, and
|
||||
@ -54,7 +60,8 @@ to add it to uBlock Origin (use
|
||||
- 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.
|
||||
@ -91,8 +98,11 @@ to add it to uBlock Origin (use
|
||||
- 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).
|
||||
- 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.
|
||||
|
@ -21,8 +21,10 @@ on your computer:
|
||||
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,
|
||||
and 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)
|
||||
- [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)
|
||||
- [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
|
||||
@ -43,20 +45,22 @@ on your computer:
|
||||
|
||||
- [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.
|
||||
- [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
|
||||
:::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
|
||||
:::
|
||||
:::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
|
||||
:::
|
||||
|
||||
## Useful 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 three extensions below
|
||||
@ -64,7 +68,7 @@ Visit **[m0nkrus](https://w14.monkrus.ws)** for Adobe products
|
||||
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
|
||||
browsers
|
||||
|
||||
<ul>
|
||||
<li id="translator"><a href="https://github.com/FilipePS/Traduzir-paginas-web">Translate Web Pages</a>
|
||||
|
@ -24,7 +24,9 @@
|
||||
],
|
||||
"outDir": "docs/.vitepress/dist/_translations",
|
||||
"dashboard": {
|
||||
"customCss": ["./lunaria/styles.css"],
|
||||
"customCss": [
|
||||
"./lunaria/styles.css"
|
||||
],
|
||||
"ui": {
|
||||
"statusByLocale.heading": "Translation progress by locale",
|
||||
"statusByLocale.incompleteLocalizationLink": "incomplete translation",
|
||||
|
@ -2,7 +2,7 @@ import {defineRendererConfig} from "@lunariajs/core";
|
||||
import {TitleParagraph} from "./components";
|
||||
|
||||
export default defineRendererConfig({
|
||||
slots: {
|
||||
afterTitle: TitleParagraph,
|
||||
},
|
||||
slots: {
|
||||
afterTitle: TitleParagraph,
|
||||
},
|
||||
});
|
||||
|
@ -1,31 +1,30 @@
|
||||
:root {
|
||||
--theme-accent: hsl(234, 100%, 87%);
|
||||
--theme-bg: hsl(223, 13%, 10%);
|
||||
--theme-table-header: hsl(222, 13%, 16%);
|
||||
--theme-table-hover: hsl(222, 13%, 16%);
|
||||
--theme-text: hsl(228, 8%, 77%);
|
||||
--theme-text-bright: hsl(0, 0%, 100%);
|
||||
--overlay-blurple: hsla(168, 100%, 75%, 0.2);
|
||||
--theme-accent: hsl(234, 100%, 87%);
|
||||
--theme-bg: hsl(223, 13%, 10%);
|
||||
--theme-table-header: hsl(222, 13%, 16%);
|
||||
--theme-table-hover: hsl(222, 13%, 16%);
|
||||
--theme-text: hsl(228, 8%, 77%);
|
||||
--theme-text-bright: hsl(0, 0%, 100%);
|
||||
--overlay-blurple: hsla(168, 100%, 75%, 0.2);
|
||||
|
||||
--ln-color-background: linear-gradient(
|
||||
215deg,
|
||||
var(--overlay-blurple),
|
||||
transparent 40%
|
||||
--ln-color-background: linear-gradient(
|
||||
215deg,
|
||||
var(--overlay-blurple),
|
||||
transparent 40%
|
||||
),
|
||||
radial-gradient(var(--overlay-blurple), transparent 40%) no-repeat -60vw -40vh /
|
||||
105vw 200vh,
|
||||
radial-gradient(var(--overlay-blurple), transparent 65%) no-repeat 50%
|
||||
calc(100% + 20rem) / 60rem 30rem,
|
||||
radial-gradient(var(--overlay-blurple), transparent 65%) no-repeat 50% calc(100% + 20rem) / 60rem 30rem,
|
||||
var(--theme-bg);
|
||||
--ln-color-link: var(--theme-accent);
|
||||
--ln-color-black: var(--theme-text);
|
||||
--ln-color-done: var(--ln-color-blue);
|
||||
--ln-color-outdated: #ea580c;
|
||||
--ln-color-missing: var(--theme-text-bright);
|
||||
--ln-color-table-background: var(--theme-table-header);
|
||||
--ln-color-table-border: var(--theme-table-header);
|
||||
--ln-color-link: var(--theme-accent);
|
||||
--ln-color-black: var(--theme-text);
|
||||
--ln-color-done: var(--ln-color-blue);
|
||||
--ln-color-outdated: #ea580c;
|
||||
--ln-color-missing: var(--theme-text-bright);
|
||||
--ln-color-table-background: var(--theme-table-header);
|
||||
--ln-color-table-border: var(--theme-table-header);
|
||||
|
||||
color-scheme: dark;
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
h1,
|
||||
@ -34,19 +33,19 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: var(--theme-text-bright);
|
||||
color: var(--theme-text-bright);
|
||||
}
|
||||
|
||||
p a {
|
||||
text-decoration: underline;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.create-button {
|
||||
background-color: hsl(213deg 89% 64% / 20%);
|
||||
border-radius: 0.5em;
|
||||
background-color: hsl(213deg 89% 64% / 20%);
|
||||
border-radius: 0.5em;
|
||||
}
|
||||
|
||||
sup {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user