Add Dockerfile
This commit is contained in:
parent
8a69a11b58
commit
2a78b4e8b2
|
@ -0,0 +1,78 @@
|
|||
FROM ubuntu:24.04
|
||||
|
||||
# Default directory
|
||||
WORKDIR /home/user
|
||||
COPY setup_files/* /home/user/build/
|
||||
RUN sed -i 's@HOMEDIR@/home/user@g' /home/user/build/config.toml
|
||||
|
||||
RUN apt update -y
|
||||
RUN apt install -y git cargo golang make openssl libssl-dev
|
||||
|
||||
RUN mkdir -p /home/user/build /home/user/rdsys /home/user/lox-distributor /home/user/troll-patrol /home/user/simulation
|
||||
|
||||
# Clone all our projects
|
||||
|
||||
# rdsys
|
||||
WORKDIR /home/user/build
|
||||
RUN git clone https://gitlab.torproject.org/tpo/anti-censorship/rdsys.git
|
||||
WORKDIR /home/user/build/rdsys
|
||||
RUN git checkout 79332a3ee69dc6022a2a29fd8b79e9d2e4f5c9ab
|
||||
RUN sed -i 's/NUM_BRIDGES = 1000/NUM_BRIDGES = 3600/' scripts/mkdescriptors/main.go
|
||||
# configure rdsys to give Lox all the bridges
|
||||
RUN cp /home/user/build/config.json conf/
|
||||
|
||||
# Lox distributor
|
||||
WORKDIR /home/user/build
|
||||
RUN git clone https://gitlab.torproject.org/vecna/lox.git
|
||||
WORKDIR /home/user/build/lox
|
||||
RUN git checkout 7b524e771ec444e07fff5b679c8c9e9b557829a0
|
||||
RUN mkdir -p .cargo
|
||||
RUN cp /home/user/build/config.toml .cargo/
|
||||
|
||||
# lox_cli
|
||||
WORKDIR /home/user/build
|
||||
RUN git clone https://git-crysp.uwaterloo.ca/vvecna/lox_cli.git
|
||||
WORKDIR /home/user/build/lox_cli
|
||||
RUN git checkout d7beaad5601ad309fd5936c19e60a7ea98a05fde
|
||||
RUN mkdir -p .cargo
|
||||
RUN cp /home/user/build/config.toml .cargo/
|
||||
|
||||
# Troll Patrol
|
||||
WORKDIR /home/user/build
|
||||
RUN git clone https://git-crysp.uwaterloo.ca/vvecna/troll-patrol.git
|
||||
WORKDIR /home/user/build/troll-patrol
|
||||
RUN git checkout dc7531689c2a5ec5b4c757f95a87f576c4d4020c
|
||||
RUN mkdir -p .cargo
|
||||
RUN cp /home/user/build/config.toml .cargo/
|
||||
|
||||
# Lox Simulation
|
||||
WORKDIR /home/user/build/lox-simulation
|
||||
COPY Cargo.toml /home/user/build/lox-simulation/
|
||||
RUN mkdir src
|
||||
COPY src/* /home/user/build/lox-simulation/src/
|
||||
RUN mkdir -p .cargo
|
||||
RUN cp /home/user/build/config.toml .cargo/
|
||||
|
||||
# Build all the software
|
||||
|
||||
# Build rdsys and bridge lines
|
||||
WORKDIR /home/user/build/rdsys
|
||||
RUN make build && make descriptors
|
||||
RUN cp -r backend conf descriptors /home/user/rdsys/
|
||||
|
||||
# Build Lox distributor
|
||||
WORKDIR /home/user/build/lox/crates/lox-distributor
|
||||
RUN cargo update && cargo build --release
|
||||
RUN cp config.json /home/user/build/lox/target/release/lox-distributor /home/user/lox-distributor/
|
||||
|
||||
# Build Troll Patrol
|
||||
WORKDIR /home/user/build/troll-patrol
|
||||
RUN cargo update && cargo build --release --features simulation
|
||||
RUN cp target/release/troll-patrol /home/user/troll-patrol/
|
||||
|
||||
# Build simulation
|
||||
WORKDIR /home/user/build/lox-simulation
|
||||
RUN cargo update && cargo build --release
|
||||
RUN cp target/release/lox-simulation /home/user/simulation/simulation
|
||||
|
||||
WORKDIR /home/user
|
|
@ -0,0 +1,133 @@
|
|||
{
|
||||
"backend": {
|
||||
"extrainfo_file": "descriptors/cached-extrainfo",
|
||||
"networkstatus_file": "descriptors/networkstatus-bridges",
|
||||
"descriptors_file": "descriptors/bridge-descriptors",
|
||||
"blocklist_file": "",
|
||||
"allowlist_file": "",
|
||||
"bridgestrap_endpoint": "http://127.0.0.1:5001/bridge-state",
|
||||
"bridgestrap_token": "BridgestrapApiTokenPlaceholder",
|
||||
"onbasca_endpoint": "http://127.0.0.1:5002/bridge-state",
|
||||
"onbasca_token": "OnbascaApiTokenPlaceholder",
|
||||
"bandwidth_ratio_threshold": 0.75,
|
||||
"api_endpoint_resources": "/resources",
|
||||
"api_endpoint_resource_stream": "/resource-stream",
|
||||
"api_endpoint_targets": "/targets",
|
||||
"web_endpoint_status": "/status",
|
||||
"web_endpoint_metrics": "/rdsys-backend-metrics",
|
||||
"storage_dir": "storage",
|
||||
"assignments_file": "assignments.log",
|
||||
"resources": {
|
||||
"vanilla": {
|
||||
"unpartitioned": false,
|
||||
"stored": false,
|
||||
"distributors": [
|
||||
"https",
|
||||
"moat"
|
||||
]
|
||||
},
|
||||
"obfs2": {},
|
||||
"obfs3": {},
|
||||
"obfs4": {},
|
||||
"scramblesuit": {},
|
||||
"tblink": {
|
||||
"unpartitioned": true,
|
||||
"stored": true
|
||||
}
|
||||
},
|
||||
"api_tokens": {
|
||||
"https": "HttpsApiTokenPlaceholder"
|
||||
},
|
||||
"web_api": {
|
||||
"api_address": "127.0.0.1:7100",
|
||||
"cert_file": "",
|
||||
"key_file": ""
|
||||
},
|
||||
"distribution_proportions": {
|
||||
"https": 1
|
||||
}
|
||||
},
|
||||
"distributors": {
|
||||
"https": {
|
||||
"resources": [
|
||||
"obfs4",
|
||||
"vanilla"
|
||||
],
|
||||
"web_api": {
|
||||
"api_address": "127.0.0.1:7200",
|
||||
"cert_file": "",
|
||||
"key_file": ""
|
||||
},
|
||||
"time_distribution": {
|
||||
"num_bridges_per_request": 2,
|
||||
"rotation_period_hours": 24,
|
||||
"num_periods": 2,
|
||||
"storage_dir": "storage/https"
|
||||
}
|
||||
},
|
||||
"stub": {
|
||||
"resources": [
|
||||
"obfs4"
|
||||
],
|
||||
"web_api": {
|
||||
"api_address": "127.0.0.1:7400",
|
||||
"cert_file": "",
|
||||
"key_file": ""
|
||||
}
|
||||
},
|
||||
"telegram": {
|
||||
"resource": "obfs4",
|
||||
"num_bridges_per_request": 2,
|
||||
"rotation_period_hours": 24,
|
||||
"token": "",
|
||||
"min_user_id": 0,
|
||||
"updater_tokens": {
|
||||
"name": "DynamicBridgeTokenPlaceholder"
|
||||
},
|
||||
"storage_dir": "/tmp/storage_telegram",
|
||||
"api_address": "127.0.0.1:7600",
|
||||
"lox_server_address": "http://localhost:8001"
|
||||
}
|
||||
},
|
||||
"updaters": {
|
||||
"gettor": {
|
||||
"github": {
|
||||
"auth_token": "",
|
||||
"owner": "TheTorProject",
|
||||
"repo": "gettorbrowser"
|
||||
},
|
||||
"gitlab": {
|
||||
"auth_token": "",
|
||||
"owner": "TheTorProject"
|
||||
},
|
||||
"s3": [
|
||||
{
|
||||
"access_key": "",
|
||||
"access_secret": "",
|
||||
"signing_method": "archive_org_dangerous_workaround",
|
||||
"endpoint_url": "https://s3.us.archive.org/",
|
||||
"endpoint_region": "",
|
||||
"name": "archive_org",
|
||||
"bucket": "",
|
||||
"name_procedural_generation_seed": "SECRET"
|
||||
},
|
||||
{
|
||||
"access_key": "",
|
||||
"access_secret": "",
|
||||
"signing_method": "v4",
|
||||
"endpoint_url": "https://s3.fr-par.scw.cloud",
|
||||
"endpoint_region": "fr-par",
|
||||
"name": "scaleway",
|
||||
"bucket": "get-tor",
|
||||
"name_procedural_generation_seed": ""
|
||||
}
|
||||
],
|
||||
"gdrive": {
|
||||
"app_credential_path": "",
|
||||
"user_credential_path": "",
|
||||
"parent_folder_id": ""
|
||||
},
|
||||
"metrics_address": "127.0.0.1:7800"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
paths = ["HOMEDIR/build/lox/crates/lox-library", "HOMEDIR/build/lox/crates/lox-distributor", "HOMEDIR/build/lox_cli", "HOMEDIR/build/troll-patrol"]
|
Loading…
Reference in New Issue