Christian: 'drop any URL and say tell me where Big Tech has its hooks... we're not just rating software, we're rating software as a service.' db/hooks/probe.mjs answers that from public records only: DNS, MX, SPF, ASN via Team Cymru, HTTP headers, and the third-party hosts named in the page's own HTML. Nothing is scanned. If a site tells the world it sends mail through Google, this reads it. Verified live, 2026-10-29: parler.com -> AS16509 AMAZON, plus Microsoft email, plus Vercel netflix.com -> AS40027 NETFLIX (their own Open Connect edge), NOT AWS signal.org -> Cloudflare CDN, Google touchpoints bigtech.sucks-> AS16509 AMAZON (GoDaddy parking sits on AWS) That netflix result is the important one. The front door is Netflix's own network; the catalog and user data are in AWS. Edge ASN is not backend custody, and the tool says so in its own header comment rather than pretending otherwise. Also: - The list is now the front door (public/index.html, generated from the DB). The game moved to /game.html and keeps working, ready for its own subdomain. - suggestion table + v_requested view: anyone can ask for a product to be rated, no account, no email. Optional contact. Addresses are salted-hashed, never stored. - POST /api/suggest on the existing server package, with a graceful fallback on the static page to a Forgejo issue so requests are never lost when the server is down.
26 lines
No EOL
681 B
TypeScript
26 lines
No EOL
681 B
TypeScript
import path from 'node:path';
|
|
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
resolve: {
|
|
alias: {
|
|
'@bigtech-sucks/core': path.resolve(__dirname, '../core/src/index.ts'),
|
|
},
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
// The front door is the generated rating list in public/index.html.
|
|
// The game is a separate page at /game.html, and will move to its own
|
|
// subdomain when it becomes its own funnel.
|
|
input: { game: path.resolve(__dirname, 'game.html') },
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
'/api': 'http://localhost:3001',
|
|
},
|
|
},
|
|
}); |