diff --git a/MicListener/MicListener/ContentView.swift b/MicListener/MicListener/ContentView.swift index d3849d4..5a1756b 100644 --- a/MicListener/MicListener/ContentView.swift +++ b/MicListener/MicListener/ContentView.swift @@ -82,12 +82,23 @@ struct ContentView: View { .font(.title) .bold() - Text("Made with ❤️ by Binhake ツ") - .font(.subheadline) - .foregroundColor(.secondary) + HStack(spacing: 4) { + Text("Made with ❤️ by") + .foregroundColor(.secondary) + if let searchURL = URL(string: "https://www.google.com/search?q=binhake&ie=UTF-8") { + Link("Binhake ツ", destination: searchURL) + .foregroundColor(.blue) + .underline() + } else { + Text("Binhake ツ") + .foregroundColor(.secondary) + } + } + .font(.subheadline) } .padding(.top, 10) + // ================================================= // 2. STATUS SUMMARY // ================================================= diff --git a/MicRemote/MicRemote/ContentView.swift b/MicRemote/MicRemote/ContentView.swift index 820fa4d..78505c0 100644 --- a/MicRemote/MicRemote/ContentView.swift +++ b/MicRemote/MicRemote/ContentView.swift @@ -44,14 +44,29 @@ struct ContentView: View { ) { // ====================================== - // TITLE + // TITLE & SUBTITLE // ====================================== - Text("MIC REMOTE") - .font( - .largeTitle - ) - .bold() + VStack(spacing: 4) { + Text("MIC REMOTE") + .font(.largeTitle) + .bold() + + HStack(spacing: 4) { + Text("Made with ❤️ by") + .foregroundColor(.secondary) + if let searchURL = URL(string: "https://www.google.com/search?q=binhake&ie=UTF-8") { + Link("Binhake ツ", destination: searchURL) + .foregroundColor(.blue) + .underline() + } else { + Text("Binhake ツ") + .foregroundColor(.secondary) + } + } + .font(.subheadline) + } + // ====================================== // NETWORK STATUS diff --git a/README.md b/README.md index 1b3786a..8e6e8be 100644 --- a/README.md +++ b/README.md @@ -59,3 +59,11 @@ Real-time audio streaming from an iPhone microphone to any device or web browser - Install Tailscale on the server device. - Access the WebApp from anywhere using your server's Tailscale IP: `http://:3000`. - If you want to use the iOS `MicRemote` / `MicListener` apps remotely over cellular data / outside networks, install the Tailscale app on your iPhones and use the server's Tailscale IP. That's all! + +- **Standard & Traditional Method (Cloud VPS / Port Forwarding)**: + - **Option A (Cloud VPS - Recommended for 24/7 access)**: Deploy `server.js` on a Cloud VPS (AWS, DigitalOcean, Vultr, Oracle Cloud, Linode, etc.) with a Public IP or Domain. Both iPhones and web listeners can connect directly to `http://:3000` from anywhere via 4G/5G/Wi-Fi without needing any extra apps. + - **Option B (Home Router Port Forwarding)**: + 1. Set a static local IP for your server machine in your Wi-Fi router. + 2. Forward Port `3000` (TCP) on your router to the server machine's local IP. + 3. Use your Public IP or a free Dynamic DNS (DDNS) hostname (DuckDNS, No-IP, Cloudflare Tunnel) to connect from outside networks. + diff --git a/server.js b/server.js index fbab544..f58666b 100644 --- a/server.js +++ b/server.js @@ -1073,9 +1073,10 @@ app.get(
- Made with ❤️ by Binhake ツ + Made with ❤️ by Binhake ツ
+
iPhone: