From 9f5b94f6e29c6e9488a53c701cdd20da8a6561db Mon Sep 17 00:00:00 2001 From: fdocr Date: Sun, 13 Apr 2025 21:52:53 -0600 Subject: [PATCH 1/5] Custom scheme deep link --- shard.yml | 2 +- src/server.cr | 11 ++++++++++ src/views/s.ecr | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 src/views/s.ecr diff --git a/shard.yml b/shard.yml index 081570e..9748bd7 100644 --- a/shard.yml +++ b/shard.yml @@ -24,6 +24,6 @@ development_dependencies: github: crystal-ameba/ameba version: ~> 1.5.0 -crystal: 1.10.1 +crystal: 1.15 license: MIT diff --git a/src/server.cr b/src/server.cr index f4cae00..a3b2fe6 100644 --- a/src/server.cr +++ b/src/server.cr @@ -26,6 +26,17 @@ get "/" do |env| end end +get "/s/:scheme/:url" do |env| + begin + fallback_url = URI.parse(env.params.url["url"]) + target_uri = URI.parse(env.params.url["url"]) + target_uri.scheme = env.params.url["scheme"] + render "src/views/s.ecr" + rescue udl_error + render "src/views/fallback.ecr" + end +end + get "/.well-known/apple-app-site-association" do |env| env.response.content_type = "application/json" diff --git a/src/views/s.ecr b/src/views/s.ecr new file mode 100644 index 0000000..9ba2bc7 --- /dev/null +++ b/src/views/s.ecr @@ -0,0 +1,58 @@ + + + + + + +
+
Redirecting to your destination...
+ + + + + + + + From effa8f57d4059dbaa0ec1cb0947cb5b4959a8769 Mon Sep 17 00:00:00 2001 From: fdocr Date: Sun, 13 Apr 2025 21:53:39 -0600 Subject: [PATCH 2/5] cleanup --- src/views/s.ecr | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/views/s.ecr b/src/views/s.ecr index 9ba2bc7..62a7e84 100644 --- a/src/views/s.ecr +++ b/src/views/s.ecr @@ -27,20 +27,6 @@
Redirecting to your destination...
- - From 38b7b2acb4e0c17942d4ed184631aebe1f306014 Mon Sep 17 00:00:00 2001 From: fdocr Date: Sun, 13 Apr 2025 21:57:03 -0600 Subject: [PATCH 3/5] Bump Crystal version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9514327..7f6abda 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build image -FROM crystallang/crystal:1.10.1-alpine as builder +FROM crystallang/crystal:1.15.1-alpine as builder WORKDIR /opt # Cache dependencies COPY ./shard.yml ./shard.lock /opt/ From 7275c04719b3509deb32e91850446c04495a7c71 Mon Sep 17 00:00:00 2001 From: fdocr Date: Sun, 13 Apr 2025 22:16:39 -0600 Subject: [PATCH 4/5] Small tweaks --- src/views/s.ecr | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/views/s.ecr b/src/views/s.ecr index 62a7e84..48b5317 100644 --- a/src/views/s.ecr +++ b/src/views/s.ecr @@ -3,6 +3,14 @@ -
-
Redirecting to your destination...
+
+
+
Redirecting to your destination...
+