Compare commits

...

2 commits

Author SHA1 Message Date
Wispy
e018996355
vpn/proxy fixes (#4138) 2025-10-06 14:03:17 -07:00
Samidy
333717cc27
misc fixes and improvments for halloween theme (#4127)
* halloween thingers

* halloween thingers 2

* make halloween theme the preffered theme and change FMHY name gradient

* background change for halloween

* again

* make background change on home page too

* please let this work unc

* change colors on home page button

* let this work unc

* fix some more issues

* semi-final update (hopefully)

* uhhuh

* fixes for other themes besides halloween

* light mode fixes (PLEASE let this work)

* how did i not catch this omg

* light mode fixes

* add Halloween logo

* Update image source from test.png to hall.png

* add uwu logo

* Change image for uwu

* hall of the weens

* background change when selecting another theme

* make halloween emoji bigger + fixes

* i hate this

* please let this work unc
2025-10-06 13:57:32 -07:00
6 changed files with 104 additions and 91 deletions

View file

@ -3,7 +3,7 @@ import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
// Add Halloween colors locally
// Add Halloween colors
const halloweenColors = {
50: '#fff7ed',
100: '#ffedd5',
@ -18,7 +18,7 @@ const halloweenColors = {
950: '#431407'
}
// Extend colors with Halloween theme
// hall extend or something
const extendedColors = {
...colors,
halloween: halloweenColors
@ -54,89 +54,97 @@ const updateThemeColor = (colorName: ColorNames) => {
.map((scale) => `--vp-c-brand-${scale}: ${colorSet[scale]};`)
.join('\n ')
// if user isnt using halloween theme switch it
const nonHalloweenOverride = colorName !== 'halloween' ? `
--vp-c-bg: #ffffff !important;
--vp-c-bg-alt: #f9f9f9 !important;
--vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
--vp-button-alt-bg: #484848 !important;
--vp-button-alt-text: #f0eeee !important;
--vp-button-alt-hover-bg: #484848 !important;
--vp-button-alt-hover-text: #f0eeee !important;
--vp-button-brand-bg: var(--vp-c-brand-1) !important;
--vp-button-brand-border: var(--vp-c-brand-soft) !important;
--vp-button-brand-text: rgba(42, 40, 47) !important;
--vp-button-brand-hover-bg: var(--vp-c-brand-soft) !important;
--vp-button-brand-hover-border: var(--vp-c-brand-soft) !important;
--vp-button-brand-hover-text: rgba(42, 40, 47) !important;
` : ''
const nonHalloweenDarkOverride = colorName !== 'halloween' ? `
--vp-c-bg: rgb(26, 26, 26) !important;
--vp-c-bg-alt: rgb(23, 23, 23) !important;
--vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
--vp-button-alt-bg: #484848 !important;
--vp-button-alt-text: #f0eeee !important;
--vp-button-alt-hover-bg: #484848 !important;
--vp-button-alt-hover-text: #f0eeee !important;
--vp-button-brand-bg: var(--vp-c-brand-1) !important;
--vp-button-brand-border: var(--vp-c-brand-soft) !important;
--vp-button-brand-text: rgba(42, 40, 47) !important;
--vp-button-brand-hover-bg: var(--vp-c-brand-soft) !important;
--vp-button-brand-hover-border: var(--vp-c-brand-soft) !important;
--vp-button-brand-hover-text: rgba(42, 40, 47) !important;
` : ''
const nonHalloweenBodyOverride = colorName !== 'halloween' ? `
body {
background-color: #ffffff !important;
}
.VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app {
background-color: #ffffff !important;
}
.dark body {
background-color: rgb(26, 26, 26) !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
background-color: rgb(26, 26, 26) !important;
}
` : ''
css.value = `
:root {
${cssVars}
--vp-c-brand-1: ${colorSet[500]};
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
${nonHalloweenOverride}
}
.dark {
${cssVars}
--vp-c-brand-1: ${colorSet[400]};
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
${nonHalloweenDarkOverride}
}
${nonHalloweenBodyOverride}
`
// Add/remove Halloween theme indicator
const htmlElement = document.documentElement
if (colorName === 'halloween') {
htmlElement.setAttribute('data-halloween-theme', 'true')
// Apply Halloween theme
htmlElement.classList.add('theme-halloween')
css.value = `
:root {
${cssVars}
--vp-c-brand-1: ${colorSet[500]};
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
}
.dark {
${cssVars}
--vp-c-brand-1: ${colorSet[400]};
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
}
`
} else {
htmlElement.removeAttribute('data-halloween-theme')
// Remove Halloween theme and apply other theme with normal backgrounds
htmlElement.classList.remove('theme-halloween')
css.value = `
:root {
${cssVars}
--vp-c-brand-1: ${colorSet[500]};
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
--vp-c-bg: #ffffff !important;
--vp-c-bg-alt: #f9f9f9 !important;
--vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
--vp-c-bg-soft: #f9f9f9 !important;
}
.dark {
${cssVars}
--vp-c-brand-1: ${colorSet[400]};
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
--vp-c-bg: rgb(26, 26, 26) !important;
--vp-c-bg-alt: rgb(23, 23, 23) !important;
--vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
--vp-c-bg-soft: rgb(23, 23, 23) !important;
}
html, body {
background-color: #ffffff !important;
}
.VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
background-color: #ffffff !important;
}
.VPHome {
background-color: #ffffff !important;
}
.VPHome .VPHero {
background-color: #ffffff !important;
}
.dark html, .dark body {
background-color: rgb(26, 26, 26) !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
background-color: rgb(26, 26, 26) !important;
}
.dark .VPHome {
background-color: rgb(26, 26, 26) !important;
}
.dark .VPHome .VPHero {
background-color: rgb(26, 26, 26) !important;
}
`
}
}
// Set Halloween theme ASAP if its the pref
const storedTheme = localStorage.getItem('preferred-color')
if (!storedTheme || storedTheme === '"halloween"') {
document.documentElement.setAttribute('data-halloween-theme', 'true')
document.documentElement.classList.add('theme-halloween')
}
// Initialize theme color
@ -145,7 +153,7 @@ updateThemeColor(selectedColor.value)
// halloween stuff
onMounted(() => {
if (selectedColor.value === 'halloween') {
document.documentElement.setAttribute('data-halloween-theme', 'true')
document.documentElement.classList.add('theme-halloween')
}
// Re-apply the theme to ensure everything is initialized
updateThemeColor(selectedColor.value)
@ -170,6 +178,13 @@ const normalizeColorName = (colorName: string) =>
:title="normalizeColorName(color)"
>
<span
v-if="color === 'halloween'"
class="inline-block w-6 h-6 flex items-center justify-center text-xl"
>
🎃
</span>
<span
v-else
class="inline-block w-6 h-6 rounded-full"
:style="{ backgroundColor: extendedColors[color][500] }"
/>

View file

@ -316,20 +316,14 @@
* ↪️ **[Linux 2FA](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/adblock-vpn-privacy#wiki_.25B7_password_privacy_.2F_2fa)**
* ↪️ **[DNS Adblocking](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/adblock-vpn-privacy/#wiki_.25B7_dns_adblocking)**
* ⭐ **[Arch Security Wiki](https://wiki.archlinux.org/title/Security)**, [Linux Hardening](https://vez.mrsk.me/linux-hardening.html) / [2](https://madaidans-insecurities.github.io/guides/linux-hardening.html) or [How to Secure a Linux Server](https://github.com/imthenachoman/How-To-Secure-A-Linux-Server) - Linux Security Guides
* ⭐ **[SpoofDPI](https://github.com/xvzc/SpoofDPI)** or [zapret](https://github.com/bol-van/zapret) - DPI Circumvention
* ⭐ **[CryptSetup](https://gitlab.com/cryptsetup/cryptsetup)**, [gocryptfs](https://nuetzlich.net/gocryptfs) / [GitHub](https://github.com/rfjakob/gocryptfs) or [Tomb](https://dyne.org/software/tomb/) - File Encryption
* [Securely Wipe Disk](https://wiki.archlinux.org/title/Securely_wipe_disk) or [SSD Memory Cell Clearing](https://wiki.archlinux.org/title/Solid_state_drive/Memory_cell_clearing) - Linux Disk Wipe Guides
* [JShielder](https://github.com/Jsitech/JShielder) - Hardening Script for Linux Servers
* [YouTubeUnblock](https://github.com/Waujito/youtubeUnblock) - YouTube DPI Circumvention
* [SShuttle](https://github.com/sshuttle/sshuttle) - Proxy
* [Lynis](https://github.com/CISOfy/lynis) - Linux Security Auditing Tool
* [Lockigest](https://elma.dev/works/lockigest/) - Screen Locker / [GitHub](https://github.com/elmsec/lockigest)
* [Mistborn](https://gitlab.com/cyber5k/mistborn) - Manage Cloud Security Apps
* [OpenSnitch](https://github.com/evilsocket/opensnitch) or [gufw](https://github.com/costales/gufw) - Linux Firewalls
* [Tracee](https://aquasecurity.github.io/tracee/latest) - Runtime Security and Forensics
* [OpenVPN Wrapper](https://github.com/slingamn/namespaced-openvpn) - VPN Tunnel
* [Openconnect VPN Server](https://ocserv.gitlab.io/www/index.html) - Linux SSL VPN Server
* [DSVPN](https://github.com/jedisct1/dsvpn) - Self-Hosted VPN
* [vnStat](https://github.com/vergoh/vnstat) - Network Monitors
* [Howdy](https://github.com/boltgolt/howdy) - Linux Facial Authentication
* [USBGuard](https://github.com/USBGuard/usbguard) - Implement USB Device Authorization Policies
@ -337,7 +331,6 @@
* [Collision](https://flathub.org/apps/dev.geopjr.Collision) - Check File Hashes
* [WhoAmI Project](https://owerdogan.github.io/whoami-project) - Privacy / Anonymity Tool / [GitHub](https://github.com/owerdogan/whoami-project)
* [Yubikey Full Disk Encryption](https://github.com/agherzan/yubikey-full-disk-encryption) - Use YubiKey to unlock a LUKS Partition
* [DNSWarden](https://dnswarden.com/) - DNS Adblocking / [GitHub](https://github.com/bhanupratapys/dnswarden)
* [Firejail](https://firejail.wordpress.com/) or [Bubblewrap](https://github.com/containers/bubblewrap) - Sandboxing Tools
* [GoogleTeller](https://github.com/berthubert/googerteller) - Google Tracking Notifications

View file

@ -441,7 +441,7 @@
## ▷ Android Adblocking
* ↪️ **[DNS Adblocking](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/adblock-vpn-privacy/#wiki_.25B7_dns_adblocking)**
* ⭐ **[Rethink DNS](https://rethinkdns.com/app)** / [Blocklists](https://rethinkdns.com/app#blocklists), [personalDNSfilter](https://www.zenz-solutions.de/personaldnsfilter-wp/), [DNSWarden](https://dnswarden.com/) / [GitHub](https://github.com/bhanupratapys/dnswarden) - DNS Adblockers
* ⭐ **[Rethink DNS](https://rethinkdns.com/app)** / [Blocklists](https://rethinkdns.com/app#blocklists), [personalDNSfilter](https://www.zenz-solutions.de/personaldnsfilter-wp/) - DNS Adblockers
* ⭐ **[AdGuard Premium](https://rentry.co/FMHYB64#adguard)** - Adblocking App
* ⭐ **[uBlock Origin](https://github.com/gorhill/uBlock)** - Adblocker / Works Best on [Firefox](https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/) / [Brave](https://brave.com/)
* [AdAway](https://adaway.org/) - Adblocking App / [GitHub](https://github.com/AdAway/AdAway)

View file

@ -55,6 +55,7 @@
* [NextDNS](https://nextdns.io) - Customizable DNS Adblocking Service / [Video](https://youtu.be/WUG57ynLb8I)
* [LibreDNS](https://libredns.gr/) - DNS Adblocking / [GitLab](https://gitlab.com/libreops/libredns)
* [Tiarap](https://doh.tiar.app/) - DNS Adblocking / [GitHub](https://github.com/pengelana/blocklist)
* [DNSWarden](https://dnswarden.com/) - DNS Adblocking / [GitHub](https://github.com/bhanupratapys/dnswarden)
* [Blocky](https://0xerr0r.github.io/blocky/latest/) - DNS Adblocking / [GitHub](https://github.com/0xERR0R/blocky)
* [AdGuard DNS](https://adguard-dns.io/) - Customizable DNS Adblocking Service / [X](https://x.com/adguard) / [Subreddit](https://reddit.com/r/Adguard) / [Telegram](https://t.me/adguarden)
* [Control D](https://controld.com/free-dns) - Customizable DNS Adblocking Service / [X](https://x.com/controldns) / [Subreddit](https://reddit.com/r/ControlD/) / [Discord](https://discord.gg/dns)
@ -185,9 +186,7 @@
## ▷ Network Security
* ⭐ **[Safing Portmaster](https://safing.io/)** - Network Monitor / DNS Resolver / Firewall / [Discord](https://discord.com/invite/safing) / [GitHub](https://github.com/safing)
* ⭐ **[DNSveil](https://msasanmh.github.io/DNSveil/)** - DNS Client / [GitHub](https://github.com/msasanmh/DNSveil)
* [I2P](https://geti2p.net/en/) - Encrypted Private Network Layer / [Guide](https://rentry.co/CBGI2P) / [GitLab](https://i2pgit.org/)
* [3X-UI](https://github.com/MHSanaei/3x-ui) - DIY Privacy Network / [Telegram](https://t.me/XrayUI) / **[Warning](https://github.com/fmhy/FMHY/wiki/FMHYNotes.md#3x-ui)**
* [I2P](https://geti2p.net/en/) - Encrypted P2P Network Layer / [Guide](https://rentry.co/CBGI2P) / [GitLab](https://i2pgit.org/)
* [Simplewall](https://github.com/henrypp/simplewall) - Firewall
* [Fort](https://github.com/tnodir/fort) - Firewall
* [WFC](https://www.binisoft.org/wfc.php) - Firewall
@ -378,7 +377,7 @@
* [OpenVPN](https://openvpn.net/) - VPN Server
* [WGDashboard](https://wgdashboard.dev/) - WireGuard Panel / AmneziaWG / [Subreddit](https://www.reddit.com/r/WGDashboard/) / [Discord](https://discord.gg/72TwzjeuWm) / [GitHub](https://github.com/donaldzou/WGDashboard)
* [Headscale](https://github.com/juanfont/headscale) - Self Hosted Tailscale
* [Nebula](https://github.com/slackhq/nebula) or [ZeroTier](https://www.zerotier.com/) - Mesh VPN Server
* [Nebula](https://github.com/slackhq/nebula) or [ZeroTier](https://www.zerotier.com/) - Mesh VPN Server
* [IPsec VPN](https://github.com/hwdsl2/setup-ipsec-vpn) - VPN Server
* [Cloudflare Tunnels](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) - Application Tunnel / VPN Alternative / [WireGuard](https://gist.github.com/WildeBeast2521/adabae243e0b83e344ceef0422c3fa6d)
* [Cloud WireGuard Guide](https://github.com/rajannpatel/Pi-Hole-on-Google-Compute-Engine-Free-Tier-with-Full-Tunnel-and-Split-Tunnel-Wireguard-VPN-Configs) - WireGuard + Pi-hole VPN using Google Cloud
@ -387,6 +386,9 @@
* [OpenConnect](https://gitlab.com/openconnect/openconnect) - SSL VPN / [GUI](https://openconnect.github.io/openconnect-gui/)
* [Pritunl](https://pritunl.com/) - VPN Server / [GitHub](https://github.com/pritunl/pritunl)
* [Algo VPN](https://blog.trailofbits.com/2016/12/12/meet-algo-the-vpn-that-works/) - Cloud VPN / [GitHub](https://github.com/trailofbits/algo)
* [SShuttle](https://sshuttle.readthedocs.io/en) - SSH VPN Server [GitHub](https://github.com/sshuttle/sshuttle)
* [DSVPN](https://github.com/jedisct1/dsvpn) - Simple VPN Server
* [Openconnect](https://ocserv.gitlab.io/www/index.html) - SSL VPN Server
***
@ -429,6 +431,7 @@
* [Scramjet](https://docs.titaniumnetwork.org/proxies/scramjet/) / [GitHub](https://github.com/MercuryWorkshop/scramjet/) or [Nebula](https://github.com/NebulaServices/Nebula) - Web Proxy Server
* [Nginx Proxy Manager](https://nginxproxymanager.com) - Reverse Proxy UI / [Subreddit](https://reddit.com/r/nginxproxymanager) / [GitHub](https://github.com/NginxProxyManager/nginx-proxy-manager)
***
## ▷ Proxy Clients
@ -454,9 +457,10 @@
* ↪️ **[Great Firewall Bypass](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/non-eng#wiki_.25B7_great_firewall)**
* ⭐ **[ByeDPIAndroid](https://github.com/dovecoteescapee/ByeDPIAndroid)**, - Network Packet Alter Tool / Android
* ⭐ **[zapret](https://github.com/bol-van/zapret)** or **[GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI/)** - Network Packet Alter Tool
* ⭐ **[zapret](https://github.com/bol-van/zapret)**, **[SpoofDPI](https://github.com/xvzc/SpoofDPI)** or **[GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI/)** - Network Packet Alter Tool
* ⭐ **[DNSveil](https://msasanmh.github.io/DNSveil/)** - DNS Client / [GitHub](https://github.com/msasanmh/DNSveil)
* [ByeByeDPI](https://github.com/romanvht/ByeByeDPI/blob/master/README-en.md), [PowerTunnel](https://github.com/krlvm/PowerTunnel) or [Green Tunnel](https://github.com/SadeghHayeri/GreenTunnel) - Network Packet Alter Tools
* [YouTubeUnblock](https://github.com/Waujito/youtubeUnblock) - Unblock YouTube with SNI Spoof / OpenWrt / Entware Routers
***

View file

@ -296,7 +296,6 @@
* [ShortUrlBot](https://t.me/ShortUrlBot) - Link Shortener Bots
* [AiImageBot](https://t.me/AiImageBot) - Text to Image
* [Shieldy Bot](https://t.me/shieldy_bot) - Spam Protection Bot / [GitHub](https://github.com/1inch/shieldy)
* [ProxyBot](https://t.me/vamproxy_bot), [proxy_socks5_bot](https://t.me/BestMTProxyBot) or [ShadowSocks_bot](https://t.me/ShadowSocks_bot) - Telegram Proxy Bots
* [r/TelegramBots](https://www.reddit.com/r/TelegramBots/) - Telegram Bots Discussion
***

View file

@ -149,6 +149,8 @@
* [Mytunneling](https://www.mytunneling.com/)
* [OpenTunnel](https://opentunnel.net/)
* [Howdy](https://howdy.id/)
* [ProxyBot](https://t.me/vamproxy_bot) - Telegram Proxy Bot
* [proxy_socks5_bot](https://t.me/BestMTProxyBot) or [ShadowSocks_bot](https://t.me/ShadowSocks_bot) - Telegram Shadowsocks Bots
***