├── docs ├── public │ ├── robots.txt │ ├── key.txt │ ├── og.png │ ├── fmhy.ico │ ├── test.png │ ├── banner.png │ ├── banner2.png │ ├── banner3.png │ ├── banner4.png │ ├── favicon.ico │ └── _headers ├── .vitepress │ ├── fonts │ │ ├── Inter-Bold.otf │ │ ├── Inter-Medium.otf │ │ ├── Inter-Regular.otf │ │ └── Inter-SemiBold.otf │ ├── README.md │ ├── theme │ │ ├── components │ │ │ ├── ToggleStarred.vue │ │ │ ├── CardField.vue │ │ │ ├── Announcement.vue │ │ │ ├── startpage │ │ │ │ ├── Clock.vue │ │ │ │ └── Startpage.vue │ │ │ ├── InputField.vue │ │ │ ├── WallpaperCard.vue │ │ │ ├── Switch.vue │ │ │ ├── Authors.vue │ │ │ ├── SidebarCard.vue │ │ │ └── ColorPicker.vue │ │ ├── PostLayout.vue │ │ ├── index.ts │ │ ├── composables │ │ │ └── nprogress.ts │ │ ├── posts.data.ts │ │ ├── Appearance.vue │ │ ├── Posts.vue │ │ └── Layout.vue │ ├── LICENSE │ ├── vue-shim.d.ts │ ├── hooks │ │ ├── index.ts │ │ ├── Template.vue │ │ ├── satoriConfig.ts │ │ ├── rss.ts │ │ ├── meta.ts │ │ └── opengraph.ts │ ├── utils.ts │ ├── markdown │ │ ├── toggleStarred.ts │ │ ├── base64.ts │ │ ├── emoji.ts │ │ └── headers.ts │ ├── types │ │ └── Feedback.ts │ ├── transformer │ │ ├── core.ts │ │ └── constants.ts │ └── config.mts ├── other │ ├── contributing.md │ ├── wallpapers.md │ └── selfhosting.md ├── startpage.md ├── posts.md ├── sandbox.md └── posts │ ├── discord.md │ ├── Internet-Archive.md │ ├── new-site.md │ ├── support-ia.md │ ├── search.md │ ├── filecr-malware.md │ ├── april-2023.md │ ├── may-2023.md │ ├── jan-2025.md │ ├── july-2023.md │ ├── mar-2025.md │ ├── feb-2025.md │ ├── jun-2023.md │ ├── oct-2024.md │ ├── april-2025.md │ ├── march-2024.md │ ├── oct-2023.md │ ├── nov-2024.md │ ├── aug-2023.md │ ├── dec-2024.md │ ├── april-2024.md │ ├── dec-2023.md │ ├── may-2024.md │ ├── june-2024.md │ ├── sept-2024.md │ ├── sept-2023.md │ ├── aug-2024.md │ └── feb-2024.md ├── .dockerignore ├── .prettierignore ├── .npmrc ├── api ├── public │ └── favicon.ico ├── tsconfig.json ├── README.md ├── routes │ ├── index.ts │ ├── single-page.ts │ └── feedback.post.ts ├── worker-configuration.d.ts └── middleware │ ├── cors.ts │ └── ratelimit.ts ├── .github ├── CODEOWNERS ├── assets │ ├── bluesky.svg │ ├── github.svg │ ├── firefish.svg │ └── discord.svg ├── workflows │ ├── deploy-api.yml │ └── deploy-gh-pages.yml ├── POST_TEMPLATE.md ├── README.md └── ISSUE_TEMPLATE │ └── wiki.yml ├── pests-repellent ├── .vscode │ └── settings.json ├── test │ ├── env.d.ts │ ├── tsconfig.json │ └── index.spec.ts ├── .prettierrc ├── .editorconfig ├── vitest.config.mts ├── package.json ├── src │ └── index.ts ├── wrangler.jsonc └── tsconfig.json ├── .gitpod.yml ├── .devcontainer └── devcontainer.json ├── .mise.toml ├── docker-compose.yaml ├── .prettierrc.yaml ├── Dockerfile ├── flake.nix ├── flake.lock ├── tsconfig.json ├── wrangler.toml ├── nitro.config.ts ├── .licenserc.json ├── package.json └── unocss.config.ts /docs/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / 3 | -------------------------------------------------------------------------------- /docs/public/key.txt: -------------------------------------------------------------------------------- 1 | 840b532f9bc147c489c250a37a4b8527 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .git 3 | .gitignore 4 | dist 5 | cache 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/*.md 2 | !docs/index.md 3 | pnpm-lock.yaml 4 | .turbo 5 | .cache 6 | -------------------------------------------------------------------------------- /docs/public/og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/og.png -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-manager-strict=false 2 | shell-emulator=true 3 | auto-install-peers=false 4 | -------------------------------------------------------------------------------- /docs/public/fmhy.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/fmhy.ico -------------------------------------------------------------------------------- /docs/public/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/test.png -------------------------------------------------------------------------------- /api/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/api/public/favicon.ico -------------------------------------------------------------------------------- /docs/public/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/banner.png -------------------------------------------------------------------------------- /docs/public/banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/banner2.png -------------------------------------------------------------------------------- /docs/public/banner3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/banner3.png -------------------------------------------------------------------------------- /docs/public/banner4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/banner4.png -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/public/favicon.ico -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | docs/.vitepress/**/* @taskylizard 2 | api/**/* @taskylizard 3 | index.md @taskylizard 4 | 5 | -------------------------------------------------------------------------------- /pests-repellent/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "wrangler.json": "jsonc" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /pests-repellent/test/env.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'cloudflare:test' { 2 | interface ProvidedEnv extends Env {} 3 | } 4 | -------------------------------------------------------------------------------- /docs/.vitepress/fonts/Inter-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/.vitepress/fonts/Inter-Bold.otf -------------------------------------------------------------------------------- /docs/.vitepress/fonts/Inter-Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/.vitepress/fonts/Inter-Medium.otf -------------------------------------------------------------------------------- /docs/.vitepress/fonts/Inter-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/.vitepress/fonts/Inter-Regular.otf -------------------------------------------------------------------------------- /docs/.vitepress/fonts/Inter-SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rivafarabi/edit/main/docs/.vitepress/fonts/Inter-SemiBold.otf -------------------------------------------------------------------------------- /pests-repellent/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 140, 3 | "singleQuote": true, 4 | "semi": true, 5 | "useTabs": true 6 | } 7 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | tasks: 2 | - init: pnpm install 3 | command: pnpm run docs:dev 4 | 5 | ports: 6 | - port: 5173 7 | onOpen: open-preview 8 | -------------------------------------------------------------------------------- /api/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.nitro/types/tsconfig.json", 3 | "compilerOptions": { 4 | "types": ["@cloudflare/workers-types"] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /docs/public/_headers: -------------------------------------------------------------------------------- 1 | /* 2 | X-Frame-Options: DENY 3 | Content-Security-Policy: frame-ancestors 'none'; 4 | 5 | https://cdn.jsdelivr.net/* 6 | Cache-Control: max-age=31536000 7 | -------------------------------------------------------------------------------- /api/README.md: -------------------------------------------------------------------------------- 1 | This is the API for the website and other related services. 2 | 3 | Licensed under the Apache License v2.0, see [LICENSE](../docs/.vitepress/LICENSE) for more information. 4 | -------------------------------------------------------------------------------- /docs/other/contributing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Contributing 3 | description: How to contribute to the project. 4 | next: false 5 | prev: false 6 | --- 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/.vitepress/README.md: -------------------------------------------------------------------------------- 1 | This is the website source code to be used with [VitePress](https://vitepress.dev/). 2 | 3 | Licensed under the Apache License v2.0, see [LICENSE](./LICENSE) for more information. 4 | -------------------------------------------------------------------------------- /pests-repellent/test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "types": ["@cloudflare/vitest-pool-workers"] 5 | }, 6 | "include": ["./**/*.ts", "../worker-configuration.d.ts"], 7 | "exclude": [] 8 | } 9 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "appPort": 5173, 3 | "features": {}, 4 | "image": "mcr.microsoft.com/devcontainers/universal:2", 5 | "name": "FMHYedit", 6 | "postAttachCommand": "pnpm docs:dev", 7 | "postStartCommand": "pnpm install" 8 | } 9 | -------------------------------------------------------------------------------- /docs/startpage.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: false 3 | title: Startpage 4 | pageClass: startpage-custom-styling 5 | --- 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /pests-repellent/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = tab 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.yml] 12 | indent_style = space 13 | -------------------------------------------------------------------------------- /.mise.toml: -------------------------------------------------------------------------------- 1 | # https://github.com/vitejs/vite/issues/17291 2 | [tools] 3 | node = "latest" 4 | pnpm = "latest" 5 | 6 | [tasks] 7 | d = "nrr docs:dev --host" 8 | b = "nrr docs:build" 9 | s = "nrr docs:preview --host" 10 | bb = "nrr docs:build && nrr docs:preview --host" 11 | -------------------------------------------------------------------------------- /docs/posts.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Posts 3 | description: All our posts, sorted by date. 4 | editLink: false 5 | outline: false 6 | next: false 7 | prev: false 8 | sidebar: true 9 | --- 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | docs: 3 | networks: [fmhy] 4 | build: 5 | context: . 6 | dockerfile: Dockerfile 7 | image: fmhy-docs 8 | container_name: docs 9 | restart: unless-stopped 10 | ports: 11 | - '4173:4173' 12 | 13 | networks: 14 | fmhy: 15 | -------------------------------------------------------------------------------- /pests-repellent/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineWorkersConfig } from '@cloudflare/vitest-pool-workers/config'; 2 | 3 | export default defineWorkersConfig({ 4 | test: { 5 | poolOptions: { 6 | workers: { 7 | wrangler: { configPath: './wrangler.jsonc' }, 8 | }, 9 | }, 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /docs/sandbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Sandbox 3 | --- 4 | 5 | ### Sandbox 6 | 7 | :::info 8 | Testing info 9 | ::: 10 | 11 | :::tip 12 | Testing tip 13 | ::: 14 | 15 | :::warning 16 | Testing warning 17 | ::: 18 | 19 | :::danger 20 | Testing danger 21 | ::: 22 | 23 | :::details 24 | Testing details 25 | ::: 26 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/ToggleStarred.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | 17 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/CardField.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/Announcement.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /pests-repellent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pests-repellent", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "deploy": "wrangler deploy", 7 | "dev": "wrangler dev", 8 | "start": "wrangler dev", 9 | "test": "vitest", 10 | "cf-typegen": "wrangler types" 11 | }, 12 | "devDependencies": { 13 | "@cloudflare/vitest-pool-workers": "^0.8.19", 14 | "typescript": "^5.5.2", 15 | "vitest": "~3.2.0", 16 | "wrangler": "^4.20.5" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.prettierrc.yaml: -------------------------------------------------------------------------------- 1 | proseWrap: always 2 | semi: false 3 | singleQuote: true 4 | printWidth: 80 5 | trailingComma: none 6 | htmlWhitespaceSensitivity: ignore 7 | plugins: 8 | - prettier-plugin-tailwindcss 9 | - prettier-plugin-pkgsort 10 | - '@ianvs/prettier-plugin-sort-imports' 11 | 12 | importOrder: 13 | [ 14 | '', 15 | '^(node:)', 16 | '', 17 | '^[.]', 18 | '', 19 | '', 20 | '^[.]', 21 | '^(?!.*[.]css$)[./].*$', 22 | '.css$' 23 | ] 24 | -------------------------------------------------------------------------------- /docs/posts/discord.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Public Discord Server 3 | description: Our new space to chat in. 4 | date: 2023-10-24 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | # Public URL: https://rentry.co/fmhy-invite 15 | 16 | --- 17 | 18 | ## Server Rules 19 | 20 | 1. Please be kind and helpful to one another, especially beginners. 21 | 2. No selling or advertising anything paid. 22 | 3. No direct links to pirated content. 23 | 4. No NSFW content (or requests) outside of NSFW channels. 24 | 5. No racism, sexism, ableism, homophobia, transphobia. -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:21-slim AS base 2 | ENV PNPM_HOME="/pnpm" 3 | ENV PATH="$PNPM_HOME:$PATH" 4 | RUN corepack enable 5 | COPY . /app 6 | WORKDIR /app 7 | 8 | FROM base AS prod-deps 9 | RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 10 | 11 | FROM base AS build 12 | RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 13 | RUN pnpm run docs:build 14 | 15 | FROM base 16 | COPY --from=prod-deps /app/node_modules /app/node_modules 17 | COPY --from=build /app/docs/.vitepress/dist /app/docs/.vitepress/dist 18 | 19 | EXPOSE 4173 20 | 21 | CMD ["pnpm", "docs:preview"] 22 | -------------------------------------------------------------------------------- /docs/.vitepress/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) taskylizard. Apache License 2.0 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /docs/posts/Internet-Archive.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Internet Archive Breach 3 | description: Internet Archive was hacked 4 | date: 2024-10-09 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | #### Internet Archive was hacked today, all 31 million accounts have had their details leaked. If you have an account its *highly* recommended to change your password on the site, as well as anywhere else you are using the same login details. 15 | 16 | * https://www.bleepingcomputer.com/news/security/internet-archive-hacked-data-breach-impacts-31-million-users/ 17 | 18 | * https://haveibeenpwned.com/ -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | inputs = { 3 | nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 4 | }; 5 | outputs = {nixpkgs, ...}: let 6 | forAllSystems = f: 7 | nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (system: let 8 | pkgs = nixpkgs.legacyPackages.${system}; 9 | in 10 | f pkgs); 11 | in { 12 | packages = forAllSystems (pkgs: { 13 | formatter = pkgs.alejandra; 14 | }); 15 | 16 | devShells = forAllSystems (pkgs: { 17 | default = pkgs.mkShell { 18 | packages = with pkgs; [ 19 | nodejs 20 | pnpm 21 | git 22 | ]; 23 | }; 24 | }); 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.github/assets/bluesky.svg: -------------------------------------------------------------------------------- 1 | Bluesky -------------------------------------------------------------------------------- /.github/assets/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "nixpkgs": { 4 | "locked": { 5 | "lastModified": 1726583932, 6 | "narHash": "sha256-zACxiQx8knB3F8+Ze+1BpiYrI+CbhxyWpcSID9kVhkQ=", 7 | "owner": "nixos", 8 | "repo": "nixpkgs", 9 | "rev": "658e7223191d2598641d50ee4e898126768fe847", 10 | "type": "github" 11 | }, 12 | "original": { 13 | "owner": "nixos", 14 | "ref": "nixpkgs-unstable", 15 | "repo": "nixpkgs", 16 | "type": "github" 17 | } 18 | }, 19 | "root": { 20 | "inputs": { 21 | "nixpkgs": "nixpkgs" 22 | } 23 | } 24 | }, 25 | "root": "root", 26 | "version": 7 27 | } 28 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/PostLayout.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "verbatimModuleSyntax": true, 4 | "module": "esnext", 5 | "target": "esnext", 6 | "lib": ["DOM", "ESNext"], 7 | "strict": true, 8 | "jsx": "preserve", 9 | "esModuleInterop": true, 10 | "skipLibCheck": true, 11 | "moduleResolution": "Bundler", 12 | "resolveJsonModule": true, 13 | "noUnusedLocals": true, 14 | "strictNullChecks": true, 15 | "forceConsistentCasingInFileNames": true, 16 | "types": ["vitepress"] 17 | }, 18 | "exclude": ["node_modules"], 19 | "include": [ 20 | "**/.vitepress/**/*.ts", 21 | "**/.vitepress/**/*.mts", 22 | "**/.vitepress/**/*.vue", 23 | "./.cache/imports.d.ts" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /api/routes/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | export default eventHandler(() => { 17 | return { nitro: 'works' } 18 | }) 19 | -------------------------------------------------------------------------------- /.github/assets/firefish.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/startpage/Clock.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 30 | -------------------------------------------------------------------------------- /docs/.vitepress/vue-shim.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /* eslint-disable ts/consistent-type-imports */ 17 | declare module '*.vue' { 18 | const component: import('vue').Component 19 | export default component 20 | } 21 | -------------------------------------------------------------------------------- /api/worker-configuration.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | // Generated by Wrangler by running `wrangler types api/worker-configuration.d.ts` 17 | 18 | interface Env { 19 | STORAGE: KVNamespace 20 | RATE_LIMITER: RateLimit 21 | } 22 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "api" 2 | main = ".output/server/index.mjs" 3 | workers_dev = false 4 | account_id = "02f3b11d8d1017a20f95de4ba88fb5d6" 5 | compatibility_flags = ["nodejs_compat"] 6 | compatibility_date = "2024-11-01" 7 | 8 | routes = [ 9 | { pattern = "api.fmhy.net", custom_domain = true, zone_id = "b4212298934f7c1998b4d15f6d261715" }, 10 | ] 11 | 12 | [[kv_namespaces]] 13 | binding = "STORAGE" 14 | id = "6f18adea26a64d6b8858ffbdfd3f4cf2" 15 | 16 | [[unsafe.bindings]] 17 | name = "RATE_LIMITER" 18 | type = "ratelimit" 19 | # An identifier you define, that is unique to your Cloudflare account. 20 | # Must be an integer. 21 | namespace_id = "1001" 22 | 23 | # Limit: the number of tokens allowed within a given period in a single 24 | # Cloudflare location 25 | # Period: the duration of the period, in seconds. Must be either 10 or 60 26 | simple = { limit = 100, period = 60 } 27 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * Barrel generated using @taskylizard/tasker. 18 | */ 19 | 20 | export * from './meta' 21 | export * from './opengraph' 22 | export * from './rss' 23 | export * from './satoriConfig' 24 | -------------------------------------------------------------------------------- /api/middleware/cors.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { corsEventHandler } from 'nitro-cors' 18 | 19 | export default corsEventHandler( 20 | (_event) => { 21 | /** no-op */ 22 | }, 23 | { 24 | origin: '*', 25 | methods: '*' 26 | } 27 | ) 28 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/Template.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 29 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/InputField.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 21 | 22 | 48 | -------------------------------------------------------------------------------- /.github/assets/discord.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pests-repellent/src/index.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | async fetch(request, env, ctx): Promise { 3 | const url = new URL(request.url); 4 | const referer = request.headers.get('referer') || ''; 5 | const secFetchSite = request.headers.get('sec-fetch-site') || ''; 6 | 7 | // TODO: make this 8 | 9 | // const knownFakeDomains = ["fakesite.example", "evilframe.net"] 10 | // const isSuspicious = knownFakeDomains.some(domain => referer.includes(domain)) 11 | // 12 | if ( 13 | // isSuspicious || 14 | secFetchSite === 'cross-site' 15 | ) { 16 | return Response.redirect('https://fmhy.net', 302); 17 | } 18 | 19 | const res = await fetch(request); 20 | 21 | const modifiedHeaders = new Headers(res.headers); 22 | modifiedHeaders.set('X-Frame-Options', 'DENY'); 23 | modifiedHeaders.set('Content-Security-Policy', "frame-ancestors 'none'"); 24 | 25 | return new Response(res.body, { 26 | status: res.status, 27 | statusText: res.statusText, 28 | headers: modifiedHeaders, 29 | }); 30 | }, 31 | } satisfies ExportedHandler; 32 | -------------------------------------------------------------------------------- /docs/.vitepress/utils.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | export function groupBy( 17 | arr: T[], 18 | key: (i: T) => K 19 | ): Record { 20 | return arr.reduce( 21 | (groups, item) => { 22 | // biome-ignore lint/suspicious/noAssignInExpressions: 23 | ;(groups[key(item)] ||= []).push(item) 24 | return groups 25 | }, 26 | {} as Record 27 | ) 28 | } 29 | -------------------------------------------------------------------------------- /docs/posts/new-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: New Website 3 | description: Our brand new site (which you're on currently) 4 | date: 2023-11-12 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | ### New URL: https://fmhy.net/ 15 | 16 | Hey everyone, just wanted to let you all know that we're finally done with the 17 | new website, and are officially launching it today! I know a lot of different 18 | versions of FMHY have been made over the years, but we've put a ton of effort 19 | into this one, and honestly feel like its the best version to date. 20 | 21 | We really hope you enjoy it, and if you have any issues or suggestions feel free 22 | to leave them in the comments here, or by using the new feedback system built 23 | into the site. 24 | 25 | --- 26 | 27 | ### Site Features 28 | 29 | - Star Only Toggle 30 | - Dark / Light Modes 31 | - Feedback System 32 | - Improved UI + Site Speed 33 | - Improved Search Functionality 34 | - Automatic Updates 35 | - Table of Content Sidebars 36 | - Storage URLs Direct to Site Rather than Reddit 37 | - NSFW Section 38 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/WallpaperCard.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 38 | -------------------------------------------------------------------------------- /nitro.config.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import nitroCloudflareBindings from 'nitro-cloudflare-dev' 18 | import { defineNitroConfig } from 'nitropack/config' 19 | 20 | export default defineNitroConfig({ 21 | modules: [nitroCloudflareBindings], 22 | preset: 'cloudflare_module', 23 | compatibilityDate: '2024-11-01', 24 | runtimeConfig: { 25 | WEBHOOK_URL: process.env.WEBHOOK_URL 26 | }, 27 | srcDir: 'api/', 28 | routeRules: { 29 | '/': { 30 | cors: false 31 | } 32 | } 33 | }) 34 | -------------------------------------------------------------------------------- /pests-repellent/test/index.spec.ts: -------------------------------------------------------------------------------- 1 | import { env, createExecutionContext, waitOnExecutionContext, SELF } from 'cloudflare:test'; 2 | import { describe, it, expect } from 'vitest'; 3 | import worker from '../src/index'; 4 | 5 | // For now, you'll need to do something like this to get a correctly-typed 6 | // `Request` to pass to `worker.fetch()`. 7 | const IncomingRequest = Request; 8 | 9 | describe('Hello World worker', () => { 10 | it('responds with Hello World! (unit style)', async () => { 11 | const request = new IncomingRequest('http://example.com'); 12 | // Create an empty context to pass to `worker.fetch()`. 13 | const ctx = createExecutionContext(); 14 | const response = await worker.fetch(request, env, ctx); 15 | // Wait for all `Promise`s passed to `ctx.waitUntil()` to settle before running test assertions 16 | await waitOnExecutionContext(ctx); 17 | expect(await response.text()).toMatchInlineSnapshot(`"Hello World!"`); 18 | }); 19 | 20 | it('responds with Hello World! (integration style)', async () => { 21 | const response = await SELF.fetch('https://example.com'); 22 | expect(await response.text()).toMatchInlineSnapshot(`"Hello World!"`); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/Switch.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 13 | 14 | 33 | 34 | 53 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/Authors.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 50 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/SidebarCard.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 32 | -------------------------------------------------------------------------------- /.github/workflows/deploy-api.yml: -------------------------------------------------------------------------------- 1 | name: Deploy API 2 | 3 | # Only run this workflow when the API directory changes 4 | on: 5 | push: 6 | paths: 7 | - 'api/**' 8 | branches: 9 | - main 10 | workflow_dispatch: 11 | 12 | concurrency: ${{ github.workflow }}-${{ github.ref }} 13 | 14 | jobs: 15 | ci: 16 | name: Build and Deploy 17 | runs-on: ubuntu-latest 18 | strategy: 19 | matrix: 20 | node-version: [20] 21 | 22 | steps: 23 | - uses: actions/checkout@v4 24 | with: 25 | fetch-depth: 6 26 | 27 | - name: Install pnpm 28 | uses: pnpm/action-setup@v4 29 | 30 | - name: Use Node.js ${{ matrix.node-version }} 31 | uses: actions/setup-node@v4 32 | with: 33 | node-version: ${{ matrix.node-version }} 34 | cache: 'pnpm' 35 | 36 | - name: Install dependencies 37 | run: pnpm install 38 | 39 | - name: Build 40 | run: pnpm api:build 41 | env: 42 | WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }} 43 | 44 | - name: Publish to Cloudflare 45 | uses: cloudflare/wrangler-action@v3 46 | with: 47 | apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} 48 | vars: WEBHOOK_URL 49 | env: 50 | WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }} 51 | -------------------------------------------------------------------------------- /api/middleware/ratelimit.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | export default defineEventHandler(async (event) => { 17 | const { cloudflare } = event.context 18 | 19 | // FIXME: THIS IS NOT RECOMMENDED. BUT I WILL USE IT FOR NOW 20 | // Not recommended: many users may share a single IP, especially on mobile networks 21 | // or when using privacy-enabling proxies 22 | const ipAddress = getHeader(event, 'CF-Connecting-IP') ?? '' 23 | 24 | const { success } = await // KILL YOURSELF 25 | (cloudflare.env as unknown as Env).RATE_LIMITER.limit({ 26 | key: ipAddress 27 | }) 28 | 29 | if (!success) { 30 | throw createError('Failure – global rate limit exceeded') 31 | } 32 | }) 33 | -------------------------------------------------------------------------------- /.licenserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "**/*.ts": [ 3 | "/**", 4 | "* Copyright (c) 2025 taskylizard. Apache License 2.0.", 5 | "*", 6 | "* Licensed under the Apache License, Version 2.0 (the \"License\");", 7 | "* you may not use this file except in compliance with the License.", 8 | "* You may obtain a copy of the License at", 9 | "*", 10 | "* http://www.apache.org/licenses/LICENSE-2.0", 11 | "*", 12 | "* Unless required by applicable law or agreed to in writing, software", 13 | "* distributed under the License is distributed on an \"AS IS\" BASIS,", 14 | "* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", 15 | "* See the License for the specific language governing permissions and", 16 | "* limitations under the License.", 17 | "*/" 18 | ], 19 | "**/*.css": [ 20 | "/**", 21 | "* Copyright (c) 2025 taskylizard. Apache License 2.0.", 22 | "* Licensed under the Apache License, Version 2.0 (the \"License\");", 23 | "* you may not use this file except in compliance with the License.", 24 | "* You may obtain a copy of the License at", 25 | "* http://www.apache.org/licenses/LICENSE-2.0", 26 | "*/" 27 | ], 28 | "ignore": [ 29 | "node_modules", 30 | "dist", 31 | "docs/.vitepress/dist", 32 | "docs/.vitepress/cache" 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { Theme } from 'vitepress' 18 | import Components from '@fmhy/components' 19 | import DefaultTheme from 'vitepress/theme' 20 | import { loadProgress } from './composables/nprogress' 21 | import Layout from './Layout.vue' 22 | import Post from './PostLayout.vue' 23 | 24 | import './style.scss' 25 | import 'virtual:uno.css' 26 | 27 | import Feedback from './components/Feedback.vue' 28 | 29 | export default { 30 | extends: DefaultTheme, 31 | Layout, 32 | enhanceApp({ router, app }) { 33 | app.use(Components) 34 | app.component('Post', Post) 35 | app.component('Feedback', Feedback) 36 | loadProgress(router) 37 | } 38 | } satisfies Theme 39 | -------------------------------------------------------------------------------- /.github/POST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Post Template 2 | 3 | > [!NOTE] 4 | > This is a template for creating a post for the freemediaheckyeah blog, and is meant for **collaborators** only. 5 | 6 | Notes: 7 | 8 | - The title should be a short, descriptive title. 9 | - The date should be in the format `YYYY-MM-DD`. 10 | - The filename should be in the format `month-year.md`. 11 | - The description should be a short, descriptive description of the post. 12 | - Authors should be in the format `['username', ....]` 13 | - The ending shouldn't have a line break (`---`/`***`). 14 | - Links to the website should be turned into relative links, i.e. `[Text Tools](https://fmhy.net/text-tools)` -> `[Text Tools](/text-tools)`. 15 | 16 | Template: 17 | ``` 18 | --- 19 | title: Monthly Updates [Month] 20 | description: Month 20YY updates 21 | date: 20YY-MM-DD 22 | next: false 23 | aside: right 24 | prev: false 25 | sidebar: false 26 | footer: true 27 | --- 28 | 29 | 30 | 31 | :::info 32 | These update threads only contains major updates. If you're interested 33 | in seeing all minor changes you can follow our 34 | [Commits Page](https://github.com/fmhy/edit/commits/main) on GitHub or 35 | [Updates Channel](https://redd.it/17f8msf) in Discord. 36 | ::: 37 | 38 | ### Wiki Updates 39 | 40 | .... 41 | 42 | --- 43 | 44 | ### Stars Added ⭐ 45 | 46 | .... 47 | 48 | --- 49 | 50 | ### Things Removed 51 | 52 | .... 53 | ``` 54 | -------------------------------------------------------------------------------- /.github/workflows/deploy-gh-pages.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to GitHub Pages 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | permissions: 7 | contents: read 8 | pages: write 9 | id-token: write 10 | 11 | concurrency: 12 | group: pages 13 | cancel-in-progress: false 14 | 15 | jobs: 16 | build: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v4 21 | with: 22 | fetch-depth: 1 23 | - uses: pnpm/action-setup@v2 24 | - name: Setup Node 25 | uses: actions/setup-node@v4 26 | with: 27 | node-version: 20 28 | cache: pnpm 29 | - name: Setup Pages 30 | uses: actions/configure-pages@v5 31 | - name: Install dependencies 32 | run: pnpm install 33 | - name: Build with VitePress 34 | run: | 35 | pnpm docs:build 36 | touch docs/.vitepress/dist/.nojekyll 37 | - name: Upload artifact 38 | id: deployment 39 | uses: actions/upload-pages-artifact@v3 40 | with: 41 | path: docs/.vitepress/dist 42 | 43 | deploy: 44 | environment: 45 | name: github-pages 46 | url: ${{ steps.deployment.outputs.page_url }} 47 | needs: build 48 | runs-on: ubuntu-latest 49 | name: Deploy 50 | steps: 51 | - name: Deploy to GitHub Pages 52 | id: deployment 53 | uses: actions/deploy-pages@v4 54 | -------------------------------------------------------------------------------- /docs/other/wallpapers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Wallpapers 3 | description: Elevate yourself to the next level with our beautiful wallpapers. 4 | next: false 5 | prev: false 6 | --- 7 | 8 | 11 | 12 | # Wallpapers 13 | 14 | Elevate yourself to the next level with our beautiful wallpapers. 15 | 16 | All of these wallpapers were made by [taskylizard](https://github.com/taskylizard). 17 | 18 | 24 | 25 | --- 26 | 27 | 33 | 34 | --- 35 | 36 | 42 | -------------------------------------------------------------------------------- /docs/.vitepress/markdown/toggleStarred.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { MarkdownRenderer } from 'vitepress' 18 | 19 | const excluded = ['Beginners Guide'] 20 | 21 | export function toggleStarredPlugin(md: MarkdownRenderer) { 22 | md.renderer.rules.list_item_open = (tokens, index, options, env, self) => { 23 | const contentToken = tokens[index + 2] 24 | 25 | // Ensure the token exists 26 | if (contentToken) { 27 | const content = contentToken.content 28 | 29 | if ( 30 | !excluded.includes(env.frontmatter.title) && 31 | (content.includes(':star:') || content.includes(':glowing-star:')) 32 | ) { 33 | return `
  • ` 34 | } 35 | } 36 | 37 | return self.renderToken(tokens, index, options) 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /docs/posts/support-ia.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The Internet Archive needs your help. 3 | description: Support IA 4 | date: 2025-04-21 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | A coalition of major record labels has filed a lawsuit against the Internet Archive—demanding **$700 million** for our work preserving and providing access to historical 78rpm records. These fragile, obsolete discs hold some of the earliest recordings of a vanishing American culture. But this lawsuit goes far beyond old records. It’s an attack on the Internet Archive itself. 15 | 16 | This lawsuit is an **existential threat** to the Internet Archive and everything we preserve—including the **Wayback Machine**, a cornerstone of memory and preservation on the internet. 17 | 18 | **At a time when digital information is disappearing, being rewritten, or erased entirely, the tools to preserve history must be defended—not dismantled.** 19 | 20 | This isn’t just about music. It’s about whether future generations will have access to knowledge, history, and culture. 21 | *** 22 | ## [Sign our open letter](https://www.change.org/p/defend-the-internet-archive) and tell the record labels to drop their lawsuit. 23 | *** 24 | **Posted by Chris Freeland, Director of Library Services at Internet Archive** 25 | 26 | ###### Source: https://blog.archive.org/2025/04/17/take-action-defend-the-internet-archive/ 27 | 28 | ###### Reddit Discussion: https://redd.it/1k4qqid 29 | -------------------------------------------------------------------------------- /docs/posts/search.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: How-to Search FMHY 3 | description: Various tools to help you query FMHY. 4 | date: 2023-01-07 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | ### [FMHY-Search](https://fmhy-search.streamlit.app/) 15 | 16 | Search engine hosted on Streamlit 17 | 18 | --- 19 | 20 | ### [FMHY.net Search](https://fmhy.net/) 21 | 22 | Search engine hosted on FMHY.net 23 | 24 | --- 25 | 26 | ### [GitHub Search](https://github.com/fmhy/edit/search?q=&type=wikis) 27 | 28 | GitHub page search engine 29 | 30 | --- 31 | 32 | ### [Bookmark HTML](https://github.com/fmhy/bookmarks) 33 | 34 | Turn FMHY into Bookmarks 35 | 36 | --- 37 | 38 | ### [FMHY Goggles](https://github.com/fmhy/bookmarks#goggle) 39 | 40 | Search FMHY using Brave Goggles 41 | 42 | --- 43 | 44 | ### [Python Script](https://github.com/Rust1667/a-FMHY-search-engine) 45 | 46 | Search markdown via python script 47 | 48 | --- 49 | 50 | ### [Raw Markdown](https://api.fmhy.net/single-page) 51 | 52 | Search markdown manually (ctrl+f) 53 | 54 | --- 55 | 56 | ### [Google CSEs](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools/#wiki_.25B7_custom_search_engines) 57 | 58 | Multi-site search engines 59 | 60 | --- 61 | 62 | ### [Dupe Checker](https://github.com/fmhy/dupe-checker) 63 | 64 | FMHY Dupe Check Tool 65 | 66 | -- 67 | 68 | ### Search Page Backups 69 | 70 | [FMHY.net](https://fmhy.net/posts/search) / [Reddit](https://redd.it/105xraz) 71 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/composables/nprogress.ts: -------------------------------------------------------------------------------- 1 | import type { NProgress } from 'nprogress' 2 | import type { EnhanceAppContext } from 'vitepress' 3 | import nprogress from 'nprogress' 4 | 5 | /** 6 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | export function loadProgress( 22 | router: EnhanceAppContext['router'] 23 | ): NProgress | undefined { 24 | if (typeof window === 'undefined') return 25 | 26 | setTimeout(() => { 27 | nprogress.configure({ showSpinner: false }) 28 | 29 | const cacheBeforeRouteChange = router.onBeforeRouteChange 30 | const cacheAfterRouteChange = router.onAfterRouteChanged 31 | router.onBeforeRouteChange = (to) => { 32 | nprogress.start() 33 | cacheBeforeRouteChange?.(to) 34 | } 35 | router.onAfterRouteChanged = (to) => { 36 | nprogress.done() 37 | cacheAfterRouteChange?.(to) 38 | } 39 | }) 40 | 41 | return nprogress 42 | } 43 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/startpage/Startpage.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 43 | 44 | 50 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/posts.data.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { ContentData } from 'vitepress' 18 | import { createContentLoader } from 'vitepress' 19 | import { groupBy } from '../utils' 20 | 21 | interface Post { 22 | title: string 23 | url: string 24 | date: string 25 | } 26 | 27 | type Dictionary = ReturnType 28 | 29 | declare const data: Dictionary 30 | export { data } 31 | 32 | function transformRawPosts(rawPosts: ContentData[]): Record { 33 | const posts: Post[] = rawPosts 34 | .map(({ url, frontmatter }) => ({ 35 | title: frontmatter.title, 36 | url, 37 | date: (frontmatter.date as Date).toISOString().slice(0, 10) 38 | })) 39 | .sort((a, b) => b.date.localeCompare(a.date)) 40 | 41 | return groupBy(posts, (post) => post.date.slice(0, 4)) 42 | } 43 | 44 | export default createContentLoader('posts/*.md', { 45 | includeSrc: true, 46 | transform: (raw) => transformRawPosts(raw) 47 | }) 48 | -------------------------------------------------------------------------------- /docs/.vitepress/types/Feedback.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import z from 'zod' 18 | 19 | export const FeedbackSchema = z.object({ 20 | message: z.string().min(5).max(1000), 21 | type: z.enum(['suggestion', 'appreciation', 'other']), 22 | page: z.string().min(3).max(20), 23 | // For heading based feedback 24 | heading: z.string().min(3).max(20).optional() 25 | }) 26 | 27 | export interface Option { 28 | label: string 29 | value: FeedbackType['type'] 30 | } 31 | 32 | export const feedbackOptions: Option[] = [ 33 | { 34 | label: '💡 I have a suggestion', 35 | value: 'suggestion' 36 | }, 37 | { 38 | label: '👍 I appreciate the work', 39 | value: 'appreciation' 40 | }, 41 | { label: '📂 Something else', value: 'other' } 42 | ] 43 | 44 | export function getFeedbackOption( 45 | value: FeedbackType['type'] 46 | ): Option | undefined { 47 | return feedbackOptions.find((option) => option.value === value) 48 | } 49 | 50 | export type FeedbackType = z.infer 51 | -------------------------------------------------------------------------------- /pests-repellent/wrangler.jsonc: -------------------------------------------------------------------------------- 1 | /** 2 | * For more details on how to configure Wrangler, refer to: 3 | * https://developers.cloudflare.com/workers/wrangler/configuration/ 4 | */ 5 | { 6 | "$schema": "node_modules/wrangler/config-schema.json", 7 | "name": "pests-repellent", 8 | "main": "src/index.ts", 9 | "compatibility_date": "2025-06-20", 10 | "observability": { 11 | "enabled": true, 12 | }, 13 | "routes": ["fmhy.net/*"], 14 | /** 15 | * Smart Placement 16 | * Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement 17 | */ 18 | // "placement": { "mode": "smart" }, 19 | /** 20 | * Bindings 21 | * Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform, including 22 | * databases, object storage, AI inference, real-time communication and more. 23 | * https://developers.cloudflare.com/workers/runtime-apis/bindings/ 24 | */ 25 | /** 26 | * Environment Variables 27 | * https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables 28 | */ 29 | // "vars": { "MY_VARIABLE": "production_value" }, 30 | /** 31 | * Note: Use secrets to store sensitive data. 32 | * https://developers.cloudflare.com/workers/configuration/secrets/ 33 | */ 34 | /** 35 | * Static Assets 36 | * https://developers.cloudflare.com/workers/static-assets/binding/ 37 | */ 38 | // "assets": { "directory": "./public/", "binding": "ASSETS" }, 39 | /** 40 | * Service Bindings (communicate between multiple Workers) 41 | * https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings 42 | */ 43 | // "services": [{ "binding": "MY_SERVICE", "service": "my-service" }] 44 | } 45 | -------------------------------------------------------------------------------- /pests-repellent/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 6 | "target": "es2021", 7 | /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 8 | "lib": ["es2021"], 9 | /* Specify what JSX code is generated. */ 10 | "jsx": "react-jsx", 11 | 12 | /* Specify what module code is generated. */ 13 | "module": "es2022", 14 | /* Specify how TypeScript looks up a file from a given module specifier. */ 15 | "moduleResolution": "Bundler", 16 | /* Enable importing .json files */ 17 | "resolveJsonModule": true, 18 | 19 | /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 20 | "allowJs": true, 21 | /* Enable error reporting in type-checked JavaScript files. */ 22 | "checkJs": false, 23 | 24 | /* Disable emitting files from a compilation. */ 25 | "noEmit": true, 26 | 27 | /* Ensure that each file can be safely transpiled without relying on other imports. */ 28 | "isolatedModules": true, 29 | /* Allow 'import x from y' when a module doesn't have a default export. */ 30 | "allowSyntheticDefaultImports": true, 31 | /* Ensure that casing is correct in imports. */ 32 | "forceConsistentCasingInFileNames": true, 33 | 34 | /* Enable all strict type-checking options. */ 35 | "strict": true, 36 | 37 | /* Skip type checking all .d.ts files. */ 38 | "skipLibCheck": true, 39 | "types": ["./worker-configuration.d.ts"] 40 | }, 41 | "exclude": ["test"], 42 | "include": ["worker-configuration.d.ts", "src/**/*.ts"] 43 | } 44 | -------------------------------------------------------------------------------- /.github/README.md: -------------------------------------------------------------------------------- 1 | # FMHY 2 | 3 | ![FMHY Banner](https://github.com/user-attachments/assets/0d43950d-a56f-437f-b9f6-afaed2313370) 4 | 5 |

    The largest collection of free stuff on the internet!

    6 | 7 | ## 📖 Wiki 8 | 9 | - Website: [fmhy.net](https://fmhy.net) 10 | - News & Monthly Updates: [fmhy.net/posts](https://fmhy.net/posts) 11 | - Backups: [github.com/fmhy/FMHY/wiki/Backups](https://github.com/fmhy/FMHY/wiki/Backups) 12 | - Neither the site or github host any files 13 | 14 | ## 🗺️ Emoji Legend 15 | 16 | * 🌐 - **3rd Party Indexes** 17 | * ↪️ - **Storage Page Links** 18 | * ⭐ - **Community Recommendations** 19 | 20 | ## 📝 Contribute 21 | 22 | We invite you to contribute and help improve the wiki! 💙 23 | 24 | Here are a few ways you can get involved: 25 | 26 | * Anyone can suggest changes or corrections to the wiki. Please read our [contribution guide](https://fmhy.net/other/contributing) before trying to add or remove anything. 27 | * If you're adding a new site, please [search](https://api.fmhy.net/single-page) (control + f) first to make sure we don't already have it. 28 | * Approved changes will be applied to the [site](https://fmhy.net) and all [🔒 backups](https://github.com/fmhy/FMHY/wiki/Backups). 29 | * You can send us stuff directly via [💬 Discord](https://rentry.co/fmhy-invite). 30 | * To help us find new sites, check out the lists of links in [site hunting](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/find-new-sites/). 31 | 32 | ## 🔔 Follow 33 | 34 |

    35 | Discord  GitHub  Bluesky 36 |

    37 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/wiki.yml: -------------------------------------------------------------------------------- 1 | name: Create Issue 2 | description: 'Help us improve FMHY for everyone' 3 | title: 'Issue form title' 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thanks for taking the time to fill out this issue! Please select your issue type. 9 | - type: markdown 10 | attributes: 11 | value: | 12 | ### Things to note 13 | * Anyone can suggest [changes or corrections](https://rentry.org/fmhyedit) to the wiki. Please read our [Contribution Guide](https://rentry.co/Contrib-Guide) before trying to add or remove anything. 14 | * If you're adding a new site, please [search](https://raw.githubusercontent.com/fmhy/edit/main/single-page) (control + f) first to make sure we don't already have it. 15 | * Approved changes will be applied to the [site](https://fmhy.net) and all [🔒 backups](https://github.com/fmhy/FMHY/wiki/Backups). 16 | * You can send us stuff directly via [💬 Discord](https://rentry.co/fmhy-invite). 17 | * You can also check out our [website](https://fmhy.net) and the [posts](https://fmhy.net/posts) section to know about any major updates to the wiki. 18 | - type: dropdown 19 | id: type 20 | attributes: 21 | label: Type 22 | description: Type that best describes this issue. 23 | options: 24 | - Bad sites 25 | - Grammar / Markdown 26 | - Site suggestion 27 | - Wiki section suggestion 28 | default: 0 29 | validations: 30 | required: true 31 | - type: textarea 32 | id: context 33 | attributes: 34 | label: Add additional context 35 | description: 36 | A clear and concise description of what the issue is, as per your 37 | selected issue type. 38 | placeholder: https://fmhy.net is cool and should be added 39 | validations: 40 | required: true 41 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/Appearance.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 38 | 39 | 73 | -------------------------------------------------------------------------------- /docs/.vitepress/markdown/base64.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { MarkdownRenderer } from 'vitepress' 18 | 19 | // FIXME: tasky: possibly write less horror jank? 20 | export function base64DecodePlugin(md: MarkdownRenderer) { 21 | const decode = (str: string): string => 22 | Buffer.from(str, 'base64').toString('binary') 23 | // Save the original rule for backticks 24 | const defaultRender = 25 | md.renderer.rules.code_inline || 26 | function (tokens, idx, options, _env, self) { 27 | return self.renderToken(tokens, idx, options) 28 | } 29 | 30 | md.renderer.rules.code_inline = function (tokens, idx, options, env, self) { 31 | if ( 32 | !env.frontmatter.title || 33 | (env.frontmatter.title && env.frontmatter.title !== 'base64') 34 | ) { 35 | return defaultRender(tokens, idx, options, env, self) 36 | } 37 | const token = tokens[idx] 38 | const content = token.content 39 | 40 | return `` 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/Posts.vue: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 47 | 48 | 68 | -------------------------------------------------------------------------------- /docs/.vitepress/markdown/emoji.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { MarkdownRenderer } from 'vitepress' 18 | import { icons as twemoji } from '@iconify-json/twemoji' 19 | 20 | export const defs = { 21 | ...Object.fromEntries( 22 | Object.entries(twemoji.icons).map(([key]) => { 23 | return [key, ''] 24 | }) 25 | ) 26 | } 27 | 28 | export function emojiRender(md: MarkdownRenderer) { 29 | md.renderer.rules.emoji = (tokens, idx) => { 30 | if (tokens[idx].markup.startsWith('star')) { 31 | return `` 32 | } 33 | return `` 34 | } 35 | } 36 | 37 | export function movePlugin( 38 | plugins: { name: string }[], 39 | pluginAName: string, 40 | order: 'before' | 'after', 41 | pluginBName: string 42 | ) { 43 | const pluginBIndex = plugins.findIndex((p) => p.name === pluginBName) 44 | if (pluginBIndex === -1) return 45 | 46 | const pluginAIndex = plugins.findIndex((p) => p.name === pluginAName) 47 | if (pluginAIndex === -1) return 48 | 49 | if (order === 'before' && pluginAIndex > pluginBIndex) { 50 | const pluginA = plugins.splice(pluginAIndex, 1)[0] 51 | plugins.splice(pluginBIndex, 0, pluginA) 52 | } 53 | 54 | if (order === 'after' && pluginAIndex < pluginBIndex) { 55 | const pluginA = plugins.splice(pluginAIndex, 1)[0] 56 | plugins.splice(pluginBIndex, 0, pluginA) 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/satoriConfig.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { SatoriOptions } from 'x-satori/vue' 18 | import { readFile } from 'node:fs/promises' 19 | import { dirname, resolve } from 'node:path' 20 | import { fileURLToPath } from 'node:url' 21 | import { defineSatoriConfig } from 'x-satori/vue' 22 | 23 | const __dirname = dirname(fileURLToPath(import.meta.url)) 24 | const __fonts = resolve(__dirname, '../fonts') 25 | 26 | const fonts: SatoriOptions['fonts'] = [ 27 | { 28 | name: 'Inter', 29 | data: await readFile(resolve(__fonts, 'Inter-Regular.otf')), 30 | weight: 400, 31 | style: 'normal' 32 | }, 33 | { 34 | name: 'Inter', 35 | data: await readFile(resolve(__fonts, 'Inter-Medium.otf')), 36 | weight: 500, 37 | style: 'normal' 38 | }, 39 | { 40 | name: 'Inter', 41 | data: await readFile(resolve(__fonts, 'Inter-SemiBold.otf')), 42 | weight: 600, 43 | style: 'normal' 44 | }, 45 | { 46 | name: 'Inter', 47 | data: await readFile(resolve(__fonts, 'Inter-Bold.otf')), 48 | weight: 700, 49 | style: 'normal' 50 | } 51 | ] 52 | 53 | export default defineSatoriConfig({ 54 | width: 1800, 55 | height: 900, 56 | fonts, 57 | props: { 58 | title: 'Title', 59 | description: 60 | 'Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.', 61 | dir: '/j', 62 | // I almost killed myself for this shit 63 | image: 'https://i.fmhy.net/og-base.jpg' 64 | } 65 | }) 66 | -------------------------------------------------------------------------------- /docs/posts/filecr-malware.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: We Removed FileCR as we Found Malware 3 | description: Update on FileCR 4 | date: 2023-08-14 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | # FileCR Malware 15 | 16 | Note: The malware is not exclusive to FileCR and we don't have proof FileCR is 17 | intentionally hosting it, but they haven't removed it. Possible sources of the 18 | malware include some uploaders on sanet, but it seems to be coming from multiple 19 | sources. 20 | 21 | Since the malware has been found coming from multiple sources, info about the 22 | malware itself has moved to [here](https://rentry.co/big_load_malware). Check 23 | there for technical info or to check if you've been infected. 24 | 25 | So far, malware has been found in the following cracks, but it is likely it is 26 | undiscovered in many more downloads because of how large their catalog is. 27 | 28 | - https://filecr.com/windows/kms-matrix/ 29 | - https://filecr.com/windows/windows-activator-by-goddy/ 30 | - https://filecr.com/windows/stardock-start11 31 | - https://filecr.com/windows/malwarebytes-premium 32 | - https://filecr.com/windows/navicat-premium (Navicat Premium 16.2.3) 33 | - https://filecr.com/windows/outbyte-driver-updater 34 | - https://filecr.com/windows/jetbrains-pycharm (Premium release, you need 35 | https://greasyfork.org/en/scripts/403170-bypass-filecrypt to access) 36 | - https://filecr.com/windows/avast-premier-antivirus 37 | 38 | So far FileCR has not responded at all, which is unusual as they are usually 39 | very active and have removed malware in the past as quickly as 6 hours. Because 40 | the malware is included in multiple unrelated cracks and because they have not 41 | responded at all to reports, they are likely to be in some way involved in 42 | spreading or creating the malware. Also, some of the malware had descriptions 43 | written just for FileCR, which is unusual, and the description for KMS matrix 44 | contains lies about the activation given by the software. 45 | 46 | ## [Samples](https://rentry.co/big_load_malware#samples) 47 | 48 | ## [Am I infected?](https://rentry.co/big_load_malware#am-i-infected) 49 | -------------------------------------------------------------------------------- /api/routes/single-page.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | const files = ( 17 | [ 18 | 'adblockvpnguide.md', 19 | 'ai.md', 20 | 'android-iosguide.md', 21 | 'audiopiracyguide.md', 22 | 'beginners-guide.md', 23 | 'devtools.md', 24 | 'downloadpiracyguide.md', 25 | 'edupiracyguide.md', 26 | 'file-tools.md', 27 | 'gaming-tools.md', 28 | 'gamingpiracyguide.md', 29 | 'img-tools.md', 30 | 'internet-tools.md', 31 | 'linuxguide.md', 32 | 'miscguide.md', 33 | 'non-english.md', 34 | 'readingpiracyguide.md', 35 | 'social-media-tools.md', 36 | 'storage.md', 37 | 'system-tools.md', 38 | 'text-tools.md', 39 | 'torrentpiracyguide.md', 40 | 'unsafesites.md', 41 | 'video-tools.md', 42 | 'videopiracyguide.md' 43 | ] as const 44 | ).map((file) => ({ 45 | name: file, 46 | url: `https://raw.githubusercontent.com/fmhy/edit/main/docs/${file}` 47 | })) 48 | 49 | export default defineCachedEventHandler( 50 | async (event) => { 51 | let body = '\n' 52 | 53 | const contents = await Promise.all( 54 | files.map(async (file) => { 55 | const content = await $fetch(file.url) 56 | 57 | return content 58 | }) 59 | ) 60 | body += contents.join('\n\n') 61 | 62 | appendResponseHeaders(event, { 63 | 'content-type': 'text/markdown;charset=utf-8', 64 | 'cache-control': 'public, max-age=7200' 65 | }) 66 | return body 67 | }, 68 | { 69 | maxAge: 60 * 60, 70 | name: 'single-page', 71 | getKey: () => 'default' /* Can be extended in the future */ 72 | } 73 | ) 74 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/rss.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { ContentData, SiteConfig } from 'vitepress' 18 | import { writeFileSync } from 'node:fs' 19 | import path from 'node:path' 20 | import consola from 'consola' 21 | import { Feed } from 'feed' 22 | import { createContentLoader } from 'vitepress' 23 | import { meta } from '../constants' 24 | 25 | export async function generateFeed(config: SiteConfig): Promise { 26 | const feed: Feed = new Feed({ 27 | id: meta.hostname, 28 | link: meta.hostname, 29 | title: 'FMHY blog', 30 | description: meta.description, 31 | language: 'en-US', 32 | image: 'https://github.com/fmhy.png', 33 | favicon: `${meta.hostname}/favicon.ico`, 34 | copyright: 'Copyright (c) 2023-present FMHY' 35 | }) 36 | 37 | const posts: ContentData[] = await createContentLoader('posts/*.md', { 38 | excerpt: true, 39 | render: true, 40 | transform: (rawData) => { 41 | return rawData.sort((a, b) => { 42 | return ( 43 | Number(new Date(b.frontmatter.date)) - 44 | Number(new Date(a.frontmatter.date)) 45 | ) 46 | }) 47 | } 48 | }).load() 49 | 50 | for (const { url, frontmatter, html } of posts) { 51 | feed.addItem({ 52 | title: frontmatter.title as string, 53 | id: `${meta.hostname}${url.replace(/\/\d+\./, '/')}`, 54 | link: `${meta.hostname}${url.replace(/\/\d+\./, '/')}`, 55 | date: frontmatter.date, 56 | content: html?.replaceAll('​', '') 57 | }) 58 | } 59 | 60 | writeFileSync(path.join(config.outDir, 'feed.rss'), feed.rss2()) 61 | return consola.info('Generated rss feed.') 62 | } 63 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/Layout.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 62 | 63 | 88 | -------------------------------------------------------------------------------- /api/routes/feedback.post.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { fetcher } from 'itty-fetcher' 18 | import { 19 | FeedbackSchema, 20 | getFeedbackOption 21 | } from '../../docs/.vitepress/types/Feedback' 22 | 23 | export default defineEventHandler(async (event) => { 24 | const { message, page, type, heading } = await readValidatedBody( 25 | event, 26 | FeedbackSchema.parseAsync 27 | ) 28 | const env = useRuntimeConfig(event) 29 | 30 | const pageURL = `https://fmhy.net${page}` 31 | const fields = [ 32 | { 33 | name: 'Page', 34 | value: `[${page}](${pageURL})`, 35 | inline: true 36 | }, 37 | { 38 | name: 'Message', 39 | value: message, 40 | inline: false 41 | } 42 | ] 43 | 44 | if (heading) { 45 | fields.unshift({ 46 | name: 'Section', 47 | value: heading, 48 | inline: true 49 | }) 50 | } 51 | 52 | // FIXME: somehow this is not working, but it worked before 53 | // const path = 'feedback' 54 | // 55 | // const { success } = await env.MY_RATE_LIMITER.limit({ key: path }) 56 | // if (!success) { 57 | // return new Response('429 Failure – global rate limit exceeded', { 58 | // status: 429 59 | // }) 60 | // } 61 | 62 | await fetcher() 63 | .post(env.WEBHOOK_URL, { 64 | username: 'Feedback', 65 | avatar_url: 66 | 'https://i.kym-cdn.com/entries/icons/facebook/000/043/403/cover3.jpg', 67 | embeds: [ 68 | { 69 | color: 3447003, 70 | title: getFeedbackOption(type).label, 71 | fields 72 | } 73 | ] 74 | }) 75 | .catch((error) => { 76 | throw new Error(error) 77 | }) 78 | 79 | return { status: 'ok' } 80 | }) 81 | -------------------------------------------------------------------------------- /docs/.vitepress/transformer/core.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import consola from 'consola' 18 | 19 | type Transform = { 20 | name: string 21 | find: string | RegExp 22 | replace: string | ((match: string) => string) 23 | } 24 | 25 | type TransformerFunc = (name: string, transforms: Transform[]) => Replacer 26 | 27 | interface Replacer { 28 | transform: TransformerFunc 29 | getText(): string 30 | } 31 | 32 | export const transformer = (text: string) => { 33 | const handler: ProxyHandler<{ text: string }> = { 34 | get(target: { text: string }, prop: string | symbol) { 35 | if (prop === 'transform') { 36 | return (name: string, transforms: Transform[]): Replacer => { 37 | consola.debug(`Starting transform ${name} with ${transforms}`) 38 | 39 | transforms.forEach(({ name, find, replace }) => { 40 | consola.debug(`Transforming ${name} with ${find}`) 41 | target.text = target.text.replace(find, replace as any) 42 | }) 43 | 44 | // @ts-expect-error - Proxy is not typed 45 | return proxy 46 | } 47 | } 48 | if (prop === 'getText') { 49 | return () => target.text 50 | } 51 | return Reflect.get(target, prop) 52 | } 53 | } 54 | 55 | const target = { text } 56 | const proxy = new Proxy(target, handler) 57 | return proxy as unknown as Replacer 58 | } 59 | 60 | export function replaceUnderscore(text: string): string { 61 | const pattern = /\/#[\w\-]+(?:_[\w]+)*/g 62 | const matches = text.match(pattern) || [] 63 | let _text = text 64 | for (const match of matches) { 65 | const replacement = match.replace(/_/g, '-') 66 | _text = _text.replace(match, replacement) 67 | } 68 | return _text 69 | } 70 | -------------------------------------------------------------------------------- /docs/.vitepress/theme/components/ColorPicker.vue: -------------------------------------------------------------------------------- 1 | 64 | 65 | 89 | -------------------------------------------------------------------------------- /docs/posts/april-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [April] 3 | description: April 2023 updates. 4 | date: 2023-04-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added 24 | [🤖 Artificial Intelligence](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/ai) 25 | section. 26 | 27 | - Added Optimization, Tabletop, and Git Gud subsections in 28 | [Gaming](/gamingpiracyguide/#gaming-tools). 29 | 30 | - Split [Language Learning](/edupiracyguide/#language-learning) into 31 | subsections. 32 | 33 | - Split [Shopping](/miscguide/#shopping) into subsections. 34 | 35 | - Split the learning portion of [Dev Tools](/devtools/) into subsections. 36 | 37 | - Added Art Education section to [Image Tools](/img-tools/#art-education). 38 | 39 | - Added NoFap section to NSFW to save souls. 40 | 41 | - Added [New Headers](https://imgur.com/a/YXWUZun) to the subreddit. 42 | 43 | --- 44 | 45 | ### Stars Added ⭐ 46 | 47 | - Starred [ChatPDF](/ai/#ai-chatbots) in AI chatbots. AI that turns any book 48 | into a chatbot. 49 | 50 | - Starred [Foogle](/videopiracyguide/#drives--directories) in Video Download. 51 | Fast, single click video downloads. 52 | 53 | - Starred [JustChill](/videopiracyguide/#dedicated-hosts) in Streaming Sites. 54 | Nice UI, fast 1080p. 55 | 56 | - Starred [movie-web](/videopiracyguide/#multi-hosts) Streaming Sites. Nice UI, 57 | fast 1080p. 58 | 59 | - Starred [Primewire](/videopiracyguide/#multi-hosts) in Streaming Sites. 60 | Primewire has started adding links to pirated content again. 61 | 62 | - Starred [Wotaku](https://wotaku.pages.dev/) in Indexes. Awesome Japanese 63 | piracy index. 64 | 65 | - Starred [RLSLOAD](/downloadpiracyguide/#software-sites) in software sites. 66 | Software site with single click downloads. 67 | 68 | - Starred [Flameshot](/img-tools/#screenshot-tools) in Screenshot Tools. Some 69 | people like this more than ShareX. 70 | 71 | --- 72 | 73 | ### Things Removed 74 | 75 | - Removed FTUApps. FTU got caught with [malware](https://redd.it/120xk62) by 76 | /r/Piracy. 77 | 78 | - Removed star from FileCR. They added new anti-adblock measures recently, and 79 | adblock defenders are no longer working for many users. 80 | 81 | - Removed anti-anti-copy userscript. Script enables F7 "Caret Browsing mode" 82 | without telling the user its been enabled, or how to turn it off. 83 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@fmhy/website", 3 | "packageManager": "pnpm@10.12.2+sha256.07b2396c6c99a93b75b5f9ce22be9285c3b2533c49fec51b349d44798cf56b82", 4 | "type": "module", 5 | "engines": { 6 | "node": "21.7.3" 7 | }, 8 | "scripts": { 9 | "api:build": "nitropack build", 10 | "api:deploy": "wrangler deploy", 11 | "api:dev": "nitropack dev", 12 | "api:prepare": "nitropack prepare", 13 | "api:preview": "node .output/server/index.mjs", 14 | "api:typegen": "wrangler types api/worker-configuration.d.ts", 15 | "docs:build": "vitepress build docs/", 16 | "docs:dev": "vitepress dev docs/", 17 | "docs:preview": "vitepress preview docs/", 18 | "format": "prettier -w --cache --check .", 19 | "licenser": "deno run --allow-read jsr:@kt3k/license-checker@3.3.1/main", 20 | "og:dev": "x-satori -t ./docs/.vitepress/hooks/Template.vue -c ./docs/.vitepress/hooks/satoriConfig.ts --dev" 21 | }, 22 | "dependencies": { 23 | "@fmhy/colors": "^0.0.11", 24 | "@fmhy/components": "^0.0.3", 25 | "@headlessui/vue": "^1.7.23", 26 | "@resvg/resvg-js": "^2.6.2", 27 | "@vueuse/core": "^13.0.0", 28 | "consola": "^3.2.3", 29 | "feed": "^4.2.2", 30 | "itty-fetcher": "^0.9.4", 31 | "nitro-cors": "^0.7.1", 32 | "nitropack": "^2.11.6", 33 | "nprogress": "^0.2.0", 34 | "pathe": "^2.0.1", 35 | "reka-ui": "^2.3.1", 36 | "unocss": "66.1.0-beta.3", 37 | "vitepress": "^1.6.3", 38 | "vue": "^3.5.13", 39 | "x-satori": "^0.2.0", 40 | "zod": "^3.24.2" 41 | }, 42 | "devDependencies": { 43 | "@cloudflare/workers-types": "^4.20241230.0", 44 | "@ianvs/prettier-plugin-sort-imports": "^4.3.1", 45 | "@iconify-json/carbon": "^1.2.5", 46 | "@iconify-json/fluent": "^1.2.23", 47 | "@iconify-json/fluent-mdl2": "^1.2.1", 48 | "@iconify-json/gravity-ui": "^1.2.5", 49 | "@iconify-json/heroicons-solid": "^1.2.0", 50 | "@iconify-json/logos": "^1.2.4", 51 | "@iconify-json/lucide": "^1.2.10", 52 | "@iconify-json/material-symbols": "^1.2.22", 53 | "@iconify-json/mdi": "^1.2.1", 54 | "@iconify-json/ph": "^1.2.2", 55 | "@iconify-json/qlementine-icons": "^1.2.6", 56 | "@iconify-json/simple-icons": "^1.2.12", 57 | "@iconify-json/twemoji": "^1.2.1", 58 | "@iconify/utils": "^2.3.0", 59 | "@types/node": "^20.16.12", 60 | "@types/nprogress": "^0.2.3", 61 | "nitro-cloudflare-dev": "^0.2.2", 62 | "prettier": "^3.5.3", 63 | "prettier-plugin-pkgsort": "^0.2.1", 64 | "prettier-plugin-tailwindcss": "^0.6.11", 65 | "sass": "^1.85.1", 66 | "typescript": "^5.8.2", 67 | "unplugin-auto-import": "^0.18.3", 68 | "vite-plugin-optimize-exclude": "^0.0.1", 69 | "vite-plugin-terminal": "^1.2.0", 70 | "wrangler": "^3.114.1" 71 | }, 72 | "pnpm": { 73 | "peerDependencyRules": { 74 | "ignoreMissing": [ 75 | "@algolia/client-search", 76 | "search-insights" 77 | ] 78 | }, 79 | "onlyBuiltDependencies": [ 80 | "vue-demi" 81 | ] 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /docs/posts/may-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [May] 3 | description: May 2023 updates. 4 | date: 2023-05-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added **[The Piracy Glossary ☠️](https://rentry.org/The-Piracy-Glossary)**, 24 | where we've organized and given explanations to every piracy related term we 25 | could think of. 26 | 27 | - Added Optimization, Tweaking, Virtual Machines and Terminal / CLI subsections 28 | to [System Tools](/system-tools). 29 | 30 | - Added Chat / Forums, Image / Video, Interactive, Interesting and Random 31 | subsections to [Fun Sites](/miscguide/#fun-sites). 32 | 33 | - Added [Gardening](/miscguide/#gardening) section to Miscellaneous. 34 | 35 | - Made a [Software CSE](/downloadpiracyguide/#software-sites) out of the 36 | software sites. 37 | 38 | --- 39 | 40 | ### Stars Added ⭐ 41 | 42 | - Starred [Torrminatorr](/gamingpiracyguide/#download-games) in Gaming Sites. 43 | Tormminatorr is back! 44 | 45 | - Starred [GOG Games](/gamingpiracyguide/#download-games) in Gaming Sites. Gog 46 | is back on clearnet! 47 | 48 | - Starred [FileCR](/downloadpiracyguide/#software-sites) in Software Sites. 49 | FileCR has removed their anti-adblock. 50 | 51 | - Starred [Streaminal-TV](/videopiracyguide/#dedicated-hosts) in Streaming 52 | Sites. Nice UI, fast 1080p. 53 | 54 | - Starred [TokyoInsider](/videopiracyguide/#anime-downloading) in Anime 55 | Downloading. Anime site with single click DDLs. 56 | 57 | - Starred [Cubari](/readingpiracyguide/#manga-sites) in Manga Sites. Multi-site 58 | manga scraper. 59 | 60 | - Starred [FoxyTab](https://addons.mozilla.org/en-US/firefox/addon/foxytab/), 61 | [Zoom Page WE](https://addons.mozilla.org/en-US/firefox/addon/zoom-page-we/) 62 | and 63 | [Scroll Anywhere](https://addons.mozilla.org/en-US/firefox/addon/scroll_anywhere/) 64 | in Browser Extensions. 65 | 66 | - Starred [PokeSmash](/miscguide/#random) in Fun Sites. 67 | 68 | - Re-added + starred [WCO](/videopiracyguide/#cartoon-streaming) in Cartoon 69 | Streaming. This went paid for a bit, but seems to be free again. 70 | 71 | - Re-added + starred [CloudStream](/android-iosguide/#android-streaming) in 72 | Android Streaming. Some extensions are still getting updates. 73 | 74 | --- 75 | 76 | ### Things Removed 77 | 78 | - Unstarred WebOasis in Indexes. Doesn't seem to be getting updated anymore. RIP 79 | Webby. 80 | 81 | - Unstarred UniqueStream, HDMovieBox and Pirate-Media in streaming for being 82 | slow / dead. 83 | 84 | - Unstarred Soft98 in software as most downloads are dead. 85 | 86 | - Removed Midjourney in Image Gen as its 87 | [no longer free](https://youtu.be/EHnUydrurmk). 88 | -------------------------------------------------------------------------------- /docs/posts/jan-2025.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [January] 3 | description: January 2025 updates. 4 | date: 2025-01-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | 22 | ### Wiki Updates 23 | 24 | * Created **[guides.fmhy.lol](https://guides.fmhy.lol/)** which lists all the guides we have throughout FMHY. 25 | 26 | * Re-ordered [Game DDL](https://fmhy.net/gamingpiracyguide#download-games) based on [poll results](https://challonge.com/1mqmqrdq). Congrats to CS.RIN for coming out on top. 27 | 28 | * Added both [Sideloading](https://fmhy.net/android-iosguide#ios-sideloading) and [Social Media App](https://fmhy.net/android-iosguide#social-media-apps-1) sections to iOS. 29 | 30 | * Added [Last.fm section](https://fmhy.net/audiopiracyguide#last-fm-tools) to Audio Tracking. 31 | 32 | * Cleaned up Font section + split it into subcategories: [Open Source](https://fmhy.net/text-tools#open-source-freeware) / [Free Fonts](https://fmhy.net/text-tools#free-fonts). 33 | 34 | * Added guides + better descriptions to all the [Jailbreaking Tools](https://fmhy.net/android-iosguide#ios-jailbreaking). 35 | 36 | * Added License Tags to [Stock Photo Sites](https://fmhy.net/img-tools#stock-images). 37 | 38 | * De-bloated [IDEs section](https://fmhy.net/devtools#ides-code-editors) in dev tools. 39 | 40 | --- 41 | 42 | ### Stars Added ⭐ 43 | 44 | * Starred [Image FX](https://fmhy.net/ai#image-generation) in Image Gen + [Video FX](https://fmhy.net/ai#video-generation) in Video Gen. AI generators made by Google, US only. 45 | 46 | * Starred [Alu](https://fmhy.net/adblockvpnguide#proxy-sites) in Proxy Sites. Proxy site similar to things like HolyUnblocker. 47 | 48 | * Starred [Lively](https://fmhy.net/system-tools#wallpaper-managers) in Wallpaper Managers. Feature-rich live wallpaper manager for Windows. 49 | 50 | * Starred [BandLab](https://fmhy.net/audiopiracyguide#browser-editors-synths) in Audio Browser Editors. Popular and feature-rich digital audio workstation. 51 | 52 | * Starred [Kvaesitso](https://fmhy.net/android-iosguide#app-launchers) in Android App Launchers. Feature-rich, search focused launcher. 53 | 54 | * Starred [SideStore](https://fmhy.net/android-iosguide#ios-sideloading) in iOS Sideloading. Fork of AltStore that doesn't require PC. 55 | 56 | * Starred [uYouEnhanced](https://fmhy.net/android-iosguide#ios-youtube-apps) in iOS YouTube apps. Modded YouTube IPA. 57 | 58 | * Starred [The Book of Secret Knowledge](https://fmhy.net/linuxguide#software-sites) in Linux Software. Lists, manuals, cheatsheets, tools and more. 59 | 60 | * Starred [You Don't Need JavaScript](https://fmhy.net/devtools#css) in CSS Tools. Curated list of CSS demos. 61 | 62 | --- 63 | 64 | ### Things Removed 65 | 66 | * Removed Filehaus as they've [shut down](https://i.imgur.com/aNPHfAN.png) 67 | 68 | * Unstarred GoGoAnime as they're no longer adding new content. 69 | -------------------------------------------------------------------------------- /docs/posts/july-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [July] 3 | description: July 2023 updates. 4 | date: 2023-07-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added a [Study / Research](/edupiracyguide/#study--research) section to 24 | Educational. 25 | 26 | - Added a [Travel](/miscguide/#travel) section to Miscellaneous. 27 | 28 | - Added a [Hardware](/system-tools#hardware-tools) section to System Tools. 29 | 30 | - Added qualities (720p, 1080p) to 31 | [Anime Streaming](/videopiracyguide/#anime-streaming) sites. 32 | 33 | - [Combined](/gamingpiracyguide/#steam--epic) Steam / Epic Tools with DLC 34 | Unlockers. 35 | 36 | - Linked the ["missing sections"](https://ibb.co/X8K2GTc) in all index pages. 37 | i.e. Image Tools, Dev Tools, Storage, Base64, NSFW and Unsafe. 38 | 39 | --- 40 | 41 | ### Stars Added ⭐ 42 | 43 | - Starred [Seez](/videopiracyguide/#multi-hosts) in Streaming Sites. Nice UI, 44 | fast 1080p. 45 | 46 | - Starred [SockShare](/videopiracyguide/#dedicated-hosts) in Streaming Sites. 47 | Great for obscure TV. 48 | 49 | - Starred [UHDMovies](/videopiracyguide/#download-sites) in Video Download. 4K 50 | Movie Host. 51 | 52 | - Starred [Glitchwave](/gamingpiracyguide/#tracking--discovery) in Game 53 | Tracking. RYM's new game rating site. 54 | 55 | - Starred [hate5six](/audiopiracyguide/#streaming-sites) in Audio Streaming. 56 | Huge collection of live band videos. 57 | 58 | - Starred [SittingOnClouds](/audiopiracyguide/#download-sites) in Audio 59 | Download. Game / Anime Soundtracks. 60 | 61 | - Starred [Koalageddon](/gamingpiracyguide/#steam--epic) in Steam / Epic. DLC 62 | Unlocker. 63 | 64 | - Starred [SpotC++](/android-iosguide/#ios-audio) in iOS Audio. Spotilife + 65 | Sposify IPA. 66 | 67 | - Starred [Favoree](/toolsguide/#youtube-tools) in YouTube Tools. Channel 68 | Discovery. 69 | 70 | - Starred [CloakStream](/adblockvpnguide/#browser-tools) in Privacy Tools. 71 | Encrypt Download URLs. 72 | 73 | --- 74 | 75 | ### Things Removed 76 | 77 | - Removed Soap2Day in Streaming Sites as they've shutdown. 78 | 79 | - Unstarred JustChill in Streaming Sites as they've been dealing with DDoS 80 | attacks and now require logins. 81 | 82 | - Removed Rinzry in Video Download as drive generators no longer work. 83 | 84 | - Removed Mudome in Audio Streaming as it turned into a NSFW site. 85 | 86 | - Removed Demonoid as they've gone private. 87 | 88 | - Unstarred Imgur in Image Hosts as they've mass deleted everything not tied to 89 | accounts. 90 | 91 | - Unstarred IVPN as they've decided to remove 92 | [port forwarding](https://www.ivpn.net/blog/gradual-removal-of-port-forwarding/). 93 | 94 | - Removed Chromium from the Unsafe List, as some people feel strongly that 95 | [Manifest V3](https://www.eff.org/deeplinks/2021/12/chrome-users-beware-manifest-v3-deceitful-and-threatening) 96 | isn't enough justification to label it unsafe. 97 | -------------------------------------------------------------------------------- /docs/.vitepress/markdown/headers.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | /** 17 | * Copyright (c) 2024 taskylizard 18 | * 19 | * Licensed under the Apache License, Version 2.0 (the "License"); 20 | * you may not use this file except in compliance with the License. 21 | * You may obtain a copy of the License at 22 | * 23 | * http://www.apache.org/licenses/LICENSE-2.0 24 | * 25 | * Unless required by applicable law or agreed to in writing, software 26 | * distributed under the License is distributed on an "AS IS" BASIS, 27 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 28 | * See the License for the specific language governing permissions and 29 | * limitations under the License. 30 | */ 31 | 32 | import type { MarkdownRenderer } from 'vitepress' 33 | import { headers } from '../transformer/constants' 34 | 35 | const titles = Object.keys(headers).map((key) => headers[key].title) 36 | 37 | export const headersPlugin = (md: MarkdownRenderer) => { 38 | // Add the Feedback component in the heading, before the link. 39 | // 40 | // Adding it after the link is closed prevents vitepress from properly 41 | // indexing the file's content. 42 | 43 | md.renderer.rules.heading_open = (tokens, idx, options, env, self) => { 44 | const result = self.renderToken(tokens, idx, options) 45 | 46 | const idxClose = 47 | idx + 48 | tokens.slice(idx).findIndex((token) => token.type === 'heading_close') 49 | if (idxClose <= idx) return result 50 | 51 | const level = tokens[idx].tag.slice(1) 52 | if (!titles.includes(env.frontmatter.title) || level !== '2') return result 53 | 54 | // Find the token for the link. 55 | // 56 | // The token after `heading_open` contains the link as a child token. 57 | const children = tokens[idx + 1].children || [] 58 | const linkOpenToken = children.findLast((c) => c.type === 'link_open') 59 | if (!linkOpenToken) return result 60 | 61 | const heading = tokens[idxClose - 1] 62 | 63 | linkOpenToken.meta = linkOpenToken.meta || {} 64 | linkOpenToken.meta.feedback = { 65 | heading: heading.content 66 | } 67 | 68 | return result 69 | } 70 | 71 | const defaultRender = md.renderer.rules.link_open 72 | 73 | md.renderer.rules.link_open = (tokens, idx, options, env, self) => { 74 | const result = defaultRender!!!!!!!!!!(tokens, idx, options, env, self) 75 | 76 | const meta = tokens[idx].meta 77 | if (!meta || !meta.feedback) return result 78 | 79 | const heading = meta.feedback.heading || '' 80 | if (!heading) return result 81 | 82 | return `${result}` 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /docs/posts/mar-2025.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [March] 3 | description: March 2025 updates 4 | date: 2025-03-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Re-ordered [AI image generators](https://fmhy.net/ai#image-generation) based on [poll results](https://challonge.com/xfu596g9). Thanks to everyone who voted, and congrats to NexusAI Image for coming out on top. 24 | 25 | - Separated [Image Hosts](https://fmhy.net/img-tools#image-hosts) & [Online Galleries](https://fmhy.net/img-tools#online-galleries) into their own subsections + added size, file retention, and signup requirement tags. 26 | 27 | - Split Web Hosting Sites into [Dynamic](https://fmhy.net/storage#dynamic-page-hosting), [Static](https://fmhy.net/storage#static-page-hosting) & [Builders](https://fmhy.net/storage#website-builders) + added space, monthly transfer and traffic tags to each. 28 | 29 | - Separated [RSS Tools](https://fmhy.net/internet-tools#rss-tools) & [Bookmark Tools](https://fmhy.net/internet-tools#bookmark-tools) into their own subsections. 30 | 31 | - Moved [Voice Removal / Separation](https://fmhy.net/ai#voice-removal-separation) from storage to its own section in AI. [Before vs. After](https://i.imgur.com/sPqq1v3.png). 32 | 33 | - Added mobile optimization scores for all the [streaming sites](). 34 | 35 | - Added tags / labels to [Image Upscalers](https://fmhy.net/img-tools#upscale-restore) section. 36 | 37 | --- 38 | 39 | ### Stars Added ⭐ 40 | 41 | - Starred [files.vc](https://fmhy.net/file-tools#file-hosts) in File Hosts. 10GB per file, no expiration, unlimited files. 42 | 43 | - Starred [AB Download Manager](https://fmhy.net/file-tools#download-managers) in Download Managers. Manager that is open-source, well maintained, feature-rich, and nice to look at. 44 | 45 | - Starred [lossless-cut](https://fmhy.net/video-tools#video-editors) in Video Editors. Feature-rich editor that that preserves quality / metadata for FFMPEG. 46 | 47 | - Starred [wide.video](https://fmhy.net/video-tools#online-editors) in Online Video Editors. Feature-rich and stands out a lot compared to similar options. 48 | 49 | - Starred [Footballia](https://fmhy.net/videopiracyguide#sports-replays) in Sports Replays. Full classic football matches. 50 | 51 | - Starred [Geotastic](https://fmhy.net/gamingpiracyguide#geoguessr-games) in GeoGuessr Games. Seems to stand out compared to similar options. 52 | 53 | - Starred [DAREBEE + r/BodyweightFitness Wiki](https://fmhy.net/miscguide#workout-exercise) in Workout. Multiple fitness routines, both seem to be well liked by the community. 54 | 55 | - Re-starred [Stacher](https://fmhy.net/social-media-tools#youtube-downloaders) in YouTube Downloaders. People felt as though a good YT-DLP GUI was worth having starred again. 56 | 57 | - Starred [UVR5_UI](https://fmhy.net/ai#voice-removal-separation) in Voice Removal. Online voice removal tool that seems to work well. 58 | 59 | --- 60 | 61 | ### Things Removed 62 | 63 | - Removed Malwarebytes crack as it no longer works. 64 | 65 | - Unstarred Go Speed as people don't feel its as good as other options anymore. 66 | -------------------------------------------------------------------------------- /docs/other/selfhosting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Selfhosting FMHY 3 | description: This guide will help you set up and run your own instance of FMHY locally. 4 | --- 5 | 6 | # Selfhosting 7 | 8 | This guide will help you set up and run your own instance of FMHY locally. 9 | 10 | :::warning 11 | Do note that you **must** differentiate your instance from the official site (fmhy.net) to avoid confusion. Steps to do so are given below. 12 | ::: 13 | 14 | #### Prerequisites 15 | 16 | ### Docker (Experimental) 17 | 18 | You will need to install Docker and Docker Compose run your own instance of FMHY locally. 19 | 20 | - [Docker](https://docs.docker.com/get-docker/) 21 | - [Docker Compose](https://docs.docker.com/compose/install/) 22 | 23 | After installing Docker and Docker Compose, run the following commands: 24 | 25 | ```bash 26 | git clone https://github.com/fmhy/edit.git 27 | cd edit 28 | sudo docker compose up --build 29 | ``` 30 | 31 | It should take a few minutes to build the image and start the container, running at port 4173. 32 | 33 | ### Manually 34 | 35 | - [Git](https://git-scm.com/downloads) 36 | - [Node.js](https://nodejs.org/en/download/) - Use the latest available LTS, doesn't matter much 37 | - [pnpm 9.12.2 or newer](https://pnpm.io/installation) 38 | 39 | #### Step 1: Clone the Repository 40 | 41 | ```bash 42 | git clone https://github.com/fmhy/edit.git 43 | cd edit 44 | ``` 45 | 46 | #### Step 2: Install Dependencies 47 | 48 | Install project dependencies using pnpm: 49 | 50 | ```bash 51 | pnpm install 52 | ``` 53 | 54 | #### Step 3: Development Mode 55 | 56 | To run the project in development mode: 57 | 58 | ```bash 59 | # Start the documentation site in dev mode 60 | pnpm docs:dev 61 | 62 | # Start the API in dev mode (if needed) 63 | pnpm api:dev 64 | ``` 65 | 66 | The development server will start at `http://localhost:5173` by default. 67 | 68 | #### Step 4: Building for Production 69 | 70 | You will need to update: 71 | - the `meta` constant in `docs/.vitepress/constants.ts` 72 | - `name`: Name of your instance 73 | - `hostname`: Your domain 74 | - `description`: Description of your instance 75 | - `tags`: Opengraph tags 76 | - `build`: Build options (can be configured with [Environment Variables](/other/selfhosting#environment-variables)) 77 | - `docs/index.md` 78 | - `title` 79 | - `description` 80 | - `hero.name` 81 | - `hero.tagline` 82 | 83 | 84 | To build the project for production: 85 | 86 | ```bash 87 | # Build the documentation site 88 | pnpm docs:build 89 | 90 | # Build the API (if needed) using the Node.js preset 91 | NITRO_PRESET=node pnpm api:build 92 | ``` 93 | 94 | #### Step 5: Preview Production Build 95 | 96 | To preview the production build locally: 97 | 98 | ```bash 99 | # Preview the documentation site 100 | pnpm docs:preview 101 | 102 | # Preview the API (if needed) 103 | pnpm api:preview 104 | ``` 105 | 106 | #### Step 6: Deploy 107 | 108 | See the [VitePress deployment guide](https://vitepress.dev/guide/deploy) for more information. 109 | 110 | #### Environment Variables 111 | 112 | You may want to disable NSFW content (sidebar entry, page contents) and/or the API component for Feedback: 113 | 114 | - `FMHY_BUILD_NSFW` - Disables NSFW content (experimental) 115 | - `FMHY_BUILD_API` - Disables the API component 116 | 117 | #### Troubleshooting 118 | 119 | 1. If you encounter Node.js version issues, ensure you're using Node.js 21+ 120 | 2. For pnpm-related issues, make sure you're using pnpm 9+ 121 | 3. Clear the cache if you encounter build issues: 122 | ```bash 123 | rm -rf docs/.vitepress/cache 124 | rm -rf docs/.vitepress/dist 125 | pnpm install 126 | ``` 127 | -------------------------------------------------------------------------------- /docs/posts/feb-2025.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [Feb] 3 | description: February 2025 updates. 4 | date: 2025-02-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | 22 | ### Wiki Updates 23 | 24 | - Added [Concerts / Live Shows](https://fmhy.net/audiopiracyguide#concerts-live-shows) section to Audio. 25 | 26 | - Added [Genre Specific](https://fmhy.net/audiopiracyguide#genre-specific) section to Audio Downloading. 27 | 28 | - Added [Drinks section](https://fmhy.net/miscguide#drinks) under Food. 29 | 30 | - Moved [Collaboration Platforms](https://fmhy.net/miscguide#collaboration-platforms) out of storage, cleaned up section, and added labels. 31 | 32 | - For individual notes we've stopped linking to pastebins, and instead link our own [GitHub page](https://github.com/fmhy/FMHY/wiki/FMHY‐Notes.md). 33 | 34 | - Added a [Site Grading System](https://github.com/fmhy/FMHY/wiki/Stream-Site-Grading) for streaming to help more fairly sort them. This is currently a work in progress and more categories will be added to further separate sites at the top, such as mobile optimization, ad-free streaming, watch list syncing & more. 35 | 36 | *** 37 | 38 | ### Stars Added ⭐ 39 | 40 | - Starred [DeepSeek](https://fmhy.net/ai#online-chatbots) in Online Chatbots. V3 is unlimited and people seem to be really liking it so far. 41 | 42 | - Starred [AnimeZ](https://fmhy.net/videopiracyguide#anime-streaming) in Anime Streaming. Has fast streams and did well in our polls. 43 | 44 | - Starred [OOMoye](https://fmhy.net/videopiracyguide#download-sites) + [PKMovies](https://fmhy.net/videopiracyguide#drives-directories) under Video Download. Both have big libraries, fast hosts and single click downloads. 45 | 46 | - Starred [Ludusavi](https://fmhy.net/gaming-tools#game-saves) in Game Saves. Feature-rich game save manager that supports all platforms. 47 | 48 | - Starred [TV Garden](https://fmhy.net/videopiracyguide#live-tv) in Live TV. Nice UI, lots of channels and consistent compared to similar options. 49 | 50 | - Starred [PipePipe](https://fmhy.net/android-iosguide#android-youtube-apps) in Android YouTube Apps. Feature-rich fork of NewPipe w/ SponsorBlock / ReturnYTDislikes. 51 | 52 | - Starred [PokéRogue](https://fmhy.net/gaming-tools#pokemon-tools) in Pokémon section. Popular and fun Pokémon dungeon crawler. 53 | 54 | - Starred [WatchParty](https://fmhy.net/video-tools#stream-sync) in Stream Sync. Feature-rich app video sync app that seems to work well for people. 55 | 56 | - Starred [Gifski + EZGif](https://fmhy.net/img-tools#gif-tools) under GIF Tools. High quality GIF creation tools. 57 | 58 | - Starred [Blatant's IPA Library](https://fmhy.net/android-iosguide#telegram-channels-1) in iOS Apps. High quality iOS app releases, stands out compared to similar TG groups. 59 | 60 | - Starred [Reaper](https://fmhy.net/audiopiracyguide#audio-editors) under Audio Editors. Feature-rich digital audio workstation. Says its a trial, but trial never actually ends. 61 | 62 | - Added star back to [SteamGG](https://fmhy.net/gamingpiracyguide#download-games) in Game DDL. Game download site with pre-installs and good hosts, similar to SteamRIP. 63 | 64 | *** 65 | 66 | ### Things Removed 67 | 68 | - Unstarred Firehawk52 as Deezer ARLs are being nuked instantly now. 69 | 70 | - Unstarred IPALibrary, and replaced it with [CodeVN](https://fmhy.net/android-iosguide#ios-ipas) as this is where IPALibrary sources their apps. 71 | -------------------------------------------------------------------------------- /docs/posts/jun-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [June] 3 | description: June 2023 updates. 4 | date: 2023-06-01 5 | next: false 6 | 7 | prev: false 8 | footer: true 9 | --- 10 | 11 | 12 | 13 | :::info 14 | These update threads only contains major updates. If you're interested 15 | in seeing all minor changes you can follow our 16 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 17 | [Updates Channel](https://redd.it/17f8msf) in Discord. 18 | ::: 19 | 20 | ### Wiki Updates 21 | 22 | - Added a [Chess / Checkers](/gamingpiracyguide/#chess--checkers) section to 23 | Browser Games. 24 | 25 | - Added a [Stable Diffusion](/ai/#stable-diffusion) section to Artificial 26 | Intelligence. 27 | 28 | - Added qualities (720p, 1080p, 4k) to 29 | [Video Download](/videopiracyguide/#download-sites) sites. 30 | 31 | - Created a [Git Organization](https://github.com/fmhy) and combined all FMHY 32 | related projects into it. 33 | 34 | - Updated the [Beginners Guide](https://rentry.org/Piracy-BG) with new links, a 35 | FAQ section and more. 36 | 37 | - Imgur is removing everything not tied to an account, so we've gone through and 38 | replaced all our images with ImgBB. 39 | 40 | - Added [Friend Wiki's](https://ibb.co/HCB7BS9) to our sidebar. 41 | 42 | --- 43 | 44 | ### Stars Added ⭐ 45 | 46 | - Starred [Rezi](/storage/#game-download-cse) in Gaming Sites. Multi-site game 47 | download search. 48 | 49 | - Starred [Guanaco](https://huggingface.co/spaces/uwnlp/guanaco-playground-tgi), 50 | [Call Annie](https://callannie.ai/), [BAI](https://chatbot.theb.ai) and 51 | [LMSYS](https://chat.lmsys.org/) in AI Chatbots. 52 | 53 | - Starred [Zoo](https://zoo.replicate.dev/) and 54 | [DeepFloyd IF](https://huggingface.co/spaces/DeepFloyd/IF) in Image 55 | Generators. 56 | 57 | - Starred [Prompt Engineering Guide](/ai/#chatgpt-prompts) in ChatGPT prompts. 58 | 59 | - Starred [Bark](/ai/#text-to-speech) in Text to Speech. 60 | 61 | - Starred [Firehawk52 Guide](/audiopiracyguide/#download-apps) in Audio 62 | Downloading. 63 | 64 | - Starred [store.rg](/downloadpiracyguide/#freeware-sites) in Freeware Sites. 65 | 66 | - Starred [f.lux](/toolsguide/#tweaking) in System Tweaking. 67 | 68 | - Starred [MacroDroid](/android-iosguide/#android-tools) in Android Tools. 69 | 70 | - Starred [Rating Graph](https://www.ratingraph.com/) and 71 | [DeepSearch](https://deepsearch.mycelebs.com/movie) in Tracking / Discovery. 72 | 73 | - Starred [Programming Learning Resources](/devtools/#learning--cheat-sheets) in 74 | Dev Tools. 75 | 76 | - Starred [CityHop](/audiopiracyguide/#ambient--relaxation) in Ambient / 77 | Relaxation. 78 | 79 | - Starred [Knockout](/miscguide/#chat--forums) in Chat / Forums. Made by members 80 | of facepunch forums after it shut down. 81 | 82 | --- 83 | 84 | ### Things Removed 85 | 86 | - Removed and unstarred RARBG as they have decided to 87 | [call it quits](https://ibb.co/zxcLTpq). 88 | 89 | - Unstarred Mullvad in VPNs as they are 90 | [removing support for port forwarding](https://mullvad.net/en/blog/2023/5/29/removing-the-support-for-forwarded-ports/). 91 | 92 | - Unstarred Patoghu in Download Sites. They've added 93 | [persian captchas](https://ibb.co/2SjzZb1) to their downloads, making the site 94 | useless to english users. 95 | 96 | - Unstarred MagicBrush in AI Image Generators. Not quite as good as other free 97 | options now. 98 | 99 | - Unstarred Authy in Privacy Tools as its not open-source. 100 | 101 | - Unstarred Awesome ChatGPT as its no longer updated. 102 | 103 | - Bromite doesn't seem to be maintained anymore, so we've replaced the main repo 104 | with an [autobuild](/android-iosguide/) for now. 105 | -------------------------------------------------------------------------------- /docs/posts/oct-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [Oct 2024] 3 | description: October 2024 updates 4 | date: 2024-10-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Did a complete overhaul of the **[Beginners Guide](https://fmhy.net/beginners-guide)**. Removed outdated links, added new sites, and rewrote all the tips. 24 | 25 | - Reorganized the [Anime Streaming](https://fmhy.net/videopiracyguide#anime-streaming) section based on **[tournament results](https://challonge.com/Anime_Streaming.svg)**. 26 | 27 | - Reorganized both [Multi / Single Hosts](https://ibb.co/X7SC3f8) in the [Streaming section](https://fmhy.net/videopiracyguide) as people felt they were somewhat outdated. 28 | 29 | - Added section for [Steam Deck](https://fmhy.net/gaming-tools#steam-deck) in Gaming Tools. 30 | 31 | --- 32 | 33 | ### Stars Added ⭐ 34 | 35 | - Starred [datadiff](https://fmhy.net/videopiracyguide#drives-directories) in Drives / Directories. Media directory with fast download speed, similar to vadapav / moo. 36 | 37 | - Starred [Proton Pass](https://fmhy.net/internet-tools#password-managers) in Password Managers. Feature-rich manager comparable with things like Bitwarden. 38 | 39 | - Starred [Miruro](https://fmhy.net/videopiracyguide#anime-streaming) in Anime Streaming. This was the winner of our anime streaming polls. 40 | 41 | - Starred [RockMods](https://fmhy.net/android-iosguide#modded-apks) in Modded APKs. RockMods label all their releases correctly, and are usually one of the main sources of other groups. 42 | 43 | - Starred [Openstax](https://fmhy.net/readingpiracyguide#educational-books) in Educational Books. Well-organized educational textbook site. 44 | 45 | - Starred [Yet Another Call Blocker](https://fmhy.net/android-iosguide#number-sms) in Number / SMS. Hasn't been updated in awhile, but it doesn't need to be as its connected to a crowdsourced number [database](https://www.shouldianswer.com/). 46 | 47 | - Starred [UrlCheck](https://fmhy.net/android-iosguide#android-privacy) in Android Privacy. Customizable open-source URL cleaner for android. 48 | 49 | - Starred [Rev Wallpaper](https://fmhy.net/system-tools#wallpapers) in Wallpapers. Reverse wallpaper search engine. 50 | 51 | - Starred [Edge-Remover](https://fmhy.net/internet-tools#browser-tools) in Browser Tools. Easy way to uninstall microsoft edge. 52 | 53 | - Starred [Akuse](https://fmhy.net/videopiracyguide#anime-streaming) in Anime Streaming. Open-source anime app with nice UI. 54 | 55 | - Starred [Movies Countdown](https://fmhy.net/videopiracyguide#calendar-upcoming) in Calendar / Upcoming. Tracks upcoming movie releases, both digital and theater. 56 | 57 | - Starred [Simple Tab Groups](https://fmhy.net/storage#tab-managers) in Tab Managers. Feature-rich tab manager with plugin support. 58 | 59 | --- 60 | 61 | ### Things Removed 62 | 63 | - Removed Essential from minecraft mods as they have a history of malicious practices and there are better options anyways. 64 | 65 | - Removed Slider as they've been [shut down](https://ibb.co/NnY4M8b). 66 | 67 | - Removed AnimeOut as they've closed signups. 68 | 69 | - Unstarred LookMovie as they've locked 720p [behind a paywall](https://ibb.co/9W50NTg). 70 | 71 | - Unstarred Modyolo and LiteAPKs as both mislabel releases from other groups as their own, and tag apps as newer versions than actually exist in order to get more downloads. 72 | 73 | - Unstarred Gemini as many people consider it less useful than other AI. 74 | 75 | * Unstarred Duolingo as there are better ways to learn languages. 76 | 77 | * Unstarred Tixati as its closed source and there better options like qbit, transmission, deluge. 78 | -------------------------------------------------------------------------------- /docs/posts/april-2025.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [April] 3 | description: April 2025 updates 4 | date: 2025-04-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | # Wiki Updates 22 | 23 | - Added a **[Guide](https://fmhy.net/other/selfhosting)** to set up and run your own instance of FMHY locally. 24 | 25 | - Added a **[Userscript](https://greasyfork.org/en/scripts/528660-fmhy-safelink-guard)** version of the FMHY Safeguard. 26 | 27 | - You can now choose [custom text colors](https://i.imgur.com/kXNRPjM.mp4) for the site using the icons in the sidebar + updated the feedback system to be more prominent. 28 | 29 | - Cleaned up Drama Streaming section, removed dead / bad sites, and starred a few that seemed to work the best, [before vs after](https://i.imgur.com/E3QTrUn.png). 30 | 31 | - Cleaned up Japanese Learning section, note that no sites were removed, just moved, [before vs after](https://i.imgur.com/wPboWjk.png). 32 | 33 | 34 | - Added usage limit tags to the [AI Video Generators](https://fmhy.net/ai#video-generation). 35 | 36 | - Better organized font section + split into [Generators](https://fmhy.net/text-tools#font-text-generators) and [Customization](https://fmhy.net/text-tools#font-customization). 37 | 38 | - Added a few [New Criteria](https://i.imgur.com/s7UGdIz.png) to our streaming site grading system. 39 | 40 | *** 41 | 42 | # Stars Added ⭐ 43 | 44 | - Starred [DAB Music Player](https://fmhy.net/audiopiracyguide#download-sites) in Audio DDL. Single click FLAC album downloads, has web app + desktop apps for for windows, mac, and linux, with android support coming soon. 45 | 46 | - Starred [IronFox](https://fmhy.net/storage#privacy-based) in Android Privacy Browsers. Firefox-based browser with a focus on privacy / security. Feature-rich, recommended by the librewolf dev team, and our community seems to really like it. 47 | 48 | - Starred [AdGuardExtra](https://fmhy.net/social-media-tools#twitch-adblockers) in Twitch Adblockers. This seems to be the best way to block them now. 49 | 50 | - Starred [AMP4](https://fmhy.net/social-media-tools#youtube-downloaders) in YouTube Video Downloaders, ad-free, supports playlists and 3 hour long videos. 51 | 52 | - Starred [JustDeleteMe](https://fmhy.net/adblockvpnguide#web-privacy) in Web Privacy. Directory of links to more easily delete your accounts from web services. 53 | 54 | - Starred [PocketCasts](https://fmhy.net/audiopiracyguide) in Podcast Streaming. Popular iOS podcast player that recently added both desktop + web apps. 55 | 56 | - Starred [ADS-B Exchange](https://fmhy.net/miscguide#flights) in Flights section, one of the only that doesn't lock features behind paywalls. 57 | 58 | - Replaced star for xManager with [ReVanced Manager](https://fmhy.net/android-iosguide#android-audio) in Ad-Free Spotify as it has more features, less issues, and xManager itself recommends it. 59 | 60 | - Removed star for bark as its limited, and star for Tortoise TTS as it doesn't sound good, and instead starred [TTS Online](https://fmhy.net/ai#text-to-speech), which sounds better and has a 10k daily character limit. 61 | 62 | *** 63 | 64 | # Things Removed 65 | 66 | - Removed TorrentGalaxy, doesn't look like its coming back anytime soon sadly. 67 | 68 | - Removed The Last Disaster from Audio DDL as they've shut down. 69 | 70 | - Removed TOTV from Live TV as every channel seems to be YouTube videos now. 71 | 72 | - Unstarred Plex as they've made remote streaming [paid only](https://www.plex.tv/blog/important-2025-plex-updates/), and increased their prices at the same time. 73 | 74 | - Unstarred PSArips as their download process is very annoying. 75 | 76 | - Unstarred Bookracy as its been having issues for awhile now. 77 | -------------------------------------------------------------------------------- /docs/posts/march-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [March] 3 | description: March 2024 Updates 4 | date: 2024-03-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info These update threads only contains major updates. If you're interested 15 | in seeing all minor changes you can follow our 16 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 17 | [Updates Channel](https://redd.it/17f8msf) in Discord. ::: 18 | 19 | ### Wiki Updates 20 | 21 | - Added custom search engines (CSE) for 22 | [Courses](https://cse.google.com/cse?cx=f7a118c70d0804fc4) and 23 | [Fonts](https://cse.google.com/cse?cx=82154ebab193e493d). 24 | 25 | - Added section for 26 | [Productivity Tools](https://fmhy.net/miscguide#productivity-tools) in Useful 27 | Sites. 28 | 29 | - Added section for [File Recovery](https://fmhy.net/file-tools#file-recovery) 30 | in File Tools. 31 | 32 | - Added section for 33 | [Fingerprinting / Tracking](https://fmhy.net/adblockvpnguide#fingerprinting-tracking) 34 | in Privacy. 35 | 36 | - Added sections for 37 | [Mario Kart](https://fmhy.net/gamingpiracyguide#mario-kart-tools) + 38 | [Geometry Dash](https://fmhy.net/gamingpiracyguide#geometry-dash-tools) in 39 | Gaming. 40 | 41 | - Added section for 42 | [Crypto / Bitcoin](https://fmhy.net/miscguide#crypto-bitcoin) in Career. 43 | 44 | - Added section for [Raspberry Pi](https://fmhy.net/linuxguide#raspberry-pi) in 45 | Linux. 46 | 47 | - Added sections for [Design Apps](https://fmhy.net/img-tools#design-apps) + 48 | [Design Assets](https://fmhy.net/img-tools#free-assets) in Image Tools. 49 | 50 | - Our Minecraft Server is now live. Click 51 | **[here](https://fmhy.net/posts/minecraft-server)** to join. 52 | 53 | --- 54 | 55 | ### Stars Added ⭐ 56 | 57 | - Starred 58 | [yet another music server](https://fmhy.net/audiopiracyguide#audio-downloading) 59 | in Audio Downloading. Multi-site DDL (deezer, qobuz, tidal, spotify, youtube, 60 | FLAC.) 61 | 62 | - Starred [wrtn](https://fmhy.net/ai#online-chatbots) in Online Chatbots. No 63 | limit GPT-4, tell it to always talk in english. 64 | 65 | - Starred 66 | [M4UFree + YesMovies](https://fmhy.net/videopiracyguide#streaming-sites) in 67 | Streaming. Both have huge libraries, fast 1080p, and have been around for over 68 | a decade. 69 | 70 | - Starred [Poe](https://fmhy.net/ai#online-generators) in Image Generators. 100 71 | SDXL and 100 Playground Gens. 72 | 73 | - Starred 74 | [Simply Optimized](https://fmhy.net/storage#minecraft-optimization-mods) in 75 | Minecraft Optimization. Some prefer this to Fabulously Optimized. 76 | 77 | - Starred [SolidTorrents](https://fmhy.net/torrentpiracyguide#aggregators) in 78 | Torrent Aggregators. 79 | 80 | - Starred [MrGamingStreams](https://fmhy.net/videopiracyguide#live-tv-sports) in 81 | Live TV. Fast streams, nice UI, no ads. 82 | 83 | - Starred [720pier](https://fmhy.net/videopiracyguide#sports-streaming) in 84 | Sports Streaming. Sport replay torrents. 85 | 86 | - Starred 87 | [Enhancer for YT](https://fmhy.net/social-media-tools#youtube-customization) 88 | in YouTube Customization. YouTube enhancement extension. 89 | 90 | - Starred [RatS](https://fmhy.net/videopiracyguide#tracking-discovery) in 91 | Tracking / Discovery. Sync media ratings between sites. 92 | 93 | --- 94 | 95 | ### Things Removed 96 | 97 | - Removed Vendetta from Android as the devs have 98 | [shut it down](https://i.imgur.com/F4o2ela.png). 99 | 100 | - Removed TTV LOL as it stopped working. 101 | 102 | - Unstarred bypass.vip and FastForward as they 103 | [don't work as well](https://i.imgur.com/EMRcqX6.png) as they used to. 104 | 105 | - Unstarred claude in chatbots as it requires email + phone number and doesn't 106 | give as good results as it used to. 107 | 108 | - Unstarred Harmonoid as its not longer being updated and has 100+ issues on 109 | github. 110 | -------------------------------------------------------------------------------- /docs/posts/oct-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [October] 3 | description: October 2023 updates. 4 | date: 2023-10-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Created a **[List of Guides](https://rentry.co/fmhy-guides)** on rentry. This 24 | page is automated and updates itself anytime a new rentry is added or removed 25 | from FMHY. You can also download the guides yourself by using this 26 | [script](https://gist.github.com/Rust1667/efc055debaf4876e4de39cc0d32f18c1). 27 | 28 | - Made a [Pokémon](/gamingpiracyguide/#pok%C3%A9mon-tools) section in Gaming 29 | Tools and an [Email](/internet-tools#email-tools) section in Internet Tools. 30 | 31 | - Added [emojis](https://i.imgur.com/mgYq8nF.png) to indicate when we're linking 32 | 3rd party indexes, or our storage page: 33 | 34 | 🌐 = 3rd Party Indexes (i.e. /r/PiratedGames Mega, Awesome Lists etc.) 35 | 36 | ↪️ = Storage Links 37 | 38 | ### Stars Added ⭐ 39 | 40 | - Starred [Nova AI](/ai/#ai-chatbots) in AI Chatbots. Gives free GPT-4 tokens. 41 | 42 | - Starred [BlueROMs](/gamingpiracyguide/#rom-sites) in ROM sites. Simple DDL 43 | site with lots of systems. 44 | 45 | - Starred [Qiwi](/storage/#file-sharing-tools) in File Hosts. Fast host that's 46 | becoming popular in piracy circles. 47 | 48 | - Starred Moo and Media in 49 | [Video Drives](/videopiracyguide/#drives--directories). Fast drives with lots 50 | of content. 51 | 52 | - Starred [WiiUDownloader](/gamingpiracyguide/#rom-sites) in ROM sites. Updated 53 | more frequently than WiiUSBHelper. 54 | 55 | - Starred [Time4TV](/videopiracyguide/#live-tv--sports) in Live TV. Fast 56 | streams, lots of channels. 57 | 58 | - Starred [TamperMonkey](/storage/#userscript-managers) in Userscript Managers. 59 | Updated more frequently than GreaseMonkey. 60 | 61 | - Starred [PeaZip](/storage/#compression-programs) in File Archivers. 62 | Open-source, supports many formats. 63 | 64 | - Starred [Miru](/android-iosguide/#android-streaming) in Android Streaming. 65 | Open-source, multi-format media app. 66 | 67 | - Starred [gibMacOS](/linuxguide/#mac-tools--apps) in Mac Tools. Easily download 68 | MacOS. 69 | 70 | - Starred [AppsTorrent](/linuxguide/#mac-software) in Mac Software. Popular Mac 71 | Software site with many Apps. 72 | 73 | - Starred [PlayPhrase](/video-tools) in Video Tools. Search entire internet for 74 | video clips. 75 | 76 | - Starred [Magic ToDo](/storage/#note-taking--to-do-apps) in To Do Apps. 77 | Automatic Task Breakdown AI. 78 | 79 | - Starred [SafeSubstance](/miscguide/#health) in Health. Drug Information / Side 80 | Effects. 81 | 82 | - Starred [TinyKittens](https://tinykittens.com/) in General Tools. Kitten 83 | Rescue / Donation website. 84 | 85 | ### Things Removed 86 | 87 | - Removed RSLOAD, as they’ve uploaded the exact same version of malwarebytes 88 | with malware that FileCR got in trouble for. We’ve emailed them, so hopefully 89 | they remove it soon and we can add them back. 90 | 91 | - Removed marin.moe from Anime Streaming as its redirecting to something else 92 | now. 93 | 94 | - Removed AdGuard extra and other adblock defenders as they're 95 | [redundant](https://ibb.co/xgrtbBZ) with ublock. 96 | 97 | - Removed SteamSkins as Steam dropped support for them in the last update. 98 | 99 | - Removed Saikou from Android Anime as their GitHub has been DMCA'd. 100 | 101 | - Removed Uptobox from File Hosts as their datacenter was 102 | [raided by french police](https://torrentfreak.com/uptobox-goes-dark-following-police-raids-on-french-datacenters-230920/). 103 | -------------------------------------------------------------------------------- /unocss.config.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { Rule } from 'unocss' 18 | import { colors, shortcuts } from '@fmhy/colors' 19 | import { 20 | defineConfig, 21 | presetAttributify, 22 | presetIcons, 23 | presetUno, 24 | presetWebFonts, 25 | transformerDirectives 26 | } from 'unocss' 27 | 28 | const colorScales = [ 29 | '50', 30 | '100', 31 | '200', 32 | '300', 33 | '400', 34 | '500', 35 | '600', 36 | '700', 37 | '800', 38 | '900', 39 | '950' 40 | ] as const 41 | 42 | const colorPattern = Object.keys(colors).join('|') 43 | const createColorRules = (type: 'text' | 'bg' | 'border'): Rule[] => { 44 | const property = 45 | type === 'text' 46 | ? 'color' 47 | : type === 'bg' 48 | ? 'background-color' 49 | : 'border-color' 50 | 51 | return colorScales.map( 52 | (scale) => 53 | [ 54 | new RegExp(`^${type}-(${colorPattern})-${scale}$`), 55 | ([, color]) => ({ [property]: colors[color][scale] }) 56 | ] as const 57 | ) 58 | } 59 | 60 | export default defineConfig({ 61 | content: { 62 | filesystem: ['.vitepress/config.mts', '.vitepress/constants.ts'] 63 | }, 64 | theme: { 65 | colors: { 66 | ...colors, 67 | primary: 'var(--vp-c-brand-1)', 68 | bg: 'var(--vp-c-bg)', 69 | 'bg-alt': 'var(--vp-c-bg-alt)', 70 | 'bg-elv': 'var(--vp-c-bg-elv)', 71 | text: 'var(--vp-c-text-1)', 72 | 'text-2': 'var(--vp-c-text-2)', 73 | div: 'var(--vp-c-divider)' 74 | } 75 | }, 76 | rules: [ 77 | // Brand color utilities 78 | [ 79 | /^brand-(\d+)$/, 80 | ([, d]) => ({ color: `var(--vp-c-brand-${d})` }) 81 | ] as const, 82 | [ 83 | /^bg-brand-(\d+)$/, 84 | ([, d]) => ({ 'background-color': `var(--vp-c-brand-${d})` }) 85 | ] as const, 86 | [ 87 | /^border-brand-(\d+)$/, 88 | ([, d]) => ({ 'border-color': `var(--vp-c-brand-${d})` }) 89 | ] as const, 90 | [ 91 | /^text-brand-(\d+)$/, 92 | ([, d]) => ({ color: `var(--vp-c-brand-${d})` }) 93 | ] as const, 94 | 95 | // Color scale utilities 96 | ...createColorRules('text'), 97 | ...createColorRules('bg'), 98 | ...createColorRules('border'), 99 | 100 | [ 101 | 'kbd', 102 | { 103 | display: 'inline-block', 104 | padding: '0.2em 0.4em', 105 | fontSize: '0.75em', 106 | fontWeight: '500', 107 | lineHeight: '1', 108 | color: 'var(--vp-c-text-1)', 109 | backgroundColor: 'rgb(var(--vp-c-bg-alt))', 110 | borderRadius: '4px' 111 | } 112 | ] 113 | ], 114 | presets: [ 115 | presetUno(), 116 | presetAttributify(), 117 | presetIcons({ 118 | autoInstall: true, 119 | scale: 1.2, 120 | extraProperties: { 121 | display: 'inline-block', 122 | 'vertical-align': 'middle' 123 | }, 124 | collections: { 125 | custom: { 126 | privateersclub: () => 127 | fetch('https://megathread.pages.dev/favicon.svg').then((r) => 128 | r.text() 129 | ) 130 | } 131 | } 132 | }), 133 | presetWebFonts({ 134 | fonts: { 135 | mono: 'Geist Mono' 136 | } 137 | }) 138 | ], 139 | transformers: [transformerDirectives()] 140 | }) 141 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/meta.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { HeadConfig, TransformContext } from 'vitepress' 18 | 19 | export function generateMeta(context: TransformContext, hostname: string) { 20 | const head: HeadConfig[] = [] 21 | const { pageData } = context 22 | 23 | if (pageData.isNotFound) return head 24 | if (Object.keys(pageData.frontmatter).length === 0) return head 25 | 26 | const url = `${hostname}/${pageData.relativePath.replace(/((^|\/)index)?\.md$/, '$2')}` 27 | 28 | head.push( 29 | ['link', { rel: 'canonical', href: url }], 30 | ['meta', { property: 'og:url', content: url }], 31 | ['meta', { name: 'twitter:url', content: url }], 32 | ['meta', { name: 'twitter:card', content: 'summary_large_image' }], 33 | ['meta', { property: 'og:title', content: pageData.frontmatter.title }], 34 | ['meta', { name: 'twitter:title', content: pageData.frontmatter.title }] 35 | ) 36 | 37 | if (pageData.frontmatter.description) { 38 | head.push( 39 | [ 40 | 'meta', 41 | { 42 | property: 'og:description', 43 | content: pageData.frontmatter.description 44 | } 45 | ], 46 | [ 47 | 'meta', 48 | { 49 | name: 'twitter:description', 50 | content: pageData.frontmatter.description 51 | } 52 | ] 53 | ) 54 | } 55 | 56 | if (pageData.frontmatter.image) { 57 | head.push([ 58 | 'meta', 59 | { 60 | property: 'og:image', 61 | content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, '')}` 62 | } 63 | ]) 64 | head.push([ 65 | 'meta', 66 | { 67 | name: 'twitter:image', 68 | content: `${hostname}/${pageData.frontmatter.image.replace(/^\//, '')}` 69 | } 70 | ]) 71 | } else { 72 | const url = pageData.filePath.replace('index.md', '').replace('.md', '') 73 | const imageUrl = `${url}/__og_image__/og.png` 74 | .replaceAll('//', '/') 75 | .replace(/^\//, '') 76 | 77 | head.push( 78 | ['meta', { property: 'og:image', content: `${hostname}/${imageUrl}` }], 79 | ['meta', { property: 'og:image:width', content: '1200' }], 80 | ['meta', { property: 'og:image:height', content: '628' }], 81 | ['meta', { property: 'og:image:type', content: 'image/png' }], 82 | [ 83 | 'meta', 84 | { property: 'og:image:alt', content: pageData.frontmatter.title } 85 | ], 86 | ['meta', { name: 'twitter:image', content: `${hostname}/${imageUrl}` }], 87 | ['meta', { name: 'twitter:image:width', content: '1200' }], 88 | ['meta', { name: 'twitter:image:height', content: '628' }], 89 | [ 90 | 'meta', 91 | { name: 'twitter:image:alt', content: pageData.frontmatter.title } 92 | ] 93 | ) 94 | } 95 | 96 | if (pageData.frontmatter.tag) { 97 | head.push([ 98 | 'meta', 99 | { property: 'article:tag', content: pageData.frontmatter.tag } 100 | ]) 101 | } 102 | 103 | if (pageData.frontmatter.date) { 104 | head.push([ 105 | 'meta', 106 | { 107 | property: 'article:published_time', 108 | content: pageData.frontmatter.date 109 | } 110 | ]) 111 | } 112 | 113 | if (pageData.lastUpdated && pageData.frontmatter.lastUpdated !== false) { 114 | head.push([ 115 | 'meta', 116 | { 117 | property: 'article:modified_time', 118 | content: new Date(pageData.lastUpdated).toISOString() 119 | } 120 | ]) 121 | } 122 | 123 | return head 124 | } 125 | -------------------------------------------------------------------------------- /docs/posts/nov-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [November] 3 | description: Nov 2024 updates 4 | date: 2024-11-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added new FMHY backup domain: `FMHY.lol` 24 | 25 | - The [FMHY SafeGuard](https://github.com/kenhendricks00/FMHY-SafeGuard) extension is ready to be tested. Let us know how it works for you guys, and ty to everyone who made it happen. 26 | 27 | - Split [FOSS](https://fmhy.net/downloadpiracyguide#foss-sites) and [Freeware](https://fmhy.net/downloadpiracyguide#freeware-sites) into separate sections, and cleaned up formatting: [before vs after](https://i.ibb.co/M5F1Dk7/image.png). 28 | 29 | - Split [Text Editors](https://fmhy.net/text-tools#text-editors) and [Note-Taking](https://fmhy.net/text-tools#note-taking) into separate sections, added labels, and removed any that were low quality or abandoned. 30 | 31 | - Split [Radio Stations](https://fmhy.net/audiopiracyguide#radio-streaming) and [Podcasts](https://fmhy.net/audiopiracyguide#podcast-streaming) into separate sections. 32 | 33 | - Added tags to bookmark managers, and removed ones that looked low quality: [before vs after](https://i.ibb.co/nczmmrv/3453453453.jpg). 34 | 35 | - Added tags to Remote Desktop, and removed any that looked low quality: [before vs after](https://i.ibb.co/jw87F2W/image.png ). 36 | 37 | - Added tags to Online Image Editors, and removed any that didn't stand out: [before vs after](https://i.ibb.co/hFwBD6n/34534534.jpg). 38 | 39 | - Added tags to Link in Bio, and removed any that seemed low quality: [before vs after](https://i.ibb.co/BjZ3SpR/image.png). 40 | 41 | - Added a [Special Interests](https://fmhy.net/gamingpiracyguide#special-interest) section to gaming, to help debloat the main DDL section a bit. 42 | 43 | *** 44 | 45 | ### Stars Added ⭐ 46 | 47 | - Starred [Bluesky](https://fmhy.net/social-media-tools#fediverse-tools) in Fediverse Tools as everyone is leaving Twitter for it now. 48 | 49 | - Starred [Kdenlive](https://fmhy.net/video-tools#video-editors) in Video Editors. Open-source, feature-rich, multi-platform editor. 50 | 51 | - Starred [Khinsider](https://fmhy.net/audiopiracyguide#game-soundtracks) in Game Soundtracks. Popular soundtrack site with big library. 52 | 53 | - Starred [Camo](https://fmhy.net/video-tools) in Video Tools. Allows you to use any device as a webcam. 54 | 55 | - Starred [FMSTREAM](https://fmhy.net/storage#live-radio) in Radio Streaming. The biggest online radio directory on the internet. 56 | 57 | - Starred [Thunderbird](https://fmhy.net/android-iosguide#android-internet) in Android Internet as its just a better version of K-9 Mail. 58 | 59 | - Starred [Pixlr](https://fmhy.net/img-tools#online-editors) in Online Image Editors. Feature-rich editor with nice UI. Has daily limit but it can be bypassed with the script linked. 60 | 61 | - Starred [x266.mov](https://fmhy.net/social-media-tools#discord-tools) in Discord Tools. Allows you to embed large videos on Discord. 62 | 63 | - Starred [Playlists.cloud](https://fmhy.net/audiopiracyguide#spotify-tools) in Spotify Tools. Unlimited playlist transfer between Spotify / Apple Music. 64 | 65 | - Starred [InfiCourses](https://fmhy.net/edupiracyguide#downloading) in Course DDL. Big library with courses tough to find elsewhere. 66 | 67 | - Starred [Excalidraw](https://fmhy.net/img-tools#drawing) in Drawing Tools. Feature-rich compared to similar web apps. 68 | 69 | - Went through [SMS verification](https://fmhy.net/storage#sms-verification-sites) and starred ones that stood out the most. 70 | 71 | *** 72 | 73 | ### Things Removed 74 | 75 | - Removed Mutaz as they no longer host cracked software. 76 | 77 | - Removed Feynas free tier is too limited now. 78 | 79 | - Unstarred BetterDiscord as it runs poorly for many people due to bad optimization, and there are better options like Vencord. 80 | 81 | - Unstarred OlaMovies as they now require google logins. 82 | 83 | - Unstarred PDALife as many apps are outdated, their official app isn't maintained, and there are better sites. 84 | 85 | - Unstarred Not Diamond as it isn't unlimited anymore. 86 | 87 | - Unstarred ElevenLabs as its capped at 10 mins ⁠limiting its usefulness. 88 | -------------------------------------------------------------------------------- /docs/posts/aug-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [August] 3 | description: September 2023 updates. 4 | date: 2023-08-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Moved fmhy.ml to **[fmhy.net](/)**, and updated its UI to more closely match 24 | [fmhy.pages.dev](/). 25 | - Separated Android Tools into subcategories: 26 | [Device](/android-iosguide/#android-device), 27 | [Utilities](/android-iosguide/#android-utilities), 28 | [Internet](/android-iosguide/#android-internet), 29 | [Camera](/android-iosguide/#android-camera) and 30 | [Customization](/android-iosguide/#customization). 31 | 32 | - Added a [Engineering](/edupiracyguide/#engineering) section to Educational. 33 | 34 | - Renamed Multi Hosts to [Multi Server](/videopiracyguide/#multi-server), 35 | Dedicated Hosts to [Single Server](/videopiracyguide/#single-server), and 36 | bumped Multi above Single as they're generally better. 37 | 38 | - Moved all the APK sections out of storage, and back into the main 39 | [Android section](/android-iosguide/#android-apks). 40 | 41 | - Combined all [Indian Language sites](/non-english/#indian-languages) into one 42 | section in Non-Eng, as most host content for more than one language. 43 | 44 | --- 45 | 46 | ### Stars Added ⭐ 47 | 48 | - Starred [Ova Games](/gamingpiracyguide/#download-games) in Game Download. Big 49 | library, fast hosts. 50 | 51 | - Starred [SmashyStream](/videopiracyguide/#multi-server) in Streaming Sites. 52 | Nice UI, fast 1080p. 53 | 54 | - Starred [BlackPearlOrigin](/storage/#game-libraries--launcher) in Game 55 | Launchers. New game launcher and downloader, made by our friends. 56 | 57 | - Starred Androeed and Modyolo in [Modded APKs](/android-iosguide/#modded-apks). 58 | 59 | - Starred [Skraper](/gamingpiracyguide/#emulation--roms) in Emulation. Automate 60 | ROM Covers / Metadata. 61 | 62 | - Starred [ROMhacking](/gamingpiracyguide/#rom-sites) in ROM Sites. One of the 63 | oldest sites for fan translations. 64 | 65 | - Starred [FreeSports](/videopiracyguide/#live-tv--sports) in Live Sports. A 66 | live sports site that isn't flooded with ads like most are. 67 | 68 | - Starred [SoccerCatch](/videopiracyguide/#sports-streaming) in Sports 69 | Streaming. Full Match replays. 70 | 71 | - Starred [DownloadPirate](/storage/#vfx-sites) in VFX Sites. Popular site for 72 | video effects and software. 73 | 74 | - Starred [SophiApp](/storage/#windows-10-debloater) in debloaters. Gives good 75 | explanations for its tweaks making it safer for new users. 76 | 77 | - Starred 78 | [Actually Good Distros](https://ash.fail/blog/20230625-actually-good-distro-recomendations-for-beginners.html) 79 | in Linux. Beginner distro guides. 80 | 81 | --- 82 | 83 | ### Things Removed 84 | 85 | - Removed Bromite as they've [stopped updates](https://i.imgur.com/uM3ryHR.png), 86 | and replaced it with [Cromite](https://github.com/uazo/cromite) which will 87 | continue to be updated by one of their devs. 88 | 89 | - Removed AI Text Detectors as they're known for 90 | [being inaccurate](https://arstechnica.com/information-technology/2023/07/openai-discontinues-its-ai-writing-detector-due-to-low-rate-of-accuracy/). 91 | 92 | - Unstarred SoftArchive in Software as people have become annoyed with their 93 | slow hosts. 94 | 95 | - Unstarred LookMovie in Streaming as people don't like the fact 1080p is behind 96 | premium. 97 | 98 | - Unstarred QuickBoost in Tweaking as the app doesn't give details as to what 99 | each tweak actually does. 100 | 101 | - Unstarred Sockshare in Streaming as their original domain died, and it doesn't 102 | have the best UI anyways. 103 | 104 | - Removed AnimeKaizoku from Anime Streaming as they've shutdown. 105 | 106 | - Removed DeepFloyd from Image Generators as its been paused for over a month. 107 | 108 | - Removed Appnee from Software Sites. The MAS team found that they host many 109 | [unsafe activators](https://i.imgur.com/KmDKUw4.png). We don't think Appnee is 110 | purposefully malicious, they just need to be more careful and clean things up 111 | before we can add them again. 112 | -------------------------------------------------------------------------------- /docs/.vitepress/hooks/opengraph.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import type { ContentData, SiteConfig } from 'vitepress' 18 | import type { SatoriOptions } from 'x-satori/vue' 19 | import { mkdir, readFile, writeFile } from 'node:fs/promises' 20 | import { dirname, resolve } from 'node:path' 21 | import { fileURLToPath } from 'node:url' 22 | import { renderAsync } from '@resvg/resvg-js' 23 | import consola from 'consola' 24 | import { createContentLoader } from 'vitepress' 25 | import { satoriVue } from 'x-satori/vue' 26 | import { headers } from '../transformer/constants' 27 | 28 | const __dirname = dirname(fileURLToPath(import.meta.url)) 29 | const __fonts = resolve(__dirname, '../fonts') 30 | 31 | export async function generateImages(config: SiteConfig) { 32 | const pages = await createContentLoader('**/*.md', { excerpt: true }).load() 33 | const template = await readFile(resolve(__dirname, './Template.vue'), 'utf-8') 34 | 35 | const fonts: SatoriOptions['fonts'] = [ 36 | { 37 | name: 'Inter', 38 | data: await readFile(resolve(__fonts, 'Inter-Regular.otf')), 39 | weight: 400, 40 | style: 'normal' 41 | }, 42 | { 43 | name: 'Inter', 44 | data: await readFile(resolve(__fonts, 'Inter-Medium.otf')), 45 | weight: 500, 46 | style: 'normal' 47 | }, 48 | { 49 | name: 'Inter', 50 | data: await readFile(resolve(__fonts, 'Inter-SemiBold.otf')), 51 | weight: 600, 52 | style: 'normal' 53 | }, 54 | { 55 | name: 'Inter', 56 | data: await readFile(resolve(__fonts, 'Inter-Bold.otf')), 57 | weight: 700, 58 | style: 'normal' 59 | } 60 | ] 61 | 62 | for (const page of pages) { 63 | await generateImage({ 64 | page, 65 | template, 66 | outDir: config.outDir, 67 | fonts 68 | }) 69 | } 70 | return consola.info('Generated opengraph images.') 71 | } 72 | 73 | interface GenerateImagesOptions { 74 | page: ContentData 75 | template: string 76 | outDir: string 77 | fonts: SatoriOptions['fonts'] 78 | } 79 | 80 | async function generateImage({ 81 | page, 82 | template, 83 | outDir, 84 | fonts 85 | }: GenerateImagesOptions) { 86 | const { frontmatter, url } = page 87 | 88 | const _page = getPage(url) 89 | const title = 90 | frontmatter.layout === 'home' 91 | ? (frontmatter.hero.name ?? frontmatter.title) 92 | : frontmatter.title 93 | ? frontmatter.title 94 | : _page?.title 95 | 96 | const description = 97 | frontmatter.layout === 'home' 98 | ? (frontmatter.hero.tagline ?? frontmatter.description) 99 | : frontmatter.description 100 | ? frontmatter.description 101 | : _page?.description 102 | 103 | // consola.info(url, title, description) 104 | const options: SatoriOptions = { 105 | width: 1800, 106 | height: 900, 107 | fonts, 108 | props: { 109 | title, 110 | description, 111 | image: 'https://i.fmhy.net/og-base.jpg' 112 | } 113 | } 114 | 115 | const svg = await satoriVue(options, template) 116 | 117 | const render = await renderAsync(svg) 118 | 119 | const outputFolder = resolve(outDir, url.slice(1), '__og_image__') 120 | const outputFile = resolve(outputFolder, 'og.png') 121 | 122 | await mkdir(outputFolder, { recursive: true }) 123 | 124 | await writeFile(outputFile, render.asPng()) 125 | } 126 | 127 | function getPage(page: string) { 128 | // Get the page name 129 | const pageName = `${page}.md`.slice(1).split('/').at(-1) 130 | 131 | // Find the header 132 | // TODO: This is a hacky way to find the header 133 | const header = Object.entries(headers).find(([key]) => key === pageName) 134 | if (!header) return 135 | 136 | const { title, description } = header[1] 137 | 138 | return { 139 | title, 140 | description 141 | } 142 | } 143 | -------------------------------------------------------------------------------- /docs/posts/dec-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [December] 3 | description: December 2024 updates. 4 | date: 2024-12-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | 24 | - Added [FFmpeg section](https://fmhy.net/video-tools#ffmpeg-tools) to Video Tools. 25 | 26 | - Added [Anti-Censorship](https://fmhy.net/adblockvpnguide#anti-censorship) section to Proxies. 27 | 28 | - Added [Spotify Playlist Tools](https://fmhy.net/audiopiracyguide#spotify-playlists) section to Audio. 29 | 30 | - Added [Household Management](https://fmhy.net/miscguide#household) section to Misc. 31 | 32 | - Added new subsections to YouTube: [Video Tools](https://fmhy.net/social-media-tools#video-tools) / [Playlist Tools](https://fmhy.net/social-media-tools#playlist-tools) / [Archiving](https://fmhy.net/social-media-tools#youtube-archiving) 33 | 34 | - Split Webhosting into subsections: [Free Webhosting](https://fmhy.net/storage#free-webhosting-sites) / [Static Pages](https://fmhy.net/storage#static-page-hosting) / [Dynamic Pages](https://fmhy.net/storage#dynamic-page-hosting) / [Site Builders](https://fmhy.net/storage#website-builders) 35 | 36 | - Split [Smart TV](https://fmhy.net/videopiracyguide#smart-tv-firestick) and [Android TV](https://fmhy.net/videopiracyguide#android-tv) into separate sections. 37 | 38 | - Split [Physical Health](https://fmhy.net/miscguide#physical-health) and [Workout](https://fmhy.net/miscguide#workout-exercise) into separate sections. 39 | 40 | - Split [Single Server](https://fmhy.net/videopiracyguide#single-server) and [Free w/ Ads](https://fmhy.net/videopiracyguide#free-w-ads) streaming into separate sections. 41 | 42 | - Moved IPTV Tools out of storage into its own [dedicated section](https://fmhy.net/videopiracyguide#iptv-tools). 43 | 44 | - Cleaned up both [DNS Resolver](https://fmhy.net/storage#free-dns-resolvers) + [VPN Config](https://fmhy.net/storage#free-vpn-configs) sections. 45 | 46 | - Went through [AI section](https://fmhy.net/ai) and tagged bots that don't require signup. 47 | 48 | *** 49 | 50 | ### Stars Added ⭐ 51 | 52 | - Starred [Windows 10 After EOL](https://fmhy.net/system-tools#windows-updates) in Windows Updates. Continue to receive updates after Win10's End-Of-Life in Oct 2025. 53 | 54 | - Starred [Directory Opus](https://fmhy.net/file-tools#file-explorers) in File Explorers. Powerful and highly customizable windows file manager. 55 | 56 | - Starred [Censorship Bypass Guide](https://fmhy.net/adblockvpnguide#anti-censorship) in Anti-Censorship. Easy to follow censorship bypass guides. 57 | 58 | - Starred [Mistral](https://fmhy.net/ai#online-chatbots) in Online Chatbots. Feature-rich bot which includes web search, a canvas tool, image generation and more. 59 | 60 | - Starred [OnTheSpot](https://fmhy.net/audiopiracyguide#audio-ripping-tools) in Audio Ripping. Spotify Downloader with a GUI that still works after the spotify's changes. 61 | 62 | - Starred [LanguageTool](https://fmhy.net/text-tools#grammar-check) in Grammar Check. This seemed to pick up the most errors when compared to other options. 63 | 64 | - Starred [BlockAway](https://fmhy.net/adblockvpnguide#proxy-sites) in Proxy Sites. Popular proxy site that seems to work well for most people. 65 | 66 | - Starred [Plutonium](https://fmhy.net/gaming-tools#multiplayer-mods) in Multiplayer Mods. The most popular COD multiplayer server mod, works with multiple games. 67 | 68 | - Starred [webOS Dev Manager](https://fmhy.net/videopiracyguide#smart-tv-firestick). LG TV Homebrew Installer + Guide. 69 | 70 | - Starred [Citrus Search](https://fmhy.net/readingpiracyguide#academic-papers) in Academic Papers. Easily search and find similar papers for any topic. 71 | 72 | *** 73 | 74 | ### Things Removed 75 | 76 | - Removed free warp keys as they're being revoked now. 77 | 78 | - Removed DramaCool as they're [shutting down](https://x.com/dramacoolcom/status/1861628424147869919). We're aware GogoAnime has also stopped updates, but we're waiting for more news before removing them. 79 | 80 | - Removed both SusFlix and BFlix as they've been offline for over a week. 81 | 82 | - Unstarred multiple streaming sites as we had so many stars they became meaningless. [Before vs. After](https://i.ibb.co/QPxKLm2/image.png). 83 | 84 | - Unstarred Claude as free tier is too limited now. 85 | 86 | - Unstarred ClearURLs as its mostly redundant with adblockers like uBO. 87 | -------------------------------------------------------------------------------- /docs/posts/april-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [April] 3 | description: April 2024 updates 4 | date: 2024-04-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Split Android Tools into subsections: 24 | [Optimization](https://fmhy.net/android-iosguide#optimization), 25 | [Battery](https://fmhy.net/android-iosguide#battery-tools), 26 | [Keyboard](https://fmhy.net/android-iosguide#keyboard-text), 27 | [Screen](https://fmhy.net/android-iosguide#screen-tools), 28 | [Files](https://fmhy.net/android-iosguide#android-file-tools), 29 | [Root / Flash](https://fmhy.net/android-iosguide#root-flash), 30 | [Productivity](https://fmhy.net/android-iosguide#productivity-calendars), 31 | [Maps](https://fmhy.net/android-iosguide#maps-location), 32 | [Notifications](https://fmhy.net/android-iosguide#notifications-widgets) and 33 | [Social Media](https://fmhy.net/android-iosguide#social-media-apps). 34 | 35 | - Added [Abandonware](https://fmhy.net/gamingpiracyguide#abandonware), 36 | [MOBA](https://fmhy.net/gamingpiracyguide#moba-tools), 37 | [Gacha](https://fmhy.net/gamingpiracyguide#gacha-tools), 38 | [Counter-Strike](https://fmhy.net/gamingpiracyguide#counter-strike-tools), 39 | [Doom](https://fmhy.net/gamingpiracyguide#doom-tools) and 40 | [Controller Tool](https://fmhy.net/gamingpiracyguide#controller-tools) 41 | sections to Gaming. 42 | 43 | - Added [Toys / Figures](https://fmhy.net/miscguide#toys-figures) section to 44 | Shopping. 45 | 46 | - Added [Manga](https://fmhy.net/android-iosguide#android-manga) section to 47 | Android Reading. 48 | 49 | - Added [MPV Shaders](https://fmhy.net/storage#mpv-shaders) section to Video 50 | Tools. 51 | 52 | - Added [Email](https://fmhy.net/adblockvpnguide#email-privacy) section to 53 | Privacy. 54 | 55 | - Added [Regex](https://fmhy.pages.dev/devtools#regex-tools) section to Dev 56 | Tools. 57 | 58 | - Our [FMHY Social](https://social.fmhy.net/@fmhy) (fediverse instance / 59 | account) is now live. 60 | 61 | - Removed wiki from saidit. Its our least used version so we're not sure its 62 | worth the effort. If enough people want it back we'll reconsider. 63 | 64 | --- 65 | 66 | ### Stars Added ⭐ 67 | 68 | - Starred [Streamed](https://fmhy.net/videopiracyguide#live-sports) in Live 69 | Sports. Fast streams, no ads. 70 | 71 | - Starred [Poke](https://fmhy.net/social-media-tools#youtube-frontends) in 72 | YouTube Frontends. Nice UI, download support, no ads. 73 | 74 | - Starred [Motrix](https://fmhy.net/file-tools#download-managers) in Download 75 | Managers. Some people prefer this over Jdownloader / IDM. 76 | 77 | - Starred [Openlib](https://fmhy.net/android-iosguide#android-reading) in 78 | Android Reading. Anna’s Archive app. 79 | 80 | - Starred [Stacher](https://fmhy.net/social-media-tools#youtube-downloaders) in 81 | YouTube Downloaders. Modern YT-DL GUI. 82 | 83 | - Starred [DeepLX](https://fmhy.net/text-tools#translators) in Translators. 84 | Unlimited DeepL. 85 | 86 | - Starred [Claude](https://fmhy.net/ai#online-chatbots) in Online Chatbots. 87 | Works better than things like gemini. 88 | 89 | - Starred [Soft98](https://fmhy.net/downloadpiracyguide#software-sites) in 90 | Software Sites. Big library, single click DDL. 91 | 92 | - Starred [JellyPlayer](https://fmhy.net/video-tools#jellyfin-tools) in Jellyfin 93 | Tools. Modern Jellyfin client. 94 | 95 | - Starred [UniGetUI](https://fmhy.net/system-tools#package-managers) in Package 96 | Managers. Nice user-interface for Winget. 97 | 98 | - Starred [Zipline](https://fmhy.net/img-tools#screenshot-tools) in Screenshot 99 | Tools. Self-hosted, feature-rich ShareX server. 100 | 101 | - Starred [WSABuilds](https://fmhy.net/android-iosguide#android-emulators) in 102 | Android Emulators. Pre-built WSA binaries that will continue to be 103 | [updated](https://ibb.co/R4hssDc). 104 | 105 | - Starred [SmartImage](https://fmhy.net/img-tools#reverse-image-search) in 106 | Reverse Image Search. Multi-site reverse image search tool. 107 | 108 | --- 109 | 110 | ### Things Removed 111 | 112 | - Removed free-mp3-download as they've shutdown. 113 | 114 | - Removed HolyUnblocker as they've 115 | [shutdown](https://github.com/QuiteAFancyEmerald/Holy-Unblocker?tab=readme-ov-file#important-message-original). 116 | 117 | - Removed WSA as support for it has been [dropped](https://ibb.co/zxB565S). 118 | 119 | - Unstarred FlixHQ in Streaming. This used to be good but seems to be a lot 120 | slower recently. 121 | -------------------------------------------------------------------------------- /docs/posts/dec-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [December] 250k members!! 3 | description: Thank you all for 250K members! ♡ 4 | date: 2023-12-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | :::info 13 | These update threads only contains major updates. If you're interested 14 | in seeing all minor changes you can follow our 15 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 16 | [Updates Channel](https://redd.it/17f8msf) in Discord. 17 | ::: 18 | 19 | 20 | 21 | --- 22 | 23 | ### Wiki Updates 24 | 25 | - Separated Tool sections into their own pages: [System Tools](/system-tools), 26 | [File Tools](/file-tools), [Internet Tools](/internet-tools), 27 | [Text Tools](/text-tools), [Video Tools](/video-tools) and 28 | [Audio Tools](/audio-tools). 29 | 30 | - Separated Health into subsections: [Mental](/miscguide#mental-health), 31 | [Physical](/miscguide#physical-health), 32 | [Nutritional](/miscguide#nutritional-health), 33 | [Sexual](/miscguide#sexual-health) and [Detoxing](/miscguide#detoxing). 34 | 35 | - Added a section for [Open-Source Games](/gamingpiracyguide#open-source-games) 36 | in Gaming. 37 | 38 | - Added a section for [Animation Tools](/video-tools#animation-tools) in Video 39 | Tools. 40 | 41 | - Added a section for [Academic Papers](/readingpiracyguide#academic-papers) in 42 | Educational Reading. 43 | 44 | - Added sections for [Illustrations](/img-tools#illustrations) and 45 | [Textures / Patterns](/storage#textures-patterns) in Images. 46 | 47 | - Added sections in Linux for [Video](/linuxguide#linux-video), 48 | [Audio](/linuxguide#linux-audio), [Images](/linuxguide#linux-images) and 49 | [File Tools](/linuxguide#file-tools). 50 | 51 | - Made a ["safe for work"](https://rentry.org/piracy) version of our index with 52 | no NSFW link listed. 53 | 54 | - Added a [collapsible list](https://i.imgur.com/wnOXvKG.png) of all the Tool 55 | sections to our sites sidebar. 56 | 57 | --- 58 | 59 | ### Stars Added ⭐ 60 | 61 | - Starred [Streamflix](/videopiracyguide#multi-server) in Streaming Sites. Nice 62 | UI, fast 1080p, ran by members of our community. 63 | 64 | - Starred [watch.lonelil](/videopiracyguide#multi-server) in Streaming Sites. 65 | Nice UI, fast 4K + 1080p, live tv. 66 | 67 | - Starred [Game Bounty](/gamingpiracyguide#download-games) in Game Download. 68 | Fast hosts, pre-installs, clean uploads, ran by members of our community. 69 | 70 | - Starred [AbandonwareGames](/storage#abandonware-games) in Abandonware Games. 71 | Nice site with a big library of oldschool games. 72 | 73 | - Starred [Heroic Games Launcher](/gamingpiracyguide#steam-epic) in Steam / 74 | Epic. Open-source Epic Games launcher. 75 | 76 | - Starred [TG Archive](/downloadpiracyguide#download-directories) in Download 77 | Directories. Telegram file archive + search tool. 78 | 79 | - Starred [BleachBit](/system-tools#system-debloating) in system debloating. 80 | Popular system file cleaning tool. 81 | 82 | - Starred [YT-DLP-GUI](/video-tools#youtube-download) in YouTube Download. Nice 83 | GUI for YT-DL with single click installer. 84 | 85 | - Starred [EverythingToolbar](/system-tools#system-tweaks) in System Tweaks. 86 | Adds lots of features to Windows toolbar. 87 | 88 | - Starred [DeepL](/text-tools#translators) in Translators. People feel this 89 | gives some of the best results. 90 | 91 | - Starred [Magpie](/gamingpiracyguide#optimization-tools) in Gaming 92 | Optimization. Enable AMD FSR on any game or device. 93 | 94 | - Starred [TrollStore](/android-iosguide#ios-apps) in iOS Apps. Permanently 95 | install non-appstore iOS apps w/o pc, paid dev account or being jailbroken. 96 | 97 | - Starred [SmartTube](/videopiracyguide#smart-tv-firestick) in Smart TV / 98 | Firestick. Ad-free YouTube app. Previously called SmartTubeNext. 99 | 100 | --- 101 | 102 | ### Things Removed 103 | 104 | - Removed both AppsTorrent and nMac as they're listed as unsafe by 105 | [MacSerialJunkie](https://i.imgur.com/De9u5Ox.png). 106 | 107 | - Removed both LocalCDN and Decentraleyes as they're redundant with with 108 | [Total Cookie Protection](https://blog.privacyguides.org/2021/12/01/firefox-privacy-2021-update/#localcdn-and-decentraleyes) 109 | enabled. 110 | 111 | - Removed NovaAI as they've 112 | [decided to shutdown](https://www.reddit.com/r/Piracy/comments/17pzrzj/nova_oss_the_api_that_provided_free_gpt4_and/). 113 | 114 | - Replaced all CurseForge links with Modrinth as people feel CurseForge 115 | [doesn't cooperate](https://youtu.be/Vhdwz5apiQQ?si=xgzkQFa1S7hZNa5-) with 116 | their user-base well. 117 | 118 | - Unstarred 12ft.io as it can no longer bypass non-javascript based paywalls. 119 | 120 | - Removed FileListing as they've shutdown their servers. 121 | 122 | - Removed GreaseMonkey as it hasn't been updated in 3 years + has a possible 123 | history of tracking users. 124 | -------------------------------------------------------------------------------- /docs/posts/may-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [May] 3 | description: May 2024 updates 4 | date: 2024-05-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added [Multi-Game](https://fmhy.net/gamingpiracyguide#multi-game-sites), 24 | [Party](https://fmhy.net/gamingpiracyguide#party-games), 25 | [Shooter](https://fmhy.net/gamingpiracyguide#shooter), 26 | [Platforming](https://fmhy.net/gamingpiracyguide#platformer), 27 | [Simulation](https://fmhy.net/gamingpiracyguide#simulation), 28 | [Arcade](https://fmhy.net/gamingpiracyguide#arcade) and 29 | [RPG](https://fmhy.net/gamingpiracyguide#rpg) sections to Browser Games. 30 | 31 | - Added [Med School](https://fmhy.net/edupiracyguide#med-school), 32 | [Philosophy](https://fmhy.net/edupiracyguide#philosophy) and 33 | [Geography](https://fmhy.net/edupiracyguide#geography-datasets) sections to 34 | Education. 35 | 36 | - Added [Linux Guides](https://fmhy.net/linuxguide#linux-guides) and 37 | [Window Managers](https://fmhy.net/linuxguide#window-managers) sections to 38 | Linux. 39 | 40 | - Added [Public Domain](https://fmhy.net/readingpiracyguide#public-domain) 41 | section to Reading. 42 | 43 | - Added [German](https://fmhy.net/edupiracyguide#german) section to Language 44 | Learning. 45 | 46 | - Renamed Audio Download to 47 | [Audio Ripping](https://fmhy.net/audiopiracyguide#audio-ripping), cleaned up 48 | the section, and separated sites and tools into their own subsections. 49 | 50 | - Cleaned up 51 | [qBittorrent Tools](https://fmhy.net/torrentpiracyguide#qbittorrent-tools), 52 | [Paywall Bypass](https://fmhy.net/internet-tools#paywall-bypass), 53 | [Pastebins](https://fmhy.pages.dev/text-tools#pastebins) and 54 | [OSINT](https://fmhy.net/internet-tools#open-source-intelligence) sections. 55 | 56 | - Moved [Periodic Tables](https://fmhy.net/edupiracyguide#periodic-tables), 57 | [Quotes](https://fmhy.net/edupiracyguide#quote-indexes), 58 | [File Scanners](https://fmhy.net/adblockvpnguide#file-scanners) and 59 | [Sheet Music](https://fmhy.net/audiopiracyguide#sheet-music) out of storage 60 | into main sections. 61 | 62 | - Moved [Gaming Tools](https://fmhy.net/gaming-tools) out of gaming onto its own 63 | page. 64 | 65 | - Separated [Painting](https://fmhy.net/img-tools#painting) and 66 | [Drawing](https://fmhy.net/img-tools#drawing) into their own sections. 67 | 68 | --- 69 | 70 | ### Stars Added ⭐ 71 | 72 | - Starred [Debloat Guide](https://fmhy.net/system-tools#system-debloating) in 73 | System Debloating. Collaborative project by our discord members, let us know 74 | what you think or if you have any suggestions for it. 75 | 76 | - Starred [Nunflix](https://fmhy.net/videopiracyguide#multi-server) in 77 | Streaming. Multi-server streaming with fast hosts and nice UI. 78 | 79 | - Starred [Game Bounty](https://fmhy.net/downloadpiracyguide#software-sites) in 80 | Software as they've started uploading software recently. 81 | 82 | - Starred [FastStream](https://fmhy.net/videopiracyguide#helpful-sites-tools) in 83 | Streaming Tools. Fragmentation streaming which speeds up browser video 84 | buffering. 85 | 86 | - Starred [Mumble](https://fmhy.net/internet-tools#chat-tools) in Chat Tools. 87 | Oldschool voice chat client used and loved by many. 88 | 89 | - Starred [Tixati](https://fmhy.net/torrentpiracyguide#torrent-clients) in 90 | Torrent Clients. Simple client still popular in some circles. 91 | 92 | - Starred [SpecialK](https://fmhy.net/gaming-tools#optimization-tools) in Gaming 93 | Optimization. Feature-rich game optimization tool. 94 | 95 | - Starred [qView](https://fmhy.net/img-tools#image-viewers) in Image Viewers. 96 | Minimal and efficient open-source image viewer. 97 | 98 | - Starred [SauceNAO](https://fmhy.net/img-tools#reverse-image-search) in Reverse 99 | Image Search. Multi-site search engine. 100 | 101 | - Starred [Puter](https://fmhy.net/system-tools#os-emulators) in OS Emulators. 102 | Session saving browser operating system. 103 | 104 | - Starred [playit.gg](https://fmhy.net/storage#minecraft-servers) in Minecraft 105 | Servers. Easy to setup minecraft servers. 106 | 107 | - Starred 108 | [MCPropertyEncyclopedia](https://fmhy.net/gaming-tools#minecraft-tools) in 109 | Minecraft Tools. Comprehensive block info database. 110 | 111 | - Starred 112 | [Shazam + WatZatSong](https://fmhy.net/audiopiracyguide#song-identification) 113 | in Song Identification. Popular song identification tools. 114 | 115 | --- 116 | 117 | ### Things Removed 118 | 119 | - Removed MrGamingStreams as they've shutdown. 120 | - Removed IDM Activation Script as its been archived. 121 | -------------------------------------------------------------------------------- /docs/posts/june-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [June] 3 | description: June 2024 updates 4 | date: 2024-06-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added [Switch](https://fmhy.net/gaming-tools#switch-homebrew), 24 | [WiiU / Wii](https://fmhy.net/gaming-tools#wii-u-wii-homebrew), 25 | [3DS / DS](https://fmhy.net/gaming-tools#_3ds-ds-homebrew) and 26 | [Playstation](https://fmhy.net/gaming-tools#playstation-homebrew) sections to 27 | Homebrew. 28 | - Added [Virtual Reality](https://fmhy.net/gamingpiracyguide#virtual-reality) 29 | and [Game Save](https://fmhy.net/gaming-tools#game-saves) sections to Gaming. 30 | 31 | - Added [Dev Communities](https://fmhy.net/devtools#dev-communities) and 32 | [Reverse Engineering](https://fmhy.net/devtools#reverse-engineering) sections 33 | to Dev Tools. 34 | 35 | - Added [Linux Communities](https://fmhy.net/linuxguide#linux-communities) 36 | section to Linux. 37 | 38 | - Added [Flights](https://fmhy.net/miscguide#flights) section to Travel. 39 | 40 | - Organized the Maps section, and added multiple 41 | [new subsections](https://fmhy.net/miscguide#maps) to it. 42 | 43 | - Debloated [Indexes](https://fmhy.net/miscguide#indexes), 44 | [Multi-Tool](https://fmhy.net/miscguide#multi-tool-sites), 45 | [File Scanners](https://fmhy.net/adblockvpnguide#file-scanners), 46 | [Archiving](https://fmhy.net/internet-tools#archiving) and 47 | [Sheet Music](https://fmhy.net/storage#music-sheet-collections) sections. 48 | 49 | - Re-added our 50 | [Unsafe Sites Filter](https://github.com/WindowsAurora/FMHYFilterlist/). This 51 | can be added to uBlock to stop anything in 52 | [unsafe sites](https://fmhy.net/unsafesites) from loading in your browser. 53 | 54 | - We compared FMHY to the badware filter list to make sure we didn't have 55 | anything on it, [and we didn't](https://ibb.co/9TQ6Nnv). 56 | 57 | - Added optional [alternative logo](https://pastebin.com/MDnQPKP3) to our 58 | website. 59 | 60 | --- 61 | 62 | ### Stars Added ⭐ 63 | 64 | - Starred both squid.wtf and MP3 Daddy in 65 | [Audio Ripping](https://fmhy.net/audiopiracyguide#audio-ripping-sites). Deezer 66 | ripping sites both capable of getting FLAC files. 67 | 68 | - Starred [Morphic](https://fmhy.net/ai#online-chatbots) in Online Chatbots. 69 | GPT4o powered search w/ no limits. 70 | 71 | - Starred [ROM Heaven](https://fmhy.net/gamingpiracyguide#rom-sites) in ROM 72 | sites. Badass new ROM site with single click DDL and a high quality UI. 73 | 74 | - Starred [All Things Linux](https://fmhy.net/linuxguide#linux-communities) in 75 | Linux Communities. Linux Discord server focused on helping others and 76 | learning. 77 | 78 | - Starred [Eaglercraft](https://fmhy.net/gaming-tools#minecraft-tools) in 79 | Minecraft as it's started getting updates again. 80 | 81 | - Starred [CompactGUI](https://fmhy.net/file-tools#file-archivers) in File 82 | Archivers. Very [useful](https://ibb.co/xm23Xbh) archiver with nice UI. 83 | 84 | - Starred [Spicetify](https://fmhy.net/audiopiracyguide#spotify-adblockers) in 85 | Spotify Adblockers. This has adblock plugins that work just as well as SpotX. 86 | 87 | - Starred [UI Revert Script](https://fmhy.net/social-media-tools#reddit-tools) 88 | in Reddit Tools. Restores Reddits 2023 UI. 89 | 90 | - Starred [Snaptick](https://fmhy.net/storage#to-do-apps) in Android To-Do Apps. 91 | Very feature-rich to-do app. 92 | 93 | - Starred [PurpleAdblock](https://fmhy.net/social-media-tools#twitch-adblockers) 94 | in Twitch Adblockers. Got a update recently and seems to be working again. 95 | 96 | - Starred [ImageGlass](https://fmhy.net/img-tools#image-viewers) in Image 97 | Viewers. Popular lightweight image viewer with a nice UI. 98 | 99 | - Starred [Neal.fun](https://fmhy.net/storage#fun-indexes) in Fun Indexes. OG 100 | site with lots of fun games / experiments. 101 | 102 | - Starred [Pi-hole](https://fmhy.net/adblockvpnguide#dns-adblocking) in DNS 103 | Adblockers as their lists are more updated than NextDNS. 104 | 105 | - Starred [ChatGPT](https://fmhy.net/ai#online-chatbots) in Online Chatbots as 106 | they're adding GPT4o to 107 | [free tier](https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4-gpt-4-turbo-and-gpt-4o). 108 | 109 | --- 110 | 111 | ### Things Removed 112 | 113 | - Removed both moo and media drives as neither work anymore. 114 | 115 | - Removed The Movie Archive as its shutdown. 116 | 117 | - Removed Subscene as they've [closed](https://ibb.co/SVX41NW). 118 | 119 | - Removed neofetch as its been archived. 120 | 121 | - Unstarred Bloxstrap as 122 | [dev doesn't have time](https://github.com/pizzaboxer/bloxstrap/wiki/Addressing-usability-problems-with-Bloxstrap-v2.5.4) currently to keep it updated. 123 | 124 | - Unstarred NextDNS as their filter lists include negligent ones (like energized) which cause a bunch of issues, including fmhy.net getting blocked. 125 | -------------------------------------------------------------------------------- /docs/.vitepress/config.mts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath } from 'node:url' 2 | import consola from 'consola' 3 | import UnoCSS from 'unocss/vite' 4 | import AutoImport from 'unplugin-auto-import/vite' 5 | import OptimizeExclude from 'vite-plugin-optimize-exclude' 6 | import Terminal from 'vite-plugin-terminal' 7 | import { defineConfig } from 'vitepress' 8 | import { 9 | commitRef, 10 | feedback, 11 | meta, 12 | nav, 13 | search, 14 | sidebar, 15 | socialLinks 16 | } from './constants' 17 | import { generateFeed, generateImages, generateMeta } from './hooks' 18 | import { defs, emojiRender, movePlugin } from './markdown/emoji' 19 | import { headersPlugin } from './markdown/headers' 20 | import { toggleStarredPlugin } from './markdown/toggleStarred' 21 | import { transformsPlugin } from './transformer' 22 | 23 | // @unocss-include 24 | 25 | const baseUrl = process.env.GITHUB_ACTIONS ? '/edit' : '/' 26 | export default defineConfig({ 27 | title: 'FMHY', 28 | description: meta.description, 29 | titleTemplate: ':title • freemediaheckyeah', 30 | lang: 'en-US', 31 | lastUpdated: false, 32 | cleanUrls: true, 33 | appearance: true, 34 | base: baseUrl, 35 | srcExclude: ['README.md', 'single-page'], 36 | ignoreDeadLinks: true, 37 | sitemap: { 38 | hostname: meta.hostname 39 | }, 40 | head: [ 41 | ['meta', { name: 'theme-color', content: '#7bc5e4' }], 42 | ['meta', { name: 'og:type', content: 'website' }], 43 | ['meta', { name: 'og:locale', content: 'en' }], 44 | ['link', { rel: 'icon', href: '/test.png' }], 45 | // PWA 46 | ['link', { rel: 'icon', href: '/test.png', type: 'image/svg+xml' }], 47 | ['link', { rel: 'alternate icon', href: '/test.png' }], 48 | ['link', { rel: 'mask-icon', href: '/test.png', color: '#7bc5e4' }], 49 | ['meta', { name: 'keywords', content: meta.keywords.join(' ') }], 50 | ['link', { rel: 'apple-touch-icon', href: '/test.png', sizes: '192x192' }], 51 | // Bing site verification 52 | [ 53 | 'meta', 54 | { 55 | name: 'msvalidate.01', 56 | content: 'F3028112EF6F929B562F4B18E58E3691' 57 | } 58 | ], 59 | // Google site verification 60 | [ 61 | 'meta', 62 | { 63 | name: 'google-site-verification', 64 | content: 'XCq-ZTw6VJPQ7gVNEOl8u0JRqfadK7WcsJ0H598Wv9E' 65 | } 66 | ], 67 | // Redirect to main site if embedded in iframe 68 | [ 69 | 'script', 70 | {}, 71 | ` 72 | (function() { 73 | if (window.self !== window.top) { 74 | window.top.location = window.location.href; 75 | } 76 | })(); 77 | ` 78 | ] 79 | ], 80 | transformHead: async (context) => generateMeta(context, meta.hostname), 81 | buildEnd: async (context) => { 82 | generateImages(context) 83 | .then(() => generateFeed(context)) 84 | .finally(() => consola.success('Success!')) 85 | }, 86 | vite: { 87 | ssr: { 88 | noExternal: ['@fmhy/components'] 89 | }, 90 | resolve: { 91 | alias: [ 92 | { 93 | find: /^.*VPSwitchAppearance\.vue$/, 94 | replacement: fileURLToPath( 95 | new URL('./theme/Appearance.vue', import.meta.url) 96 | ) 97 | } 98 | ] 99 | }, 100 | optimizeDeps: { exclude: ['workbox-window'] }, 101 | plugins: [ 102 | OptimizeExclude(), 103 | Terminal({ 104 | console: 'terminal', 105 | output: ['console', 'terminal'] 106 | }), 107 | UnoCSS({ 108 | configFile: '../unocss.config.ts' 109 | }), 110 | AutoImport({ 111 | dts: '../.cache/imports.d.ts', 112 | imports: ['vue', 'vitepress'], 113 | vueTemplate: true, 114 | biomelintrc: { 115 | enabled: true, 116 | filepath: './.cache/imports.json' 117 | } 118 | }), 119 | transformsPlugin(), 120 | { 121 | name: 'custom:adjust-order', 122 | configResolved(c) { 123 | movePlugin( 124 | c.plugins as any, 125 | 'vitepress', 126 | 'before', 127 | 'unocss:transformers:pre' 128 | ) 129 | movePlugin( 130 | c.plugins as any, 131 | 'custom:transform-content', 132 | 'before', 133 | 'vitepress' 134 | ) 135 | } 136 | } 137 | ], 138 | build: { 139 | // Shut the fuck up 140 | chunkSizeWarningLimit: Number.POSITIVE_INFINITY 141 | } 142 | }, 143 | markdown: { 144 | emoji: { defs }, 145 | config(md) { 146 | md.use(emojiRender) 147 | md.use(toggleStarredPlugin) 148 | meta.build.api && md.use(headersPlugin) 149 | } 150 | }, 151 | themeConfig: { 152 | search, 153 | footer: { 154 | message: `${feedback} (rev: ${commitRef})`, 155 | copyright: 156 | `© ${new Date().getFullYear()}, Estd 2018.` + 157 | `
    This site does not host any files.` 158 | }, 159 | editLink: { 160 | pattern: 'https://github.com/fmhy/edit/edit/main/docs/:path', 161 | text: '📝 Edit this page' 162 | }, 163 | outline: 'deep', 164 | logo: '/fmhy.ico', 165 | nav, 166 | sidebar, 167 | socialLinks 168 | } 169 | }) 170 | -------------------------------------------------------------------------------- /docs/posts/sept-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [Sept] 3 | description: September 2024 updates 4 | date: 2024-09-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Made [multiple updates](https://i.ibb.co/4ThbdyN/image.png) to our site and feedback system. All pages are now [visible](https://fmhy.net/) on the front page, feedback can now be [sent from any section](https://i.ibb.co/k8p2rcF/image.png), and [site icons](https://i.ibb.co/tBMwXXy/image.png) have been added for discord, telegram, reddit, git etc. 24 | 25 | - Created a [method](https://github.com/fmhy/bookmarks) to add all of FMHY to your bookmarks. 26 | 27 | - Added subsections to Minecraft Tools: [Hosting](https://fmhy.net/gaming-tools#hosting-tools), [Launchers](https://fmhy.net/gaming-tools#launchers), [Data Packs](https://fmhy.net/gaming-tools#mods-data-packs), [Map Tools](https://fmhy.net/gaming-tools#maps-world-tools), [Technical Tools](https://fmhy.net/gaming-tools#technical-tools), [Customization](https://fmhy.net/gaming-tools#customization) and [3D Tools](https://fmhy.net/gaming-tools#_3d-tools). 28 | 29 | - Added [ChatGPT Tools](https://fmhy.net/ai#chatgpt-tools), [AI Benchmarks](https://fmhy.net/ai#ai-benchmarks) and [AI Search Engine](https://fmhy.net/ai#ai-search-engines) sections to AI. 30 | 31 | - Added [YouTube Music](https://fmhy.net/android-iosguide#youtube-music-clients) and [YouTube App](https://fmhy.net/android-iosguide#ios-youtube-apps) (ios) sections to Mobile. 32 | 33 | - Added [Coding Tools](https://fmhy.net/devtools#coding-tools) and [Android Code Editor](https://fmhy.net/devtools#android-code-editors) sections to Code Editors. 34 | 35 | - Added [Geoguessr](https://fmhy.net/gamingpiracyguide#geoguessr-games) section to Browser Games. 36 | 37 | - Added [Cloud Managers](https://fmhy.net/file-tools#cloud-managers) section to File Tools. 38 | 39 | - Added [JEE / NEET](https://fmhy.net/edupiracyguide#jee-neet) section in Edu Tools. 40 | 41 | - Added [Streaming APIs](https://fmhy.net/videopiracyguide#streaming-apis) section to Streaming. 42 | 43 | - Split Audiobooks into [Downloading](https://fmhy.net/readingpiracyguide#downloading) and [Streaming](https://fmhy.net/readingpiracyguide#streaming). 44 | 45 | - Made FMHY site logo easier to switch (click it 5 times). 46 | 47 | - Our filterlist has been moved to [here](https://fmhy.github.io/FMHYFilterlist/site/index.html), and our markdown page to [here](https://api.fmhy.net/single-page). 48 | 49 | --- 50 | 51 | ### Stars Added ⭐ 52 | 53 | - Starred [Bookracy](https://fmhy.net/readingpiracyguide#ebooks) in Ebook Sites. Promising book site with solid UI and community. 54 | 55 | - Starred [Droid-ify](https://fmhy.net/android-iosguide#foss-apks) in FOSS APKs. Open source F-Droid client some like more than the official. 56 | 57 | - Starred [Disblock Origin](https://fmhy.net/adblockvpnguide#adblocking) in Adblocking. Removes nitro / boost ads from Discord. 58 | 59 | - Starred [Sidebery](https://fmhy.net/storage#tab-managers) in Tab Managers. Useful open source tab manager / bookmark manager. 60 | 61 | - Starred [FastFLUX](https://fmhy.net/ai#image-generation) in AI Image Gen. Good quality and currently unlimited. 62 | 63 | - Starred [You](https://fmhy.net/ai#ai-search-engines) in AI Search Engines. Fast, free, unlimited AI search. 64 | 65 | - Starred [Archive of Our Own](https://fmhy.net/readingpiracyguide#fanfiction-stories) in Fanfiction Sites. Popular and extensive archive of fanfiction. 66 | 67 | - Starred [Materialgram](https://fmhy.net/social-media-tools#telegram-clients) and [AyuGram](https://fmhy.net/android-iosguide#social-media-apps) (android) in Telegram Clients. Simple, ad-free, feature-rich clients. 68 | 69 | - Starred [NCS](https://fmhy.net/storage#royalty-free-music) in Royalty Free Music. Popular library for free music. 70 | 71 | - Starred [K-9 Mail](https://fmhy.net/android-iosguide#android-internet) in Android Internet. Open source mobile mail client. 72 | 73 | - Starred [Lossless Scaling](https://fmhy.net/gaming-tools#optimization-tools) in Game Optimization. Powerful upscaling with frame generation for all GPUs. 74 | 75 | - Starred [Hotkey Cheatsheet](https://fmhy.net/system-tools#mouse-keyboard) in Keyboard Tools. Keyboard hotkeys for lots of different apps. 76 | 77 | - Starred [Viren070's Guides](https://fmhy.net/videopiracyguide#stremio-tools) in Stremio Tools. Helpful guides to use Stremio. 78 | 79 | --- 80 | 81 | ### Things Removed 82 | 83 | - Said Goodbye to both Fmovies and Aniwave. 84 | 85 | - Removed SusFlix as its been down for over a week. 86 | 87 | - Removed Lantern as its limit is low (250mb daily) and its closed source. 88 | 89 | - Removed Lexica as they're removing the free tier. 90 | 91 | - Unstarred APKPure due to their poor privacy policy + low quality apps. 92 | 93 | - Unstarred ROMhacking as they're going [archive only](https://www.romhacking.net/forum/index.php?topic=39405). 94 | 95 | - Unstarred Morphic as they will [no longer](https://i.ibb.co/sRVyVKk/image.png) be using paid models for searching. 96 | 97 | - Unstarred sdk.vercel as it requires an account for the better models. 98 | -------------------------------------------------------------------------------- /docs/posts/sept-2023.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [September] 3 | description: September 2023 updates. 4 | date: 2023-09-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Split Linux Tools into subcategories: [System](/linuxguide/#linux-system), 24 | [Apps](/linuxguide/#linux-apps), [Internet](/linuxguide/#linux-internet), 25 | [Terminal / Shell](/linuxguide/#terminal--shell) and 26 | [Customization](/linuxguide/#customization). 27 | 28 | - NSFW has been [overhauled](/nsfwpiracy/) with a bunch of new sites and 29 | sections. 30 | 31 | - Added Z-Libs new [Desktop App / Extension](/readingpiracyguide/#reading-sites) 32 | in Reading Sites. 33 | 34 | - Replaced 9anime with [AniWave](/videopiracyguide/#anime-streaming) as they've 35 | [rebranded](https://torrentfreak.com/9anime-rebrands-to-aniwave-citing-legal-troubles-230802/) 36 | to avoid blocking. 37 | 38 | - Replaced link to IDM in Download Managers with 39 | [activation script](/storage/#file-download-managers). 40 | 41 | - Replaced /r/VPN with [/r/VPNs](https://www.reddit.com/r/vpns/) in our sidebar, 42 | as it allows users to discuss providers. 43 | 44 | ### Stars Added ⭐ 45 | 46 | - Starred SusFlix and The Movie Archive in 47 | [Streaming Sites](/videopiracyguide/#multi-server). Big libraries, 4K quality. 48 | 49 | - Starred [Dhokla](/videopiracyguide/#drives--directories) in video downloading. 50 | Big drive, fast downloads. 51 | 52 | - Starred 53 | [Awesome Free ChatGPT](https://github.com/LiLittleCat/awesome-free-chatgpt/blob/main/README_en.md) 54 | in AI Chatbots. Huge list of free chatbots. 55 | 56 | - Starred [NanaZip](/storage/#compression-programs) in File Archivers. 57 | Open-source, modern design, preferred over 7-Zip by some. 58 | 59 | - Starred [Deluge](/torrentpiracyguide/#torrent-clients) in Torrent Clients. 60 | Open-source client with many useful 61 | [plugins](https://dev.deluge-torrent.org/wiki/Plugins). 62 | 63 | - Starred [InnerTune](/android-iosguide/#android-audio) in Android Audio. 64 | Open-source YouTube Music client. 65 | 66 | - Starred APKPure and UpToDown in 67 | [Untouched APKs](/android-iosguide/#untouched-apks). 68 | 69 | - Starred EverythingMoe and Ripped in [Indexes](/miscguide/#indexes). Solid 70 | Piracy Indexes. 71 | 72 | - Starred [ReadAllComics](/readingpiracyguide/#comic-sites) in Comics. Big 73 | library, no captcha. 74 | 75 | - Starred [WatchWrestling24](/videopiracyguide/#sports-streaming) in Sports 76 | Streaming. Good video hosts, quick uploads. 77 | 78 | - Starred [Sandboxie Plus](/adblockvpnguide/#antivirus) in Antivirus. 79 | User-friendly software sandbox / [Guide](https://rentry.co/sandboxie-guide). 80 | 81 | - Starred [DarkPatternsTipline](/miscguide/#shopping) in Shopping. Deceptive 82 | Service Design Tipline. 83 | 84 | - Starred [Scoop](/storage/#package-managers) in Package Managers. Command-line 85 | installer for Windows. 86 | 87 | - Starred [SA Drive](/toolsguide/#file-tools) in File Tools. Google Service 88 | Account Drive Manager. 89 | 90 | - Starred [OpenModelDB](/storage/#image-upscalers) in Image Upscaling. Upscaling 91 | Model Database. 92 | 93 | - Starred [EyeCndy](/toolsguide/#video-tools) in Video Tools. Camera technique 94 | library. 95 | 96 | ### Things Removed 97 | 98 | - We've stopped accepting and started removing all AI tools that require paid 99 | API keys to function. 100 | 101 | - Removed FileCR as they've been 102 | [caught with malware](https://rentry.co/filecr_malware), and still haven't 103 | removed it. 104 | 105 | - Removed AnonFiles as they've decided to quit due to people 106 | [abusing the site](https://i.imgur.com/lXoEqAV.png). 107 | 108 | - Unstarred WinRar in File Archivers. People feel its not as useful anymore 109 | given open-source options like 7-Zip / NanaZip. 110 | 111 | - Removed RVX from ReVanced section as its been 112 | [discontinued](https://github.com/inotia00/revanced-documentation/wiki/Announcement). 113 | 114 | - Removed PDF Drive in PDF Sites as downloads no longer work. 115 | 116 | - Removed TronScript in Debloaters. Some people consider it 117 | [overkill](https://i.imgur.com/K5hf5Bu.png). 118 | 119 | - Removed Poe in AI Chatbots as its now limited to 10 daily messages (or 100 in 120 | some countries.) 121 | 122 | - Removed the "Everything I Know" wiki from Indexes as they've gone 123 | [paid](https://i.imgur.com/ig8jPGL.jpg). You can get around it by blocking the 124 | overlay, but we're not interested in sending traffic their way anymore. 125 | 126 | - Unstarred 1337x and added [warning](https://pastebin.com/Rc9MYMZ7) to avoid 127 | software / games, as they've had issues with malware, including a torrent that 128 | was up for days after being reported. They did remove it eventually, and 129 | [respond](https://i.imgur.com/ij4CXIm.png) to the situation, so we feel it 130 | would be unfair to remove their site entirely. Our hope is that 1337x acts 131 | quicker in the future, avoids situations like this, and begins to earn trust 132 | back from people over time. 133 | -------------------------------------------------------------------------------- /docs/posts/aug-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [August] 3 | description: August 2024 updates 4 | date: 2024-08-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Added [URL Tools](https://fmhy.net/internet-tools#url-tools) section with 24 | subsections: [Shorteners](https://fmhy.net/internet-tools#url-shorteners), 25 | [Unshorteners](https://fmhy.net/internet-tools#url-unshorteners), 26 | [Site Checks](https://fmhy.net/internet-tools#down-site-checkers) and 27 | [Domain / DNS](https://fmhy.net/internet-tools#domain-dns). 28 | 29 | - Split Search Tools into subsections: 30 | [Search Engines](https://fmhy.net/internet-tools#search-engines), 31 | [Custom Engines](https://fmhy.net/internet-tools#custom-search-engines) and 32 | [Google Tools](https://fmhy.net/internet-tools#google-search-tools). 33 | 34 | - Split Multiplayer Tools into subsections: 35 | [Fixes](https://fmhy.net/gaming-tools#multiplayer-fixes), 36 | [Mods](https://fmhy.net/gaming-tools#multiplayer-mods) and 37 | [Servers](https://fmhy.net/gaming-tools#multiplayer-servers). 38 | 39 | - Split Game Dev Tools into subsections: 40 | [Game Engines](https://fmhy.net/devtools#game-engines), 41 | [Asset Creation](https://fmhy.net/devtools#asset-creation) and 42 | [Map Creators](https://fmhy.net/devtools#map-creators-editors). 43 | 44 | - Added [Office Suites](https://fmhy.net/text-tools#office-suites) section to 45 | Text Tools. 46 | 47 | - Added [Wallpaper Managers](https://fmhy.net/system-tools#wallpaper-managers) 48 | section to Customization. 49 | 50 | - Added [Captcha Tools](https://fmhy.net/internet-tools#captcha-tools) section 51 | to Internet Tools. 52 | 53 | - Added [Tumblr Tools](https://fmhy.net/social-media-tools#tumblr-tools) section 54 | to Social Media Tools. 55 | 56 | - Added [VTuber Tools](https://fmhy.net/video-tools#vtuber-tools) section to 57 | Video Tools. 58 | 59 | - Added warning to Vadapav NOT to use DL managers to bulk download anymore as 60 | they're [banning](https://ibb.co/VvrZMXQ) for it now. You can still use DL 61 | managers, just download at a reasonable pace please. 62 | 63 | - Decided to pull the plug on the feedback forum (feedback.fmhy.net), and 64 | instead enable the 65 | [forums feature](https://discord.com/blog/forum-channels-space-for-organized-conversation) 66 | in our [discord](https://discord.gg/5W9QJKuPkD). We now have forums for giving 67 | suggestions, getting support, and testing links. 68 | 69 | --- 70 | 71 | ### Stars Added ⭐ 72 | 73 | - Starred [lucida](https://fmhy.net/audiopiracyguide#audio-ripping-sites) in 74 | Audio Ripping. Multi-site audio ripping with 320kb / FLAC support. 75 | 76 | - Starred [Proton Docs](https://fmhy.net/text-tools#online-editors) in Text 77 | Tools. Protons google docs alternative. 78 | 79 | - Starred [Pikimov](https://fmhy.net/video-tools#online-editors) in Online Video 80 | Editors. Online adobe after effects alternative. 81 | 82 | - Starred [Flowstreams](https://fmhy.net/videopiracyguide#live-sports) in Live 83 | Sports. Live sports / music events. 84 | 85 | - Starred [FullReplays](https://fmhy.net/videopiracyguide#sports-replays) in 86 | sports replays. Full soccer match replays. 87 | 88 | - Starred [Aurora Store](https://fmhy.net/android-iosguide#untouched-apks) in 89 | Untouched APKs. FOSS version of the Play Store. 90 | 91 | - Starred [No Trace](https://fmhy.net/adblockvpnguide#privacy-indexes) in 92 | Privacy Indexes. In-depth privacy guides / anti-surveillance. 93 | 94 | - Starred 95 | [Futo Keyboard / Voice](https://fmhy.net/android-iosguide#keyboard-text) in 96 | Android Keyboard Tools. Privacy-focused keyboards. 97 | 98 | - Starred [Piko](https://fmhy.net/android-iosguide#social-media-apps) in Android 99 | Social Media. ReVanced patches for X.com. 100 | 101 | - Starred [auto-mcs](https://fmhy.net/storage#minecraft-server-tools) in 102 | Minecraft Server Tools. Simple Minecraft server setup. 103 | 104 | - Starred [Vijay's Virtual Vibes](https://fmhy.net/miscguide#random) in Fun 105 | Sites. Find random sites. 106 | 107 | - Starred [Codeium](https://fmhy.net/ai#coding-ais) in Coding AIs. Popular 108 | coding AI with unlimited GPT-3.5. 109 | 110 | - Starred [Print Chess](https://fmhy.net/gamingpiracyguide#strategy) in Strategy 111 | Games. Printable paper chess set. 112 | 113 | - Starred both Streamflix and PrimeFlix in 114 | [Multi Host](https://fmhy.net/videopiracyguide). Both sites have improved a 115 | lot recently. 116 | 117 | - Re-added + Starred [Gmailnator](https://fmhy.net/internet-tools#temp-mail). 118 | Temp mail site with gmail address'. 119 | 120 | --- 121 | 122 | ### Things Removed 123 | 124 | - Removed Fmovies as its been offline for weeks. We've replaced it with 125 | [FBOX](https://fmhy.net/videopiracyguide#multi-server) for now. 126 | 127 | - Removed Cipher Files as they've [shutdown](https://ibb.co/gzYX4Gb). 128 | 129 | - Removed Homeworkify as they've [shutdown](https://ibb.co/wJp6B3b). 130 | 131 | - Unstarred both Awesome Privacy and Hitchhiker’s Guide in Privacy Indexes, and 132 | bumped PrivacyGuides.org to the top. PrivacyGuides is high quality and updated 133 | more often than others. 134 | -------------------------------------------------------------------------------- /docs/.vitepress/transformer/constants.ts: -------------------------------------------------------------------------------- 1 | import { meta } from '../constants' 2 | 3 | /** 4 | * Copyright (c) 2025 taskylizard. Apache License 2.0. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | interface Header { 19 | [file: string]: { title: string; description: string } 20 | } 21 | 22 | export const headers: Header = { 23 | 'adblockvpnguide.md': { 24 | title: 'Adblocking / Privacy', 25 | description: 'Adblocking, Privacy, VPNs, Proxies, Antiviruses' 26 | }, 27 | 'ai.md': { 28 | title: 'Artificial Intelligence', 29 | description: 'Chatbots, Text Generators, Image Generators, ChatGPT Tools' 30 | }, 31 | 'android-iosguide.md': { 32 | title: 'Android / iOS', 33 | description: 'Apps, Jailbreaking, Android Emulators' 34 | }, 35 | 'audiopiracyguide.md': { 36 | title: 'Music / Podcasts / Radio', 37 | description: 'Stream Audio, Download Audio, Torrent Audio' 38 | }, 39 | 'beginners-guide.md': { 40 | title: 'Beginners Guide', 41 | description: 'A Guide for Beginners to Piracy' 42 | }, 43 | 'downloadpiracyguide.md': { 44 | title: 'Downloading', 45 | description: 'Download Sites, Software Sites, Open Directories' 46 | }, 47 | 'edupiracyguide.md': { 48 | title: 'Educational', 49 | description: 'Courses, Documentaries, Learning Resources' 50 | }, 51 | 'gamingpiracyguide.md': { 52 | title: 'Gaming / Emulation', 53 | description: 'Download Games, ROMs, Gaming Tools' 54 | }, 55 | 'linuxguide.md': { 56 | title: 'Linux / macOS', 57 | description: 'Apps, Software Sites, Gaming' 58 | }, 59 | 'miscguide.md': { 60 | title: 'Miscellaneous', 61 | description: 'Extensions, Indexes, News, Health, Food, Fun' 62 | }, 63 | 'nsfwpiracy.md': { 64 | title: 'NSFW', 65 | description: 'NSFW Indexes, Streaming, Downloading' 66 | }, 67 | 'non-english.md': { 68 | title: 'Non-English', 69 | description: 'International Piracy Sites' 70 | }, 71 | 'readingpiracyguide.md': { 72 | title: 'Books / Comics / Manga', 73 | description: 'Books, Comics, Magazines, Newspapers' 74 | }, 75 | 'gaming-tools.md': { 76 | title: 'Gaming Tools', 77 | description: 'Gaming Optimization, Game Launchers, Multiplayer' 78 | }, 79 | 'devtools.md': { 80 | title: 'Developer Tools', 81 | description: 'Git, Hosting, App Dev, Software Dev' 82 | }, 83 | 'img-tools.md': { 84 | title: 'Image Tools', 85 | description: 'Image Editors, Generators, Compress' 86 | }, 87 | 'audio-tools.md': { 88 | title: 'Audio Tools', 89 | description: 'Audio Players, Audio Editors, Audio Downloaders' 90 | }, 91 | 'system-tools.md': { 92 | title: 'System Tools', 93 | description: 'System Tools, Hardware Tools, Windows ISOs, Customization' 94 | }, 95 | 'file-tools.md': { 96 | title: 'File Tools', 97 | description: 'Download Managers, File Hosting, File Archivers' 98 | }, 99 | 'video-tools.md': { 100 | title: 'Video Tools', 101 | description: 'Video Players, Video Editors, Live Streaming, Animation' 102 | }, 103 | 'text-tools.md': { 104 | title: 'Text Tools', 105 | description: 'Text Editors, Pastebins, Fonts, Translators' 106 | }, 107 | 'internet-tools.md': { 108 | title: 'Internet Tools', 109 | description: 'Browsers, Extensions, Search Engines' 110 | }, 111 | 'social-media-tools.md': { 112 | title: 'Social Media Tools', 113 | description: 'Discord Tools, Reddit Tools, YouTube Tools' 114 | }, 115 | 'storage.md': { 116 | title: 'Storage', 117 | description: 'Sections too big to fit on main pages' 118 | }, 119 | 'torrentpiracyguide.md': { 120 | title: 'Torrenting', 121 | description: 'Torrent Clients, Torrent Sites, Trackers' 122 | }, 123 | 'videopiracyguide.md': { 124 | title: 'Movies / TV / Anime', 125 | description: 'Stream Videos, Download Videos, Torrent Videos' 126 | }, 127 | 'base64.md': { 128 | title: 'Base64', 129 | description: 'Base64 storage' 130 | }, 131 | 'unsafesites.md': { 132 | title: 'Unsafe Sites', 133 | description: 'Unsafe/harmful sites to avoid.' 134 | } 135 | } as const 136 | 137 | export const excluded = [ 138 | 'readme.md', 139 | 'single-page', 140 | 'feedback.md', 141 | 'index.md', 142 | 'sandbox.md', 143 | 'startpage.md' 144 | ] 145 | 146 | export function getHeader(id: string) { 147 | const title = 148 | '

    ' 149 | 150 | const description = '

    ' 151 | 152 | const feedback = meta.build.api ? '' : '' 153 | 154 | const data = headers[id] 155 | let header = '---\n' 156 | header += `title: "${data.title}"\n` 157 | header += `description: ${data.description}\n` 158 | header += '---\n' 159 | header += `${title}${data.title}

    \n` 160 | header += `${description}${data.description}

    \n\n${feedback}\n\n` 161 | return header 162 | } 163 | -------------------------------------------------------------------------------- /docs/posts/feb-2024.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monthly Updates [Feb] 3 | description: Febuary 2024 updates. 4 | date: 2024-02-01 5 | next: false 6 | 7 | prev: false 8 | 9 | footer: true 10 | --- 11 | 12 | 13 | 14 | :::info 15 | These update threads only contains major updates. If you're interested 16 | in seeing all minor changes you can follow our 17 | [Commits Page](https://github.com/fmhy/FMHYedit/commits/main) on GitHub or 18 | [Updates Channel](https://redd.it/17f8msf) in Discord. 19 | ::: 20 | 21 | ### Wiki Updates 22 | 23 | - Our official pastebin, **[snowbin](https://pastes.fmhy.net/)** is now live! 24 | Keep in mind pastes only last for 7 days, and as of now you can't make edits, 25 | but we may add features like this in the future. 26 | 27 | - Ran a [poll](https://i.imgur.com/73paJlr.png) regarding streaming sites, and 28 | used the results to help us re-order the 29 | [streaming section.](/videopiracyguide) 30 | 31 | - Turned Spotify into its own section w/ subsections: 32 | [Clients](/audiopiracyguide#spotify-clients), 33 | [Adblockers](/audiopiracyguide#spotify-adblockers), 34 | [Download](/audiopiracyguide#spotify-download) and 35 | [Tools](/audiopiracyguide#spotify-tools). 36 | 37 | - Added a section for [Soundtracks](/audiopiracyguide#media-soundtracks) in 38 | Audio. 39 | 40 | - Added sections for [Computer Science](/devtools#computer-science) and 41 | [Docker](/devtools#docker-tools) in Dev Tools. 42 | 43 | - Added a section for 44 | [Two-Factor Authentication](/adblockvpnguide#two-factor-authentication) in Web 45 | Privacy. 46 | 47 | - Re-organized [Magazine Sites](/readingpiracyguide#magazines) + added filehosts 48 | to their descriptions. 49 | 50 | - Removed OnStream from unsafe sites. The ["evidence"](https://rentry.co/upo2r) 51 | we had listed wasn't very solid. If someone has more proof we can re-consider, 52 | but for now we don't have reason enough to call them unsafe. Keep in mind its 53 | not posted in the wiki, just removed from our unsafe list. 54 | 55 | - We recently moved off Netlify, and soon after a scammer 56 | [took over the domain](https://i.imgur.com/rByoHnf.png). If you had this page 57 | bookmarked we'd highly recommend you remove it, and update to our 58 | [new domain](/). We've tried reporting it to Netlify, but so far they haven't 59 | done anything. 60 | 61 | - Grammar issues have been fixed 62 | [throughout the wiki](https://github.com/fmhy/FMHYedit/pull/1337) / 63 | [2](https://github.com/fmhy/FMHYedit/pull/1340) / 64 | [3](https://github.com/fmhy/FMHYedit/pull/1339). Remember that anyone can send 65 | [pull requests](https://github.com/fmhy/FMHYedit) to our github so don't be 66 | afraid to help us fix things like this. 67 | 68 | - Added a mirror of our site to [github.io](https://fmhy.github.io/FMHYedit/). 69 | 70 | --- 71 | 72 | ### Stars Added ⭐ 73 | 74 | - Starred updated guides for both [Windows Piracy](/system-tools#windows-isos) 75 | and [Office Piracy](/text-tools#text-editors). 76 | 77 | - Starred [Buzzheavier](/file-tools#file-hosts) in File Hosts. No upload limit, 78 | files last forever. 79 | 80 | - Starred [Linqbin](/internet-tools#url-tools) in URL Tools. Privacy focused 81 | temp link shortener/pastebin, made by one of our discord mods. 82 | 83 | - Starred [Gnarly Repacks](/gamingpiracyguide#game-repacks) in Game Repacks + 84 | ROMs. Trusted repacker who's been around for years. 85 | 86 | - Starred [PrimeFlix](/videopiracyguide#multi-server) in Streaming Sites. Nice 87 | UI, fast 1080p, lots of hosts. 88 | 89 | - Starred [LightDLMovies](/videopiracyguide#download-sites) in Video Download. 90 | Fast, single click, 1080p downloads. 91 | 92 | - Starred [Flugel Anime](/videopiracyguide#anime-downloading) in Anime DDL. 93 | Archive of nyaa.si with fast downloads. 94 | 95 | - Starred [Divisions by zero](/social-media-tools#fediverse-tools) in Fediverse 96 | Tools. The best piracy focused instance on Lemmy. 97 | 98 | - Starred [CRACKSurl](/downloadpiracyguide#software-sites) in Software Sites. 99 | Clean scans + admins are members of FMHY. 100 | 101 | - Starred [PDF Drive](/readingpiracyguide#pdf-search) in PDF Sites as their 102 | downloads are working again. 103 | 104 | - Starred [Bypass All Shortlinks](/adblockvpnguide#redirect-bypass) in Redirect 105 | Bypass. This is a fork of the original script with all tracking elements 106 | removed. 107 | 108 | --- 109 | 110 | ### Things Removed 111 | 112 | - Removed Tachiyomi as it is 113 | [no longer being developed](https://tachiyomi.org/news/2024-01-13-goodbye). 114 | We've replaced it with its successor 115 | [Mihon](/android-iosguide#android-reading), and keep in mind the forks linked 116 | there still work. 117 | 118 | - Removed Revanced Extended in YouTube Apps as its been 119 | [archived](https://redd.it/1abt4kk). 120 | 121 | - Removed Nitter in Frontends as the lead dev decided to 122 | [call it quits](https://github.com/zedeus/nitter/issues/1155#issuecomment-1913361757). 123 | 124 | - Removed Erai-Raws in Anime DDL as they're closing registrations. 125 | 126 | - Removed WorldCinema in Video DDL as they've gone premium only. 127 | 128 | - Removed /r/ApkApps Megathread as its no longer updated. 129 | 130 | - Removed Lunar Client in Minecraft Launchers as its closed-source and their 131 | privacy policy is [very poor](https://i.imgur.com/2Wtds7l.png). 132 | 133 | - Unstarred LibreWolf as Mullvad Browser is a similar project with 134 | [auto updates](https://i.imgur.com/GTzWHR0.png). 135 | 136 | - Unstarred Zoo in AI Chatbots as its no longer unlimited. 137 | 138 | - Unstarred Phind in AI Chatbots as it no longer offers free GPT-4. 139 | --------------------------------------------------------------------------------