mirror of
https://github.com/tuna/tunasync-scripts.git
synced 2025-06-30 23:12:45 +00:00
freighter: initial crates.io sync script
This commit is contained in:
parent
0bef021cba
commit
fb7d162b8b
46
freighter.sh
Executable file
46
freighter.sh
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
FREIGHTER=${FREIGHTER:-"/usr/local/cargo/bin/freighter-registry"}
|
||||||
|
CRATES_UPSTREAM="https://static.crates.io/crates"
|
||||||
|
INDEX_UPSTREAM="https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
|
||||||
|
TUNASYNC_UPSTREAM=${TUNASYNC_UPSTREAM_URL:-$CRATES_UPSTREAM}
|
||||||
|
TUNASYNC_UPSTREAM=${TUNASYNC_UPSTREAM%/}
|
||||||
|
CONF="$TUNASYNC_WORKING_DIR/config.toml"
|
||||||
|
INIT=${INIT:-"0"}
|
||||||
|
|
||||||
|
if [ ! -d "$TUNASYNC_WORKING_DIR" ]; then
|
||||||
|
mkdir -p $TUNASYNC_WORKING_DIR
|
||||||
|
INIT="1"
|
||||||
|
elif [ -d "$TUNASYNC_WORKING_DIR/crates" ]; then
|
||||||
|
INIT="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Syncing to $TUNASYNC_WORKING_DIR"
|
||||||
|
|
||||||
|
cat > $CONF << EOF
|
||||||
|
[log]
|
||||||
|
# see https://docs.rs/log4rs/1.2.0/log4rs/append/file/struct.FileAppenderDeserializer.html#configuration
|
||||||
|
encoder = "{d}:{l} - {m}{n}"
|
||||||
|
# unit is MB
|
||||||
|
limit = 100
|
||||||
|
level = "info"
|
||||||
|
[crates]
|
||||||
|
index_domain = "$INDEX_UPSTREAM"
|
||||||
|
domain = "$CRATES_UPSTREAM"
|
||||||
|
download_threads = 16
|
||||||
|
serve_domains = [
|
||||||
|
"localhost",
|
||||||
|
]
|
||||||
|
[proxy]
|
||||||
|
enable = false
|
||||||
|
# git_index_proxy = "127.0.0.1:6780"
|
||||||
|
# download_proxy = "127.0.0.1:6780"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [[ $INIT == "0" ]]; then
|
||||||
|
$FREIGHTER -c $TUNASYNC_WORKING_DIR crates pull
|
||||||
|
exec $FREIGHTER -c $TUNASYNC_WORKING_DIR crates download
|
||||||
|
else
|
||||||
|
$FREIGHTER -c $TUNASYNC_WORKING_DIR crates pull
|
||||||
|
exec $FREIGHTER -c $TUNASYNC_WORKING_DIR crates download --init
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user