ProxiTok lets users browse TikTok content without being tracked — no account, no surveillance, no TikTok JavaScript. But ProxiTok is more fragile than it looks: it depends on unofficial TikTok API endpoints that change without notice, a Redis cache to avoid rate-limiting, and a PHP-FPM stack that can fail quietly. When any layer breaks, users see blank pages or errors with no indication why. Vigilmon monitors the web server, PHP-FPM health, TikTok API connectivity, Redis cache, video proxy, and your TLS certificate so silent failures become immediate alerts.
What You'll Set Up
- Web server availability monitor (Apache/nginx)
- PHP-FPM process health check
- TikTok API connectivity monitoring
- Redis cache connectivity heartbeat
- User profile and video feed response time monitoring
- Video proxy health check
- Search endpoint availability
- SSL/TLS certificate expiry alerts
Prerequisites
- ProxiTok running (PHP/Slim Framework on Apache or nginx + PHP-FPM, default port
80/443) - Redis running and configured in ProxiTok's
.env - A free Vigilmon account
Step 1: Monitor Web Server Availability
The root endpoint of ProxiTok serves the homepage — a TikTok trending feed. Monitor it as your primary availability check:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter:
https://proxitok.yourdomain.com/ - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Set Expected content to
ProxiTok(appears in the page title). - Click Save.
A failure here means either nginx/Apache is down or PHP-FPM has crashed completely. Content matching distinguishes a real page from an error page that returns 200.
Step 2: Monitor PHP-FPM Health
PHP-FPM is the PHP process manager that actually executes ProxiTok's application code. nginx or Apache forwards requests to PHP-FPM via FastCGI — if PHP-FPM is down, the web server is up but every page returns a 502 Bad Gateway.
Add a dedicated PHP-FPM status monitor:
-
Enable the PHP-FPM status page in your pool config (
/etc/php/8.x/fpm/pool.d/www.conf):pm.status_path = /fpm-status -
Expose it only locally in your nginx config:
location = /fpm-status { allow 127.0.0.1; deny all; fastcgi_pass unix:/run/php/php8.x-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } -
Add a monitor in Vigilmon via localhost or a loopback TCP check. Since Vigilmon probes from the outside, use a lightweight wrapper endpoint instead:
Create
/var/www/proxitok/public/health.php:<?php // Simple PHP-FPM liveness check header('Content-Type: application/json'); echo json_encode(['status' => 'ok', 'php' => PHP_VERSION]); -
In Vigilmon, click Add Monitor → HTTP / HTTPS.
-
Enter:
https://proxitok.yourdomain.com/health.php -
Set Expected HTTP status to
200. -
Set Expected content to
"status":"ok". -
Set Check interval to
1 minute. -
Click Save.
A 200 from health.php proves PHP-FPM is running and processing requests. The main site returning 502 with this monitor still healthy points to a configuration issue rather than a process crash.
Step 3: Monitor TikTok API Connectivity
ProxiTok depends on unofficial TikTok API endpoints to fetch content. TikTok changes these endpoints without notice, and IP-based rate-limiting can silently block all responses from your server's IP.
Monitor the primary TikTok web API endpoint:
- Click Add Monitor → HTTP / HTTPS.
- Enter:
https://www.tiktok.com/api/recommend/item_list/?aid=1988 - Set Check interval to
5 minutes. - Set Expected HTTP status to
200. - Set Response time threshold to
5000 ms. - Click Save.
Also monitor TikTok's main domain for general reachability:
https://www.tiktok.com/
TikTok API failures are often not outages — they're IP blocks or endpoint changes. When this monitor fails while the rest of ProxiTok appears healthy, check for TikTok API changes in the ProxiTok GitHub issue tracker.
Step 4: Monitor Redis Cache Connectivity
ProxiTok uses Redis to cache TikTok API responses, reducing the number of direct TikTok API calls and avoiding rate-limiting. If Redis goes down, ProxiTok either falls back to direct API calls (increased rate-limit risk) or fails requests entirely depending on your configuration.
Create a Redis health check endpoint at /var/www/proxitok/public/redis-health.php:
<?php
header('Content-Type: application/json');
try {
$redis = new Redis();
$redis->connect('127.0.0.1', 6379, 2.0);
$pong = $redis->ping('health');
if ($pong === 'health' || $pong === true) {
http_response_code(200);
echo json_encode(['status' => 'ok', 'redis' => 'connected']);
} else {
http_response_code(503);
echo json_encode(['status' => 'error', 'redis' => 'unexpected response']);
}
} catch (Exception $e) {
http_response_code(503);
echo json_encode(['status' => 'error', 'redis' => $e->getMessage()]);
}
In Vigilmon:
- Click Add Monitor → HTTP / HTTPS.
- Enter:
https://proxitok.yourdomain.com/redis-health.php - Set Expected HTTP status to
200. - Set Expected content to
"redis":"connected". - Set Check interval to
2 minutes. - Click Save.
A Redis failure typically manifests as slow page loads before it becomes full errors — catch it early.
Step 5: Monitor User Profile Pages
User profile pages (/@:username) are one of the most common entry points for ProxiTok. They require a successful TikTok API call and Redis cache lookup.
- Click Add Monitor → HTTP / HTTPS.
- Enter a known-stable public TikTok profile via your instance:
https://proxitok.yourdomain.com/@tiktok - Set Check interval to
3 minutes. - Set Expected HTTP status to
200. - Set Response time threshold to
6000 ms. - Set Expected content to
tiktok(the username should appear on the page). - Click Save.
Response time spikes on profile pages usually indicate TikTok API latency or Redis cache misses.
Step 6: Monitor Video Feed Pages
The trending and following feed pages load multiple TikTok API calls in parallel. They're the heaviest pages and the first to degrade under API rate-limiting or network latency.
- Click Add Monitor → HTTP / HTTPS.
- Enter:
https://proxitok.yourdomain.com/ - Set Response time threshold to
8000 ms— feed pages are heavier than profile pages. - Set Check interval to
2 minutes. - Click Save (or update the existing root monitor from Step 1 with the response time threshold).
Step 7: Monitor the Video Proxy
ProxiTok proxies TikTok video streams through its own server to prevent TikTok from tracking which videos users watch. If the video proxy breaks, users can see post thumbnails but video playback fails.
Add a monitor for the video proxy endpoint:
- Click Add Monitor → HTTP / HTTPS.
- The video proxy path varies by version, but typically:
Since this requires a real video URL, instead monitor the static asset path which exercises the same serving infrastructure:https://proxitok.yourdomain.com/stream?url=https%3A%2F%2Fexample.com%2Ftesthttps://proxitok.yourdomain.com/assets/app.js - Set Expected HTTP status to
200. - Set Check interval to
5 minutes. - Click Save.
If you have a known test video URL, you can use it directly — the proxy should return a redirect or stream response (2xx or 3xx are both acceptable). Set Expected HTTP status to 200,301,302 to cover both.
Step 8: Monitor the Search Endpoint
ProxiTok's search endpoint (/search) queries TikTok's search API. It can fail independently of profile and feed pages.
- Click Add Monitor → HTTP / HTTPS.
- Enter:
https://proxitok.yourdomain.com/search?q=test&type=video - Set Check interval to
5 minutes. - Set Expected HTTP status to
200. - Set Response time threshold to
8000 ms. - Click Save.
Search failures are often the first sign of TikTok API endpoint changes — the search API endpoint changes more frequently than the profile or feed endpoints.
Step 9: SSL/TLS Certificate Expiry Monitoring
- Open the HTTPS monitor from Step 1.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - Click Save.
ProxiTok's privacy-focused audience is particularly sensitive to certificate warnings — a lapsed certificate will drive users away immediately.
Step 10: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- For the web server monitor: Consecutive failures before alert =
2. - For PHP-FPM health: Consecutive failures before alert =
1— a PHP-FPM failure is always urgent. - For TikTok API monitors: Consecutive failures before alert =
3— TikTok API is flaky by nature. - For Redis: Consecutive failures before alert =
2. - Enable Recovery alerts on TikTok API monitors — knowing when the API recovers is operationally useful.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web server | https://domain.com/ | nginx/Apache down |
| PHP-FPM | /health.php | PHP-FPM crash (502) |
| TikTok API | tiktok.com/api/... | API block or endpoint change |
| Redis | /redis-health.php | Cache unavailable |
| User profile | /@tiktok | Profile API failure |
| Video feed | Root with response time | Feed degradation |
| Video proxy | /assets/app.js or stream path | Video playback broken |
| Search | /search?q=test | Search API failure |
| SSL certificate | HTTPS domain | Certificate expiry |
ProxiTok's entire value proposition depends on staying available and not forcing users back to TikTok's tracking environment. With Vigilmon monitoring every layer — web server, PHP-FPM, TikTok API reachability, Redis, and TLS — you catch silent failures before users do and keep the privacy guarantee intact.