46 Commits

Author SHA1 Message Date
ngn
07e3fdbe87 Merge pull request 'fix(deps): update rust crate actix-http to v3.11.0' (#26) from renovate/actix-http-3.x-lockfile into main
All checks were successful
docker / docker (push) Successful in 5m0s
ups / ups (push) Successful in 43s
Reviewed-on: #26
2025-05-13 15:51:38 +03:00
ngn
f17b08a586 Merge pull request 'fix(deps): update rust crate chrono to v0.4.41' (#25) from renovate/chrono-0.x-lockfile into main
Some checks failed
docker / docker (push) Has been cancelled
Reviewed-on: #25
2025-05-13 15:51:19 +03:00
ngn
0377feebca Merge pull request 'fix(deps): update rust crate sha256 to v1.6.0' (#27) from renovate/sha256-1.x-lockfile into main
Some checks failed
docker / docker (push) Has been cancelled
Reviewed-on: #27
2025-05-13 15:50:59 +03:00
43538ba58f fix(deps): update rust crate sha256 to v1.6.0 2025-05-13 02:01:38 +00:00
a62a71fc6f fix(deps): update rust crate actix-http to v3.11.0 2025-05-13 02:01:32 +00:00
660ed02870 fix(deps): update rust crate chrono to v0.4.41 2025-05-13 02:01:26 +00:00
ngn
d7b258c8e7 ups: update to c715480 2025-05-12 23:00:56 +03:00
ngn
06035326e3 add the ups configuration
Signed-off-by: ngn <ngn@ngn.tf>
2025-05-12 22:42:29 +03:00
Gavin Mogan
33c29ea1af update get_post_light to return none when no data is found, so not found error can happen 2025-05-12 22:37:58 +03:00
ngn
beda276909 add the ups workflow
Signed-off-by: ngn <ngn@ngn.tf>
2025-05-12 22:07:12 +03:00
ngn
660f95b8a5 Merge pull request 'fix(deps): update rust crate actix-rt to v2.10.0' (#9) from renovate/actix-rt-2.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 4m35s
Reviewed-on: #9
2025-02-12 19:50:28 +03:00
ngn
22068e46d5 Merge branch 'custom' into renovate/actix-rt-2.x-lockfile 2025-02-12 19:50:18 +03:00
ngn
4f9a4a3f47 Merge pull request 'fix(deps): update rust crate actix-http to v3.9.0' (#8) from renovate/actix-http-3.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m32s
Reviewed-on: #8
2025-01-21 09:09:39 +03:00
ngn
a77526cfb3 Merge branch 'custom' into renovate/actix-http-3.x-lockfile 2025-01-21 09:09:29 +03:00
ngn
552abfe6d8 Merge pull request 'fix(deps): update rust crate serde_json to v1.0.137' (#6) from renovate/serde_json-1.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 4m3s
Reviewed-on: #6
2025-01-21 05:52:03 +03:00
ngn
79a76f850a Merge branch 'custom' into renovate/serde_json-1.x-lockfile 2025-01-21 05:51:56 +03:00
ngn
4fd5b9ca6a Merge pull request 'fix(deps): update rust crate log to v0.4.25' (#16) from renovate/log-0.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m27s
Reviewed-on: #16
2025-01-21 01:41:37 +03:00
ngn
729223f262 Merge branch 'custom' into renovate/log-0.x-lockfile 2025-01-21 01:41:27 +03:00
ngn
f76e30020a Merge pull request 'fix(deps): update rust crate url to v2.5.4' (#7) from renovate/url-2.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m25s
Reviewed-on: #7
2025-01-21 01:36:42 +03:00
ngn
4fd1493c02 Merge branch 'custom' into renovate/url-2.x-lockfile 2025-01-21 01:36:33 +03:00
ngn
85cef58653 revert sailfish update
All checks were successful
Build and publish the docker image / build (push) Successful in 3m29s
Signed-off-by: ngn <ngn@ngn.tf>
2025-01-21 01:32:06 +03:00
6e4ac477dc fix(deps): update rust crate url to v2.5.4 2025-01-20 20:01:16 +00:00
bf64021798 fix(deps): update rust crate log to v0.4.25 2025-01-20 20:01:11 +00:00
ngn
47866713b0 Merge pull request 'fix(deps): update rust crate serde to v1.0.217' (#5) from renovate/serde-monorepo into custom
Some checks failed
Build and publish the docker image / build (push) Failing after 3m8s
Reviewed-on: #5
2025-01-20 22:44:36 +03:00
ngn
9c8ac3faf3 Merge branch 'custom' into renovate/serde-monorepo 2025-01-20 22:44:29 +03:00
ngn
6adc6adf66 Revert "Merge pull request 'fix(deps): update rust crate log to v0.4.25' (#4) from renovate/log-0.x-lockfile into custom"
Some checks failed
Build and publish the docker image / build (push) Has been cancelled
This reverts commit 0c72e12ceb, reversing
changes made to 7b8376cd26.
2025-01-20 22:43:03 +03:00
ngn
1dceac0e1b Merge pull request 'fix(deps): update rust crate sailfish to 0.9.0' (#15) from renovate/sailfish-0.x into custom
Some checks failed
Build and publish the docker image / build (push) Failing after 3m6s
Reviewed-on: #15
2025-01-20 22:36:37 +03:00
1dcd745185 fix(deps): update rust crate sailfish to 0.9.0 2025-01-20 18:01:26 +00:00
ngn
0c72e12ceb Merge pull request 'fix(deps): update rust crate log to v0.4.25' (#4) from renovate/log-0.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m14s
Reviewed-on: #4
2025-01-20 20:33:40 +03:00
ngn
f8443638bc Merge branch 'custom' into renovate/log-0.x-lockfile 2025-01-20 20:33:31 +03:00
ngn
7b8376cd26 Merge pull request 'fix(deps): update rust crate futures to v0.3.31' (#3) from renovate/rust-futures-monorepo into custom
Some checks failed
Build and publish the docker image / build (push) Has been cancelled
Reviewed-on: #3
2025-01-20 20:33:23 +03:00
ngn
445083d613 Merge branch 'custom' into renovate/rust-futures-monorepo 2025-01-20 20:33:16 +03:00
ngn
8617190dd9 Merge pull request 'fix(deps): update rust crate derive_more to v0.99.18' (#2) from renovate/derive_more-0.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m20s
Reviewed-on: #2
2025-01-20 20:28:01 +03:00
ngn
641ed35a2a Merge branch 'custom' into renovate/derive_more-0.x-lockfile 2025-01-20 20:27:50 +03:00
ngn
345ddeeabb Merge pull request 'fix(deps): update rust crate chrono to v0.4.39' (#1) from renovate/chrono-0.x-lockfile into custom
All checks were successful
Build and publish the docker image / build (push) Successful in 3m25s
Reviewed-on: #1
2025-01-20 20:06:58 +03:00
ngn
b80a4c4ee8 Merge branch 'custom' into renovate/chrono-0.x-lockfile 2025-01-20 20:06:48 +03:00
ngn
27665b8436 add actix-files to the cargo.toml
All checks were successful
Build and publish the docker image / build (push) Successful in 3m15s
Signed-off-by: ngn <ngn@ngn.tf>
2025-01-20 06:21:34 +03:00
ngn
0cc19bf98d fix unclosed '(' in settings.rs
Some checks failed
Build and publish the docker image / build (push) Failing after 12s
Signed-off-by: ngn <ngn@ngn.tf>
2025-01-20 06:04:17 +03:00
98f1461706 fix(deps): update rust crate actix-rt to v2.10.0 2025-01-20 03:02:07 +00:00
1f36575f1f fix(deps): update rust crate actix-http to v3.9.0 2025-01-20 03:02:01 +00:00
9301d2bccd fix(deps): update rust crate serde_json to v1.0.137 2025-01-20 03:01:49 +00:00
d10a0e5f41 fix(deps): update rust crate serde to v1.0.217 2025-01-20 03:01:44 +00:00
17de2c7214 fix(deps): update rust crate log to v0.4.25 2025-01-20 03:01:38 +00:00
1629ad451f fix(deps): update rust crate futures to v0.3.31 2025-01-20 03:01:32 +00:00
f70f3ab8ac fix(deps): update rust crate derive_more to v0.99.18 2025-01-20 03:01:26 +00:00
993a1dd373 fix(deps): update rust crate chrono to v0.4.39 2025-01-20 03:01:20 +00:00
9 changed files with 311 additions and 124 deletions

View File

@@ -1,28 +1,34 @@
name: Build and publish the docker image
name: docker
on:
push:
branches: ["custom"]
branches:
- "main"
paths-ignore:
- "README.md"
- "LICENSE.txt"
- "docker-compose.example.yml"
- "ups.json"
env:
REGISTRY: git.ngn.tf
IMAGE: ${{gitea.repository}}
jobs:
build:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: "https://github.com/actions/checkout@v4"
uses: actions/checkout@v4
- name: Login to container repo
uses: "https://github.com/docker/login-action@v1"
uses: docker/login-action@v1
with:
registry: ${{env.REGISTRY}}
username: ${{gitea.actor}}
password: ${{secrets.PACKAGES_TOKEN}}
- name: Build image
- name: Build docker image
run: |
docker build . --tag ${{env.REGISTRY}}/${{env.IMAGE}}:latest
docker push ${{env.REGISTRY}}/${{env.IMAGE}}:latest

25
.gitea/workflows/ups.yml Normal file
View File

@@ -0,0 +1,25 @@
name: ups
on:
schedule:
- cron: "@weekly"
jobs:
ups:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y python3 python3-build python3-requests make
- name: Install ups
run: |
git clone https://git.ngn.tf/ngn/ups && cd ups
make && make install
- name: Run ups
run: PATH=~/.local/bin:$PATH ups-check

318
Cargo.lock generated
View File

@@ -20,24 +20,47 @@ dependencies = [
]
[[package]]
name = "actix-http"
version = "3.7.0"
name = "actix-files"
version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d"
checksum = "0773d59061dedb49a8aed04c67291b9d8cf2fe0b60130a381aab53c6dd86e9be"
dependencies = [
"actix-http",
"actix-service",
"actix-utils",
"actix-web",
"bitflags 2.5.0",
"bytes",
"derive_more 0.99.18",
"futures-core",
"http-range",
"log",
"mime",
"mime_guess",
"percent-encoding",
"pin-project-lite",
"v_htmlescape",
]
[[package]]
name = "actix-http"
version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44dfe5c9e0004c623edc65391dfd51daa201e7e30ebd9c9bedf873048ec32bc2"
dependencies = [
"actix-codec",
"actix-rt",
"actix-service",
"actix-utils",
"ahash 0.8.11",
"base64 0.22.1",
"bitflags 2.5.0",
"brotli",
"bytes",
"bytestring",
"derive_more",
"derive_more 2.0.1",
"encoding_rs",
"flate2",
"foldhash",
"futures-core",
"h2",
"http",
@@ -65,7 +88,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
dependencies = [
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -85,9 +108,9 @@ dependencies = [
[[package]]
name = "actix-rt"
version = "2.9.0"
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d"
checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208"
dependencies = [
"actix-macros",
"futures-core",
@@ -105,7 +128,7 @@ dependencies = [
"actix-utils",
"futures-core",
"futures-util",
"mio",
"mio 0.8.11",
"socket2",
"tokio",
"tracing",
@@ -152,7 +175,7 @@ dependencies = [
"bytestring",
"cfg-if",
"cookie",
"derive_more",
"derive_more 0.99.18",
"encoding_rs",
"futures-core",
"futures-util",
@@ -182,7 +205,7 @@ dependencies = [
"actix-router",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -194,7 +217,7 @@ dependencies = [
"actix-router",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -218,7 +241,7 @@ version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
"getrandom",
"getrandom 0.2.15",
"once_cell",
"version_check",
]
@@ -230,7 +253,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"getrandom",
"getrandom 0.2.15",
"once_cell",
"version_check",
"zerocopy",
@@ -289,7 +312,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -363,9 +386,9 @@ dependencies = [
[[package]]
name = "brotli"
version = "6.0.0"
version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
@@ -374,9 +397,9 @@ dependencies = [
[[package]]
name = "brotli-decompressor"
version = "4.0.1"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"
checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
@@ -428,16 +451,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.38"
version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
dependencies = [
"android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"wasm-bindgen",
"windows-targets 0.52.5",
"windows-link",
]
[[package]]
@@ -559,15 +582,36 @@ dependencies = [
[[package]]
name = "derive_more"
version = "0.99.17"
version = "0.99.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce"
dependencies = [
"convert_case",
"proc-macro2",
"quote",
"rustc_version",
"syn 1.0.109",
"syn 2.0.96",
]
[[package]]
name = "derive_more"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678"
dependencies = [
"derive_more-impl",
]
[[package]]
name = "derive_more-impl"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.96",
"unicode-xid",
]
[[package]]
@@ -588,7 +632,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -675,6 +719,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "foreign-types"
version = "0.3.2"
@@ -711,9 +761,9 @@ dependencies = [
[[package]]
name = "futures"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
dependencies = [
"futures-channel",
"futures-core",
@@ -726,9 +776,9 @@ dependencies = [
[[package]]
name = "futures-channel"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
dependencies = [
"futures-core",
"futures-sink",
@@ -736,15 +786,15 @@ dependencies = [
[[package]]
name = "futures-core"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
[[package]]
name = "futures-executor"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
dependencies = [
"futures-core",
"futures-task",
@@ -753,38 +803,38 @@ dependencies = [
[[package]]
name = "futures-io"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
[[package]]
name = "futures-macro"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
name = "futures-sink"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
[[package]]
name = "futures-task"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
[[package]]
name = "futures-util"
version = "0.3.30"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
dependencies = [
"futures-channel",
"futures-core",
@@ -825,7 +875,19 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
"libc",
"wasi",
"wasi 0.11.0+wasi-snapshot-preview1",
]
[[package]]
name = "getrandom"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi 0.14.2+wasi-0.2.4",
]
[[package]]
@@ -976,6 +1038,12 @@ dependencies = [
"pin-project-lite",
]
[[package]]
name = "http-range"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
[[package]]
name = "httparse"
version = "1.8.0"
@@ -1169,7 +1237,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -1284,14 +1352,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.155"
version = "0.2.172"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
[[package]]
name = "libmedium"
version = "0.1.0"
dependencies = [
"actix-files",
"actix-http",
"actix-rt",
"actix-web",
@@ -1299,7 +1368,7 @@ dependencies = [
"bincode",
"chrono",
"config",
"derive_more",
"derive_more 0.99.18",
"futures",
"graphql_client",
"lazy_static",
@@ -1369,9 +1438,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.21"
version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
[[package]]
name = "memchr"
@@ -1385,6 +1454,16 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "mime_guess"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
dependencies = [
"mime",
"unicase",
]
[[package]]
name = "minimal-lexical"
version = "0.2.1"
@@ -1408,10 +1487,21 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
"wasi",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.48.0",
]
[[package]]
name = "mio"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
dependencies = [
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0",
]
[[package]]
name = "native-tls"
version = "0.2.12"
@@ -1524,7 +1614,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -1652,7 +1742,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -1722,9 +1812,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.85"
version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
dependencies = [
"unicode-ident",
]
@@ -1748,21 +1838,26 @@ dependencies = [
]
[[package]]
name = "rand"
version = "0.8.5"
name = "r-efi"
version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
[[package]]
name = "rand"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core",
@@ -1770,11 +1865,11 @@ dependencies = [
[[package]]
name = "rand_core"
version = "0.6.4"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
"getrandom",
"getrandom 0.3.3",
]
[[package]]
@@ -1967,7 +2062,7 @@ dependencies = [
"proc-macro2",
"quote",
"serde",
"syn 2.0.66",
"syn 2.0.96",
"toml 0.8.14",
]
@@ -2036,31 +2131,32 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
[[package]]
name = "serde"
version = "1.0.203"
version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.203"
version = "1.0.217"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
name = "serde_json"
version = "1.0.117"
version = "1.0.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
dependencies = [
"itoa",
"memchr",
"ryu",
"serde",
]
@@ -2110,9 +2206,9 @@ dependencies = [
[[package]]
name = "sha256"
version = "1.5.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0"
checksum = "f880fc8562bdeb709793f00eb42a2ad0e672c4f883bbe59122b926eca935c8f6"
dependencies = [
"async-trait",
"bytes",
@@ -2190,9 +2286,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.66"
version = "2.0.96"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
dependencies = [
"proc-macro2",
"quote",
@@ -2213,7 +2309,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -2297,7 +2393,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -2343,19 +2439,19 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.38.0"
version = "1.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
dependencies = [
"backtrace",
"bytes",
"libc",
"mio",
"mio 1.0.3",
"parking_lot 0.12.3",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@@ -2468,12 +2564,24 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
[[package]]
name = "unicase"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-xid"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "unreachable"
version = "1.0.0"
@@ -2506,6 +2614,12 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "v_htmlescape"
version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c"
[[package]]
name = "vcpkg"
version = "0.2.15"
@@ -2549,6 +2663,15 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasi"
version = "0.14.2+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
dependencies = [
"wit-bindgen-rt",
]
[[package]]
name = "wasm-bindgen"
version = "0.2.92"
@@ -2570,7 +2693,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
"wasm-bindgen-shared",
]
@@ -2604,7 +2727,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -2665,6 +2788,12 @@ dependencies = [
"windows-targets 0.52.5",
]
[[package]]
name = "windows-link"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
[[package]]
name = "windows-sys"
version = "0.48.0"
@@ -2823,6 +2952,15 @@ dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags 2.5.0",
]
[[package]]
name = "write16"
version = "1.0.0"
@@ -2864,7 +3002,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
"synstructure",
]
@@ -2885,7 +3023,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]
@@ -2905,7 +3043,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
"synstructure",
]
@@ -2928,7 +3066,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.66",
"syn 2.0.96",
]
[[package]]

View File

@@ -14,6 +14,7 @@ version = "0.1.0"
actix-http = "3.0.4"
actix-rt = "2"
actix-web = "4.0.1"
actix-files = "0.6.6"
bincode = "1.3.3"
chrono = "0.4.23"
config = "0.13"

View File

@@ -1,5 +1,7 @@
# [ngn.tf] | libmedium
# libmedium - proxy for medium.com
![](https://git.ngn.tf/ngn/libmedium/actions/workflows/build.yml/badge.svg)
![](https://git.ngn.tf/ngn/libmedium/actions/workflows/docker.yml/badge.svg)
![](https://git.ngn.tf/ngn/libmedium/actions/workflows/ups.yml/badge.svg)
A fork of the [libmedium](https://github.com/realaravinth/libmedium) project, with my personal changes.
A fork of the [libmedium](https://github.com/realaravinth/libmedium) project,
with my personal changes.

View File

@@ -164,14 +164,14 @@ impl Data {
}
}
pub async fn get_post_light(&self, id: &str) -> PostUrl {
pub async fn get_post_light(&self, id: &str) -> Option<PostUrl> {
match self.posts.get(id) {
Ok(Some(v)) => {
let cached: PostResp = bincode::deserialize(&v[..]).unwrap();
PostUrl {
Some(PostUrl {
slug: cached.unique_slug,
username: cached.creator.username,
}
})
}
_ => {
let vars = get_post_light::Variables { id: id.to_owned() };
@@ -180,10 +180,16 @@ impl Data {
let res = post_graphql::<GetPostLight, _>(&self.client, URL, vars)
.await
.unwrap();
let res = res.data.expect("missing response data").post.unwrap();
PostUrl {
slug: res.unique_slug,
username: res.creator.username,
if res.data.is_none() {
None
} else {
match res.data.expect("missing response data").post {
None => None,
Some(res) => Some(PostUrl {
slug: res.unique_slug,
username: res.creator.username,
}),
}
}
}
}

View File

@@ -158,29 +158,33 @@ async fn assets(path: web::Path<String>, data: AppData) -> impl Responder {
#[actix_web_codegen_const_routes::get(path = "crate::V1_API_ROUTES.proxy.by_post_id")]
async fn by_post_id(path: web::Path<String>, data: AppData) -> impl Responder {
let post_data = data.get_post_light(&path).await;
HttpResponse::Found()
.append_header((
header::LOCATION,
crate::V1_API_ROUTES
.proxy
.get_page(&post_data.username, &post_data.slug),
))
.finish()
}
#[actix_web_codegen_const_routes::get(path = "crate::V1_API_ROUTES.proxy.top_level_post")]
async fn by_top_level_post(path: web::Path<String>, data: AppData) -> impl Responder {
if let Some(post_id) = path.split('-').last() {
let post_data = data.get_post_light(post_id).await;
HttpResponse::Found()
match data.get_post_light(&path).await {
None => HttpResponse::NotFound().body("Post not found"),
Some(post_data) => HttpResponse::Found()
.append_header((
header::LOCATION,
crate::V1_API_ROUTES
.proxy
.get_page(&post_data.username, &post_data.slug),
))
.finish()
.finish(),
}
}
#[actix_web_codegen_const_routes::get(path = "crate::V1_API_ROUTES.proxy.top_level_post")]
async fn by_top_level_post(path: web::Path<String>, data: AppData) -> impl Responder {
if let Some(post_id) = path.split('-').last() {
match data.get_post_light(post_id).await {
None => HttpResponse::NotFound().body("Post not found"),
Some(post_data) => HttpResponse::Found()
.append_header((
header::LOCATION,
crate::V1_API_ROUTES
.proxy
.get_page(&post_data.username, &post_data.slug),
))
.finish(),
}
} else {
HttpResponse::NotFound().body("Post not found, please file bug report")
}

View File

@@ -43,7 +43,7 @@ impl Settings {
if let Ok(path) = env::var("LIBMEDIUM") {
s = s.add_source(File::with_name(&path));
} else if Path::new("./config.toml").exists() {
s = s.add_source(File::with_name("./config.toml");
s = s.add_source(File::with_name("./config.toml"));
} else {
log::warn!("configuration file not found");
}

5
ups.json Normal file
View File

@@ -0,0 +1,5 @@
{
"upstream": "https://git.batsense.net/realaravinth/libmedium",
"provider": "gitea",
"commit": "c7154807884e1bb8228a7682c5a3dee9becf5ac4"
}