Connection Issues
Troubleshooting network and connectivity problems with Hayase.
CGNAT and Peer Limits
What is CGNAT?
CGNAT stands for Carrier-Grade Network Address Translation. CGNAT is effectively a way for ISPs to cut costs by sharing IP addresses instead of providing each customer with their own public IP. This allows them to sell "high-speed gigabit" or "fibre internet" packages while saving money on IPv4 addresses.
Here's the problem: You're paying for faster download speeds, but with CGNAT, you often can't actually use that bandwidth for peer-to-peer applications. Your 1 Gbps connection becomes meaningless when you can only connect to 20-30% of available peers.
CGNAT is never a good thing for customers. It comes with severe limitations:
- Connection limits that cause dropouts when running multiple devices or apps
- Complete inability to port forward (breaks gaming, servers, remote access)
- Degraded P2P performance (torrents, VoIP, video calls)
- Speed means nothing if you're locked out of most connections
An ISP advertising "blazing fast fibre" without mentioning CGNAT is selling you hobbled internet. Your network can start cutting out long before you reach those speeds, simply because you're running too many devices or applications simultaneously on your network, CGNAT equipment has hard limits on concurrent connections per customer.
How it works:
ISP Public IP: 203.0.113.5
↓
Your connection: 10.x.x.x (private)
Neighbor's connection: 10.y.y.y (private)
Another neighbor: 10.z.z.z (private)From the internet's perspective, you all have the same IP address.
How to Detect CGNAT
Method 1: Check your router's WAN IP
- Log into your router admin panel
- Look at the WAN/Internet IP address
- Check if it's a private IP range:
- 10.0.0.0 to 10.255.255.255
- 100.64.0.0 to 100.127.255.255 (CGNAT range)
- 172.16.0.0 to 172.31.255.255
- 192.168.0.0 to 192.168.255.255
If your WAN IP is in these ranges: You're behind CGNAT
Method 2: Compare router IP to "what is my IP"
- Check router's WAN IP
- Visit https://whatismyipaddress.com/
- If they're different AND router shows private IP: CGNAT
Method 3: Try port forwarding
- Set up port forwarding in router
- Use a port checker (like canyouseeme.org)
- If it fails despite correct forwarding: Likely CGNAT
Impact on Torrenting
CGNAT severely limits your BitTorrent connectivity and prevents port forwarding (your ISP controls the public IP).
Without CGNAT:
You ←→ Tracker ←→ All peers You can connect to: Anyone Anyone can connect to: You
Typical connections: 100-300 peers possible
With CGNAT:
You ←→ Tracker ←→ Only peers WITHOUT CGNAT You can connect to: Only peers with port forwarding Peers can connect to you: NEVER
Typical connections: 10-50 peers only
Real-world impact:
- Can only connect to ~20-30% of swarm
- Other peers can't connect to you
- Significantly slower speeds
- Dead torrents completely unavailable
Common CGNAT Situations
Mobile Networks (4G/5G):
- Almost always CGNAT
- Carriers have limited IPv4 addresses
Satellite Internet:
- Always CGNAT
- Additional latency makes it worse
Some ISPs:
- Growing number of residential ISPs use CGNAT
- Especially common in densely populated areas
- IPv4 exhaustion drives this
College/University Networks:
- Usually CGNAT
- Often block torrenting entirely
Public WiFi:
- Always CGNAT
- Often has additional restrictions
Solutions
1. Get a VPN (Recommended)
A VPN gives you a public IP and allows port forwarding:
You → VPN → Internet
↓
Public IP (forwarded port)How it helps:
- VPN provider gives you a routable public IP
- You can forward ports through VPN
- Peers can connect directly to you via VPN
Requirements:
- VPN must support port forwarding
- Not all VPNs do (check before subscribing)
Setup:
- Subscribe to VPN with port forwarding
- Connect to VPN
- Enable port forwarding in VPN app
- Note the assigned port number
- Configure Hayase to use that port
- Test connectivity
2. Request Public IP from ISP
Some ISPs will give you a public IP if you ask:
- Contact ISP support
- Ask for "non-CGNAT connection" or "public IP address"
- May cost extra ($5-10/month typically)
- May only be available on business plans
Worth trying if:
- You don't want to pay for VPN
- ISP offers it affordably
3. Use IPv6
If both you and peers have IPv6:
Your ISP → Gives you real IPv6 address Peers with IPv6 → Can connect directly
Bypasses CGNAT completely!
How to enable:
- Check if ISP provides IPv6
- Enable IPv6 in router
- Test connectivity
Limitations:
- Both you and peer need IPv6
- Not all torrents have IPv6 peers
- Not a complete solution yet
4. Rely on Peers with Port Forwarding
Without solving CGNAT:
You can still connect to peers who have port forwarding Just can't accept incoming connections
Works okay if many seeders have port forwarding
Tips to maximize connections:
- Use popular torrents (more peers = more with port forwarding)
- Use DHT and PEX (helps find peers)
- Be patient (connections build up slowly)
5. Use NZB Extensions Instead
Usenet doesn't use peer connections:
You → Usenet Server
↓
Downloads directly
No peers needed!Advantages:
- CGNAT doesn't matter
- Consistently fast
- More reliable
Limitations:
- Usually paid service
- Not all torrents available
See NZB Extensions for details.
Port Forwarding Setup
Quick setup:
- Choose port: for example 36881
- Find your local IP: ipconfig (Windows) or ip addr (Linux)
- Router admin → Port Forwarding
- Forward port 36881 TCP+UDP to your local IP
- Hayase Settings → Network → Port: 36881
- Test at canyouseeme.org
Detailed guide: See Torrenting Issues - Port Forwarding
Dead Torrents
How to identify:
Torrent info shows:
- Seeders: 0
- Peers: 0-2
- Last seen: Months/years ago
What to do:
- Wait 5-10 minutes (sometimes seeders appear)
- Try different torrent of same content
- Use NZB extension instead (can revive dead content)
Prevention:
- Check seeder count before downloading
- Prefer torrents with 10+ seeders
- Use recent uploads
App Won't Load
DNS/Network Blocking
Symptoms:
- Extensions show "offline"
- Can't load app interface
- Metadata won't fetch
- "Connection failed" errors
Cause: ISP blocks domains Hayase needs
Quick fix:
- Settings → Client → Use DNS over HTTPS: Enable
- Choose provider: Cloudflare
- Restart Hayase
Complete guide: See Bypassing Blocks
Extension Loading Failures
Symptoms:
"Extension failed to load" "Extension error"
Causes:
1. Network blocking:
Can't download extension files Solution: Enable DoH or VPN
2. Extension incompatible:
Old extension, new Hayase Or vice versa Solution: Update both
3. Invalid extension URL
Extension source URL is wrong Solution: Check URL, make sure it points to a .json file
Nothing connects
Nuclear option: Reset:
- Close Hayase completely
- Delete cache folder: Windows: %APPDATA%/Hayase/ Linux: ~/.config/hayase/ macOS: ~/Library/Application Support/Hayase/
- Reinstall Hayase
- Reconfigure settings
Preserve app but clear cache:
Settings → App → Reset EVERYTHING To Defaults Keeps app but clears all data and settings
Related: