Resolving System & Service Conflicts
This tutorial guides you through diagnosing operational failures, resolving port conflicts, inspecting session logs, and resetting corrupted state using built-in TTP administration commands.
1. Running System Diagnostics (sudo ttp diagnose)
When a session fails to start or network redirection behaves unexpectedly, run sudo ttp diagnose to generate an integrated diagnostic report:
The diagnostic command collects and formats 7 critical system layers:
- System & OS: Distribution version, kernel release, and SELinux status.
- Tor Service State:
ttp-tor.servicesystemd unit status and active PIDs. - Torrc Configuration: Active volatile configuration in
/run/tor/ttp/torrc. - nftables Ruleset: Active
inet ttpredirection rules and chain counters. - DNS Configuration:
/etc/resolv.confmount overlay andsystemd-resolveddrop-ins. - Tor Control Interface: Connection status on control socket
/run/tor/ttp/control. - TTP Internal State: Session lock content and volatile RAM file state in
/run/ttp.
2. Inspecting Volatile Logs (ttp logs)
View recent session logs stored in /run/ttp/ttp.log:
# Display full volatile session log
ttp logs
# Combine with systemd journal for Tor daemon logs
sudo journalctl -u ttp-tor.service -n 50 --no-pager
Log entries capture preflight check events, nftables rule applications, DNS mount operations, and watchdog state transitions.
3. Resolving Port Conflicts
TTP requires dedicated TCP and UDP ports for Tor TransPort (9040), DNSPort (5353), and ControlPort (9051).
If another process occupies these ports, preflight checks report a port conflict:
# Check if Tor TransPort (9040) is occupied by another process
sudo ss -tulpn | grep 9040
# Check DNS port (5353) listener
sudo ss -tulpn | grep 5353
If another Tor instance or local resolver occupies these ports, stop the conflicting daemon or allow TTP to manage its dedicated ttp-tor.service instance.
4. Emergency State Purge (sudo ttp purge)
If a session crashes abruptly or leaves stale lock files, SELinux policy modules, or invalid /run/ttp files, run sudo ttp purge:
sudo ttp purge stops active sessions, flushes stale nftables rules, unmounts temporary /etc/resolv.conf overlays, removes temporary files from /run/ttp, and unloads SELinux policy modules.