{"id":25847350,"url":"https://github.com/alimranahmed/liftpad","last_synced_at":"2026-05-13T03:35:06.424Z","repository":{"id":280066259,"uuid":"937115550","full_name":"alimranahmed/liftpad","owner":"alimranahmed","description":"A UI to add domain/subdomain using cloudflared CLI of remote servers","archived":false,"fork":false,"pushed_at":"2025-03-01T01:52:14.000Z","size":159,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T02:29:23.406Z","etag":null,"topics":["cloudflare","cloudflared","dns","domain","server"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alimranahmed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-22T11:24:35.000Z","updated_at":"2025-03-01T01:59:04.000Z","dependencies_parsed_at":"2025-03-01T02:29:38.828Z","dependency_job_id":"60add4b5-8f37-4e13-9ab7-f8dc50942c1d","html_url":"https://github.com/alimranahmed/liftpad","commit_stats":null,"previous_names":["alimranahmed/liftpad"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alimranahmed/liftpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alimranahmed%2Fliftpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alimranahmed%2Fliftpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alimranahmed%2Fliftpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alimranahmed%2Fliftpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alimranahmed","download_url":"https://codeload.github.com/alimranahmed/liftpad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alimranahmed%2Fliftpad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32967203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare","cloudflared","dns","domain","server"],"created_at":"2025-03-01T10:18:52.715Z","updated_at":"2026-05-13T03:35:06.407Z","avatar_url":"https://github.com/alimranahmed.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Liftpad\nA UI to add domain/subdomain using `cloudflared` CLI of remote servers.\n\nIf you have `cloudflared` cli installed in your server already and want to add domain/subdomain without running all the tunnel commands manually, this tool can help you.\n\nThis tool is built using [Laravel](https://laravel.com), it also uses [MySQL](https://www.mysql.com) database.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/alimranahmed/liftpad/refs/heads/main/storage/app/public/screenshots/03_websites_index.png\" width=\"700\" alt=\"Laravel Logo\"\u003e\u003c/p\u003e\n\n### Context\nThis tool basically handles the steps after 3rd step of \"Using Cloudflare to Make Our Web App Public\" mentioned in this article: [How I Turned an Old Laptop into a Web Hosting Server for My Laravel Application](https://medium.com/@al_imran_ahmed/how-i-turned-an-old-laptop-into-a-web-hosting-server-for-my-laravel-application-e9035692d56b)\n\n\n### Requirements\n1. Docker\n2. [Cloudflared CLI](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/create-local-tunnel/) in the server\n3. Make sure you are logged in using `cloudflared tunnel login` command\n\n### Installation\n1. Clone this repository\n2. Go to the project root `cd liftpad` \n3. Run `docker compose up -d`\n4. Run `docker exec -it liftpad-app composer install`\n5. Run `docker exec -it liftpad-app php artisan migrate`\n6. Visit `localhost:8081`, you should see the interface of this tool!\n\n### How to stop it?\n1. Go to the project root\n2. Run `docker compose down` to stops all the application contains\n3. Note: The docker images are still there, you have to remove them manually in case you don't need them.\n\n### How to use?\n1. Go to servers menu and add the server details where your application is hosted\n2. Once connection is successfully close the server form.\n3. Go to websites menu and select the server\n4. It should automatically load all your added tunnels and `cloudflared` version\n5. To add a new domain simply add the domain name and application port and click Add\n\n\u003cp align=\"center\"\u003eAdd Server\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/alimranahmed/liftpad/refs/heads/main/storage/app/public/screenshots/01_add_server.png\" width=\"700\" alt=\"Add Server\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eServer list\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/alimranahmed/liftpad/refs/heads/main/storage/app/public/screenshots/02_server_index.png\" width=\"700\" alt=\"Server list\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eAdd Domain\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/alimranahmed/liftpad/refs/heads/main/storage/app/public/screenshots/04_add_domain.png\" width=\"700\" alt=\"Add Domain\"\u003e\u003c/p\u003e\n\n### How it works?\n1. When you add a domain(e.g. example.com) and port(e.g. 8081) and click **Add** button\n2. It **creates a tunnel** in the server using the server credentials you provided via `cloudflared` CLI.\n3. Once the tunnel is created, it **creates a tunnel config file** for the domain and specified port\n4. Then it **adds a DNS record** in Cloudflare using `cloudflared` CLI over your server\n5. Once DNS record added, it **configures a service** to run the tunnel in the background\n6. After creating the service config, it **starts the service**!\n7. Then you can visit: `example.com`\n\n### License\n[MIT](https://github.com/alimranahmed/liftpad/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falimranahmed%2Fliftpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falimranahmed%2Fliftpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falimranahmed%2Fliftpad/lists"}