Skip to content

willmortimer/icloud-private-relay-check

Repository files navigation

iCloud Private Relay Check

A web application to check if your connection is using iCloud Private Relay.

Features

  • Detects if your connection is using iCloud Private Relay
  • Shows your current IP address
  • Displays device and browser information
  • Dark mode support
  • Powered by Laravel Octane with Swoole for high performance

Requirements

  • PHP 8.2+
  • Node.js 20+
  • Podman or Docker
  • Composer

Local Development

  1. Clone the repository
git clone https://github.com/yourusername/icloud-private-relay-check.git
cd icloud-private-relay-check
  1. Install dependencies
composer install
npm install
  1. Set up environment
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
  1. Build assets
npm run build
  1. Start the server
php artisan serve

Production Deployment with Podman

  1. Build the container
podman build -t icloud-relay-check .
  1. Run the container
podman run -d \
  --name laravel-app \
  -p 8000:8000 \
  -v ./storage/logs:/var/www/storage/logs \
  -v ./storage/app:/var/www/storage/app \
  -v ./database:/var/www/database \
  --env-file .env.production \
  icloud-relay-check

Setting Up the Scheduler

The Laravel scheduler can be run from the host system using either cron or systemd.

Using Cron

Add to your host system's crontab:

* * * * * podman exec laravel-app php artisan schedule:run >> /var/log/laravel-scheduler.log 2>&1

Using Systemd

  1. Create the service file:
# /etc/systemd/system/laravel-scheduler.service
[Unit]
Description=Run Laravel Scheduler
Requires=podman.service
After=podman.service

[Service]
Type=oneshot
ExecStart=/usr/bin/podman exec laravel-app php artisan schedule:run

[Install]
WantedBy=multi-user.target
  1. Create the timer:
# /etc/systemd/system/laravel-scheduler.timer
[Unit]
Description=Run Laravel Scheduler Every Minute

[Timer]
OnBootSec=1min
OnUnitActiveSec=1min

[Install]
WantedBy=timers.target
  1. Enable and start the timer:
sudo systemctl enable laravel-scheduler.timer
sudo systemctl start laravel-scheduler.timer

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published