Commit Graph

41 Commits

Author SHA1 Message Date
Émilien (perso)
bf22ef0462
improve README and add warnings 2024-08-14 13:08:22 +02:00
perennial
4d3cff6a16
Add Docker support and update README (#13)
* add compose.yaml

* add Dockerfile

* update README

* Dockerfile: uncomment CMD instruction

* add .dockerignore

* Dockerfile: use scratch image for second stage

* Dockerfile: use newer OpenSSL version (3.0.9)

* Dockerfile: use Alpine-based Rust image to skip building OpenSSL

* Dockerfile: expose to localhost only by default

* Dockerfile: allow building for different architectures (AMD64 and ARM64)

Dockerfile now detects the architecture being used during the build process and templates in the correct Rust target architecture

* compose.yaml: include command line

* compose.yaml: listen on 127.0.0.1 only

* compose.yaml: remove healthcheck due to using scratch image

* README.md: restore old table format

* rename compose.yaml to docker-compose.yml

* docker-compose.yml: include version line

* update .dockerignore

* README.md: update Docker instructions to expose only on localhost

* add workflow to build and push container images to quay.io

* docker-compose.yml: harden configuration

* docker workflow: add paths-ignore section

* Dockerfile: let Rustup handle architecture detection

More flexible as the build process will now automatically adapt to whatever architecture the container is being built on, without needing to explicitly list out each supported architecture

* Docker: further security hardening

- Run as a non-privileged user within the scratch container
- Add security_opt: - no-new-privileges:true to docker-compose.yml

* Dockerfile: Switch to Debian-based images and simplify build command

- rust:1.80-alpine replaced with rust:1.80 for the builder stage
- alpine:3.20 replaced with debian:12.6-slim for the user-stage
- Build command simplified to use default target architecture

* Cargo.toml: correct note on optimisations

* docker-compose.yml: use quay.io image by default

* rename docker-compose.yml to docker-compose.yaml

* compose: build image from local repo by default

* Revert "Dockerfile: Switch to Debian-based images and simplify build command"

This reverts commit ff9a378564.

Reasons for reverting:
1. Compiling via musl is necessary to statically link dependencies and create a truly standalone Rust binary. [1]
2. Alpine-based Rust images are required for the build stage because such systems support dynamic linking, which is also needed for statically-linked binaries. [2]
3. Determining the target architecture and templating the correct value for the --target flag is necessary for the statically-linked binary to be built correctly. [2]

[1]: https://doc.rust-lang.org/1.13.0/book/advanced-linking.html#linux
[2]: https://github.com/rust-lang/rust/issues/40174#issuecomment-538791091
2024-08-14 12:58:44 +02:00
techmetx11
f7cbcbddfa
GitHub workflow: Test the player script extractor every 2 hours 2024-08-09 15:09:05 +01:00
techmetx11
152b972b62
Merge pull request #9 from MMaster/fix_sigfn_extraction
Fix sig function extraction
2024-08-08 00:00:53 +00:00
MMaster
6f7054a457 Fix sig function body extraction not escaping $ 2024-08-08 01:36:07 +02:00
techmetx11
2db19fb81f
Merge pull request #8 from MMaster/fix_extraction_20240803
Update & improve nsig extraction based on current player js code
2024-08-05 14:22:17 +00:00
MMaster
04d3323e01 Update & improve nsig extraction based on current player js code 2024-08-03 00:28:09 +02:00
techmetx11
9e2a591f4f
Create rust.yml 2024-07-25 15:32:30 +00:00
techmetx11
e96e7a15f8
Merge pull request #5 from iv-org/dependabot/cargo/openssl-0.10.66
Bump openssl from 0.10.64 to 0.10.66
2024-07-25 14:54:00 +00:00
dependabot[bot]
fdab6db808
Bump openssl from 0.10.64 to 0.10.66
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.64 to 0.10.66.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 13:43:14 +00:00
techmetx11
deae9055ca
Emergency fix 2024-07-25 14:26:20 +01:00
techmetx11
e506206971
Change default TCP IP to 127.0.0.1 2024-07-21 17:14:08 +01:00
techmetx11
369cfb335f
Added TCP/IP support
Closes #2
2024-07-21 16:28:45 +01:00
techmetx11
115c690416
New opcode: PLAYER_UPDATE_TIMESTAMP 2024-07-21 13:37:34 +01:00
techmetx11
446120f5c9
Fix problems with the regex 2024-07-11 00:11:10 +01:00
techmetx11
cdeddbd07e
Switch the byteswapping to regular shifting 2024-07-09 22:06:27 +01:00
techmetx11
de4fab1517
Fix nsig extraction code and some warnings
oops
2024-07-09 21:55:16 +01:00
techmetx11
35fc0bc549
Fix an error with the opcode decoder (sig) 2024-07-03 22:40:50 +01:00
techmetx11
e1dbc56a32
Fixed some annoying warnings 2024-07-03 18:13:34 +01:00
techmetx11
053e89cd79
Fix the sig function code not working 2024-07-03 18:00:07 +01:00
techmetx11
4cb6b0a609
Javascript code debugger 2024-07-03 17:38:46 +01:00
techmetx11
062de1e172
Fixed the program with a quick change to the code (to handle the dollar sign) 2024-06-27 23:24:46 +01:00
techmetx11
f70c60441a
Fix punctuation 2024-06-26 21:58:32 +01:00
techmetx11
9f491c0e7c
Added new opcode: PLAYER_STATUS 2024-06-26 21:57:03 +01:00
techmetx11
32aeb2f2f7
Wrong size for FORCE_UPDATE response in the documentation 2024-06-25 19:04:45 +01:00
techmetx11
9784fdbafe
Added size in response for convenience 2024-06-25 18:59:19 +01:00
techmetx11
fda0eeb863
Fixed the code, apparently there's nothing actually wrong with it 2024-05-12 13:33:13 +01:00
techmetx11
6bd9b67176
Rewrote parts of the code 2024-05-12 13:33:07 +01:00
techmetx11
5364ea9f9c
Updated documentation 2024-04-30 16:41:40 +01:00
techmetx11
fa3686e1f3
Improved the program, and also fixed the sig function not working 2024-04-30 16:37:27 +01:00
techmetx11
5d32c35ad7
Done implementing everything 2024-04-30 15:51:50 +01:00
techmetx11
a124a26d36
Improve the program a bit, and include a protocol documentation 2024-04-29 19:14:08 +01:00
techmetx11
48be34ff5c
The program will now not end streams after the first command 2024-04-29 16:33:45 +01:00
techmetx11
b4ad4a33a2
Can now decrypt n parameter signatures 2024-04-29 09:27:20 +01:00
techmetx11
b601571cff
nsig function extraction works! 2024-04-29 06:47:17 +01:00
techmetx11
33a33f4060
Wrote a bit on the nsig function 2024-04-29 05:37:58 +01:00
techmetx11
a8435f8a29
Finally done fighting with Rust 2024-04-28 20:19:38 +01:00
techmetx11
2089efd753
Add LICENSE 2024-04-28 15:55:48 +01:00
techmetx11
2e63d3c20c
Successful compilation :D 2024-04-28 15:37:35 +01:00
techmetx11
0ab1304580
Finished up a bit on the opcode parser 2024-04-28 15:09:51 +01:00
techmetx11
033a76d3e1
Initial commit 2024-04-28 13:13:16 +01:00