Commit Graph

282 Commits

Author SHA1 Message Date
Orhun Parmaksız 61d4a9e3e6
chore(release): prepare for v0.12.0 2023-08-07 14:49:03 +03:00
Orhun Parmaksız f473966f9d
chore(deps): upgrade transitive dependencies 2023-08-07 14:02:35 +03:00
Orhun Parmaksız 2734f371c9
chore(deps): bump shuttle dependencies to 0.23.0 2023-08-07 14:01:46 +03:00
Orhun Parmaksız 97ec45ed0b
chore(deps): upgrade dependencies 2023-08-07 14:01:01 +03:00
Andy Baird d0a67751dc
feat(server): add an endpoint for retrieving a list of files (#94)
* Start

* Wip

* Implement path based JSON index

* Remove json_index_path

* Return datetime stamp instead of relative time

* Add file size to list item

* Add auth check when retrieving JSON index

* Make json index path hardcoded

* Test (currently failing)

* Fix test for test_json_list

* Clippy fix

* Revert cargo to original versions with only needed changes

* Add detail about auth guard affecting list route

* Change json_index_path to expose_list

* Remove unneeded linebreak

* Remove unnecessary import

* Remove unnecessary space at end of line

* Move config check after auth check

* Use new auth check syntax, add docs to struct, rename test_json_list to test_list

* Replace chrono usage with uts2ts

* Check list result in test

* Add example to README

* Upgrade serde_json to 1.0.103

* Add linebreak

* Remove unneeded clone

* Remove extra nl

* Update README.md

* Update README.md

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>

* Update README.md

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>

* Remove serde_json

* Set default config to false for expose_list

* Apply suggestions from code review

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>

* Check that option is value in test_list

* Update Cargo.toml

Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>

* Update cargo.lock

* Use expect() to check file name

* Remove underscore from list item struct

* Keep comma after last line

* refactor(server): rename ListItem fields

* test(fixtures): add fixture test for listing files

* test push

* remove file again

* chop off ts from filename and minor refactor

* update README

* docs(readme): fix capitalization

* refactor(server): clean up list implementation

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
Co-authored-by: Helmut K. C. Tessarek <tessarek@evermeet.cx>
2023-08-07 12:55:13 +02:00
dependabot[bot] ee8996193d
chore(deps): bump serde from 1.0.180 to 1.0.181 (#108)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.180 to 1.0.181.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.180...v1.0.181)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 18:57:27 +02:00
dependabot[bot] cee95d9f85
chore(deps): bump serde from 1.0.179 to 1.0.180 (#103)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.179 to 1.0.180.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.179...v1.0.180)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-02 14:55:51 +02:00
Orhun Parmaksız 4daf41e9be
chore(deps): bump shuttle dependencies to 0.22.0 2023-08-02 15:53:18 +03:00
dependabot[bot] 8a82513a7c
chore(deps): bump serde from 1.0.177 to 1.0.179 (#102)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.177 to 1.0.179.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.177...v1.0.179)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 13:40:50 +02:00
dependabot[bot] c2c93a45ef
chore(deps): bump serde from 1.0.176 to 1.0.177 (#101)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.176 to 1.0.177.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.176...v1.0.177)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-28 20:35:00 +02:00
dependabot[bot] 278a97cc2e
chore(deps): bump lazy-regex from 3.0.0 to 3.0.1 (#100)
Bumps [lazy-regex](https://github.com/Canop/lazy-regex) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/Canop/lazy-regex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Canop/lazy-regex/commits)

---
updated-dependencies:
- dependency-name: lazy-regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-28 20:34:46 +02:00
dependabot[bot] 2580e5cb7d
chore(deps): bump serde from 1.0.175 to 1.0.176 (#99)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.175 to 1.0.176.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.175...v1.0.176)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 14:08:37 +02:00
dependabot[bot] 8172f1f316
chore(deps): bump serde from 1.0.174 to 1.0.175 (#98)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.174 to 1.0.175.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.174...v1.0.175)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 15:44:16 +02:00
Helmut K. C. Tessarek 33e038cd4b
style(server): add new line char to most prominent messages (#97) 2023-07-22 10:12:04 +02:00
dependabot[bot] 2e13d7a0a1
chore(deps): bump serde from 1.0.173 to 1.0.174 (#96)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.173 to 1.0.174.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.173...v1.0.174)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-21 14:50:37 +02:00
Helmut K. C. Tessarek 0d4808880f
feat(server): support multiple auth tokens (#84)
* feat(server): support multiple auth tokens

Example:

```toml
[server]
auth_tokens = [
  "super_secret_token1",
  "super_secret_token2",
]
```

The previously used `AUTH_TOKEN` environment variable can still be used
and will be evaluated as well.

* fixtures: add all tokens in array to the test

* add deprecation warning for auth_token

* also add deprecation warnings at server startup

* fix formatting

* fixed tests, so that we do not use deprecated config options

* use bash array

* refactor: use separate function

* refactor: check auth tokens

* Update fixtures/test-server-auth-multiple-tokens/test.sh

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>

* refactor: convert functions to methods

* refactor: check function

* refactor: get_tokens method

* style(format): add newline between functions

* refactor(server): print deprecation warnings once

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2023-07-21 12:28:17 +02:00
dependabot[bot] b1bdc45767
chore(deps): bump serde from 1.0.171 to 1.0.173 (#95)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.171 to 1.0.173.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.171...v1.0.173)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 18:25:37 +02:00
Orhun Parmaksız f09c467f6e
chore(deps): bump shuttle dependencies to 0.21.0 2023-07-11 15:24:15 +03:00
dependabot[bot] 12afa9e468
chore(deps): bump lazy-regex from 2.5.0 to 3.0.0 (#88)
Bumps [lazy-regex](https://github.com/Canop/lazy-regex) from 2.5.0 to 3.0.0.
- [Changelog](https://github.com/Canop/lazy-regex/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Canop/lazy-regex/commits)

---
updated-dependencies:
- dependency-name: lazy-regex
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 14:18:51 +02:00
dependabot[bot] c6863ab8bf
chore(deps): bump serde from 1.0.167 to 1.0.171 (#91)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.167 to 1.0.171.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.167...v1.0.171)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 14:13:16 +02:00
dependabot[bot] 43cbb56599
chore(deps): bump regex from 1.9.0 to 1.9.1 (#90)
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.0...1.9.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 14:12:14 +02:00
Helmut K. C. Tessarek a868a5fdde
chore(github): update the PR template about code blocks (#85) 2023-07-08 20:56:07 +02:00
dependabot[bot] 8a0445727d
chore(deps): bump serde from 1.0.166 to 1.0.167 (#86)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.166 to 1.0.167.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.166...v1.0.167)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-07 22:11:30 +02:00
dependabot[bot] ced71c71f9
chore(deps): bump regex from 1.8.4 to 1.9.0 (#83)
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.4...1.9.0)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 18:34:28 +02:00
dependabot[bot] 4071792555
chore(deps): bump infer from 0.14.0 to 0.15.0 (#82)
Bumps [infer](https://github.com/bojand/infer) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/bojand/infer/releases)
- [Commits](https://github.com/bojand/infer/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: infer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 00:09:19 +02:00
dependabot[bot] 49e8763257
chore(deps): bump serde from 1.0.165 to 1.0.166 (#81)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.165 to 1.0.166.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.165...v1.0.166)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-04 19:06:17 +02:00
dependabot[bot] e18372bb4b
chore(deps): bump serde from 1.0.164 to 1.0.165 (#80)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.164 to 1.0.165.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.164...v1.0.165)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-03 19:58:26 +02:00
Orhun Parmaksız 39f9a62425
fix(shuttle): deploy when a new tag is created 2023-07-01 17:45:41 +03:00
Orhun Parmaksız a402776739
chore(release): prepare for v0.11.1 2023-07-01 17:31:39 +03:00
Orhun Parmaksız 936feaedd5
fix(server): allow using deprecated landing page fields
This is a hotfix commit which allows the use of [server.landing_page]
fields even when the [landing_page] section does not exist in the
configuration file.
2023-07-01 17:28:56 +03:00
Orhun Parmaksız 4ca95cb381
chore(release): prepare for v0.11.0 2023-07-01 12:30:16 +03:00
Orhun Parmaksız fe38ef8835
chore(deps): upgrade transitive dependencies 2023-07-01 11:43:12 +03:00
Orhun Parmaksız b23e9f64bf
chore(github): add pull request template 2023-07-01 01:25:26 +03:00
Orhun Parmaksız 074991810e
chore(style): add editorconfig 2023-07-01 01:21:02 +03:00
Helmut K. C. Tessarek 62bbfef6a3
feat(server): add random suffix mode (#69)
* add random suffix mode

* fix linter issues

* add test case

* fix linter issues

* add comments, remove empty lines and single line declarations

* more test cases

* refactor(config): rename suffix_mode to random_suffix

* refactor(paste): clean up the random suffix logic

* chore(config): add random suffix example to default config

* docs(readme): mention random suffix feature

* test(fixtures): add fixture test for random suffix mode

* random_suffix -> suffix_mode

* fix default extension for .dotfile w/o extension

* fix formatting

* style(format): fix the indentation for random suffix fixture

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2023-07-01 00:11:16 +02:00
dependabot[bot] d740ae7e89
chore(deps): bump tokio from 1.29.0 to 1.29.1 (#77)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.29.0 to 1.29.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 14:59:55 +02:00
Orhun Parmaksız b549e3df7b
chore(deps): bump shuttle dependencies to 0.20.0 2023-06-29 16:28:15 +03:00
dependabot[bot] 38fd3cf8df
chore(deps): bump tokio from 1.28.2 to 1.29.0 (#73)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.28.2 to 1.29.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-29 15:23:06 +02:00
Ömer Furkan Demircioğlu d51b68da10
style(server): add new line character to 404 message (#72) 2023-06-27 15:08:46 +02:00
Orhun Parmaksız 40a87c586b
fix(config): warn about the deprecated fields even though the section does not exist 2023-06-24 09:29:05 +03:00
Orhun Parmaksız 4df136870a
fix(deploy): use the static folder for config (#70) 2023-06-23 18:33:05 +03:00
Helmut K. C. Tessarek aa1734b3f8
refactor(config): use a separate section for the landing page (#65)
* add [landing_page] section to config

Migration path:

Old:

```
[server]
landing_page = "Landing page text."
landing_page_file = "index.html"
landing_page_content_type = "text/html; charset=utf-8"
```

New:

```
[landing_page]
text = "Landing page text."
file = "index.html"
content_type = "text/html; charset=utf-8"
```

* fix typo and remove comments

* make the section optional

* make the section optional

* test(server): fix landing page related test failures

* also change html_form.toml

* do not break current config

* refactor(config): deprecate server.landing_page config fields

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2023-06-23 17:20:24 +02:00
Orhun Parmaksız 62c461702a
feat(shuttle): allow manually running the deployment job 2023-06-23 17:24:51 +03:00
dependabot[bot] 8f8e0caab0
chore(deps): bump infer from 0.13.0 to 0.14.0 (#71)
Bumps [infer](https://github.com/bojand/infer) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/bojand/infer/releases)
- [Commits](https://github.com/bojand/infer/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: infer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-23 16:07:08 +02:00
Orhun Parmaksız ff9fd68e89
chore(deps): bump shuttle dependencies to 0.19.0 2023-06-20 23:13:00 +03:00
Orhun Parmaksız 5b01c98243
docs(readme): note that the Alpine package is moved to the community 2023-06-16 17:41:59 +03:00
Orhun Parmaksız 1f041d3f74
refactor(example): use a file for HTML form landing page example 2023-06-16 17:38:12 +03:00
Helmut K. C. Tessarek e0d6712dd3
feat(server): support a file for the landing page (#64)
* implemented landing_page_file

* fixed issues found by linter

* fixed formatting

* refactor(config): refactor landing page file handling

* add tests

* fix unnecessary conversion

* fix formatting

* remove comment

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2023-06-16 16:21:44 +02:00
Helmut K. C. Tessarek f7beaef502
feat(server): honor X-Forward-* headers (#61)
* honor X-Forward-* headers

Behind a reverse proxy, the log entries always showed the IP address of the reverse proxy.
With this change the real IP address of the client is shown.
Since the IP address is only used for info in the log, there are no security implications.

* style(format): apply formatting

---------

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2023-06-13 01:00:55 +02:00
Helmut K. C. Tessarek 917074158a
docs(readme): list all supported units for expiry (#63)
These suffixes are also supported in the `config.toml`.
2023-06-13 00:14:05 +02:00