mirror of
https://github.com/casjaysdevdocker/tor
synced 2025-10-30 14:02:32 -04:00
🗃️ Update codebase 🗃️
rootfs/usr/local/etc/docker/functions/entrypoint.sh rootfs/usr/local/etc/docker/init.d/01-tor-bridge.sh rootfs/usr/local/etc/docker/init.d/02-tor-relay.sh rootfs/usr/local/etc/docker/init.d/03-tor-server.sh rootfs/usr/local/etc/docker/init.d/zz-nginx.sh rootfs/usr/share/httpd/default/hidden_service.html rootfs/usr/share/httpd/default/hidden_services.html
This commit is contained in:
@@ -614,10 +614,10 @@ __set_user_group_id() {
|
||||
[ -n "$set_user" ] && [ "$set_user" != "root" ] || return
|
||||
if grep -shq "^$set_user:" "/etc/passwd" "/etc/group"; then
|
||||
if __check_for_guid "$set_gid"; then
|
||||
groupmod -g "${set_gid}" $set_user 2>/dev/stderr | tee -p -a "/data/logs/init.txt" >/dev/null && chown -Rf ":$set_gid"
|
||||
groupmod -g "${set_gid}" $set_user 2>/dev/stderr | tee -p -a "/data/logs/init.txt" >/dev/null
|
||||
fi
|
||||
if __check_for_uid "$set_uid"; then
|
||||
usermod -u "${set_uid}" -g "${set_gid}" $set_user 2>/dev/stderr | tee -p -a "/data/logs/init.txt" >/dev/null && chown -Rf $set_uid:$set_gid
|
||||
usermod -u "${set_uid}" -g "${set_gid}" $set_user 2>/dev/stderr | tee -p -a "/data/logs/init.txt" >/dev/null
|
||||
fi
|
||||
fi
|
||||
export SERVICE_UID="$set_uid"
|
||||
|
||||
@@ -285,8 +285,8 @@ SocksTimeout ${TOR_SOCKS_TIMEOUT:-10}
|
||||
|
||||
##### logging
|
||||
LogMessageDomains 1
|
||||
Log notice file $LOG_DIR/bridge.log
|
||||
#Log debug file $LOG_DIR/bridge.debug
|
||||
Log notice file $LOG_DIR/$SERVICE_NAME.log
|
||||
#Log debug file $LOG_DIR/$SERVICE_NAME.debug
|
||||
|
||||
##### Bridge Settings
|
||||
BridgeRelay 1
|
||||
|
||||
@@ -285,8 +285,8 @@ SocksTimeout ${TOR_SOCKS_TIMEOUT:-10}
|
||||
|
||||
##### logging
|
||||
LogMessageDomains 1
|
||||
Log notice file $LOG_DIR/relay.log
|
||||
#Log debug file $LOG_DIR/relay.debug
|
||||
Log notice file $LOG_DIR/$SERVICE_NAME.log
|
||||
#Log debug file $LOG_DIR/$SERVICE_NAME.debug
|
||||
|
||||
##### Relay Settings
|
||||
ServerTransportPlugin obfs4 exec /usr/bin/lyrebird
|
||||
|
||||
@@ -168,7 +168,7 @@ user_pass="${TOR_USER_PASS_WORD:-}" # normal user password
|
||||
[ -f "/config/env/tor.sh" ] && . "/config/env/tor.sh" # Overwrite the variabes
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Additional predefined variables
|
||||
TOR_HIDDEN_SERVICE_DIR="${TOR_HIDDEN_SERVICE_DIR:-$DATA_DIR/hidden_service}"
|
||||
TOR_HIDDEN_SERVICE_DIR="${TOR_HIDDEN_SERVICE_DIR:-$DATA_DIR/hidden}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Additional variables
|
||||
TOR_HIDDEN_SERVERS="${TOR_HIDDEN_SERVERS//,/ }"
|
||||
@@ -254,8 +254,9 @@ __update_conf_files() {
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# custom commands
|
||||
chmod 600 $RUN_DIR
|
||||
chown -Rf ${SERVICE_USER:-$RUNAS_USER}:${SERVICE_GROUP:-$RUNAS_USER} $RUN_DIR
|
||||
mkdir -p "/run/tor/sites" && chmod 777 "/run/tor/sites"
|
||||
chown -Rf ${SERVICE_USER:-$RUNAS_USER}:${SERVICE_GROUP:-$RUNAS_USER} $RUN_DIR
|
||||
[ -d "$TOR_HIDDEN_SERVICE_DIR" ] || { mkdir -p "$TOR_HIDDEN_SERVICE_DIR" && chmod -f 700 "$TOR_HIDDEN_SERVICE_DIR" 2>/dev/null; }
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# replace variables
|
||||
|
||||
@@ -292,7 +293,8 @@ SocksTimeout ${TOR_SOCKS_TIMEOUT:-10}
|
||||
|
||||
##### logging
|
||||
LogMessageDomains 1
|
||||
Log notice file $LOG_DIR/server.log
|
||||
Log notice file $LOG_DIR/$SERVICE_NAME.log
|
||||
#Log debug file $LOG_DIR/$SERVICE_NAME.debug
|
||||
|
||||
##### port mappings
|
||||
TransPort 0.0.0.0:9040
|
||||
@@ -314,7 +316,7 @@ EOF
|
||||
mkdir -p "$CONF_DIR/conf.d"
|
||||
cat <<EOF >>"$CONF_DIR/server.conf"
|
||||
#### dns forwarder
|
||||
Log notice file $LOG_DIR/dns.log
|
||||
Log notice file $LOG_DIR/tor-dns.log
|
||||
DNSPort 0.0.0.0:8053
|
||||
DNSListenAddress 0.0.0.0,[::]
|
||||
AutomapHostsOnResolve 1
|
||||
@@ -325,8 +327,15 @@ EOF
|
||||
|
||||
if [ "$TOR_HIDDEN_ENABLED" = "yes" ]; then
|
||||
mkdir -p "$CONF_DIR/hidden.d"
|
||||
mkdir -p "$TOR_HIDDEN_SERVICE_DIR"
|
||||
chmod 700 "$TOR_HIDDEN_SERVICE_DIR"
|
||||
mkdir -p "$TOR_HIDDEN_SERVICE_DIR/default"
|
||||
chmod -f 700 "$TOR_HIDDEN_SERVICE_DIR/default"
|
||||
for HiddenService in $CONF_DIR/hidden.d/*.conf; do
|
||||
HiddenServiceDir="$(grep -si '^HiddenServiceDir ' "$HiddenService" | awk '{print $2}' 2>/dev/null)"
|
||||
if [ -n "$HiddenServiceDir" ]; then
|
||||
mkdir -p "$HiddenServiceDir" 2>/dev/null
|
||||
chmod 700 "$HiddenServiceDir" 2>/dev/null
|
||||
fi
|
||||
done
|
||||
cat <<EOF >>"$CONF_DIR/server.conf"
|
||||
#### hidden services
|
||||
HiddenServiceDir $TOR_HIDDEN_SERVICE_DIR/default
|
||||
|
||||
@@ -171,7 +171,7 @@ user_pass="${NGINX_USER_PASS_WORD:-}" # normal user password
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Additional variables
|
||||
|
||||
TOR_HIDDEN_SERVICE_DIR="${TOR_HIDDEN_SERVICE_DIR:-$DATA_DIR/hidden}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Specifiy custom directories to be created
|
||||
ADD_APPLICATION_FILES=""
|
||||
@@ -201,7 +201,7 @@ __run_precopy() {
|
||||
mkdir -p "$WWW_ROOT_DIR"
|
||||
if [ -d "/usr/share/httpd/default" ]; then
|
||||
cp -Rf "/usr/share/httpd/default/." "$WWW_ROOT_DIR/"
|
||||
[ -f "$WWW_ROOT_DIR/hidden_service.html" ] && rm -Rf "$WWW_ROOT_DIR/hidden_service.html"
|
||||
[ -f "$WWW_ROOT_DIR/hidden_services.html" ] && rm -Rf "$WWW_ROOT_DIR/hidden_services.html"
|
||||
else
|
||||
echo "Welcome" >"$WWW_ROOT_DIR/index.php"
|
||||
fi
|
||||
@@ -281,38 +281,44 @@ __update_conf_files() {
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# define actions
|
||||
while :; do
|
||||
sleep 30
|
||||
echo "waiting for tor to start"
|
||||
[ -f "/tmp/init_tor_services" ] && sleep 30 || break
|
||||
sites="$(ls -A /run/tor/sites 2>/dev/null | wc -l)"
|
||||
if [ ! -f "/tmp/init_tor_services" ]; then break; fi
|
||||
done
|
||||
echo "The tor server seems to have started "
|
||||
for site in "/run/tor/sites"/*; do
|
||||
onion_site="$(basename -- $site)"
|
||||
__onion_site_dir_is_empty "$onion_site" && NEW_SITE="yes"
|
||||
[ -d "/data/htdocs/onions/$onion_site" ] || mkdir -p "/data/htdocs/onions/$onion_site"
|
||||
if [ "$default_host" = "$onion_site" ]; then
|
||||
if __onion_site_dir_is_empty "$onion_site"; then
|
||||
cp -Rfa "$WWW_ROOT_DIR/." "/data/htdocs/onions/$onion_site/"
|
||||
fi
|
||||
else
|
||||
if [ "$NEW_SITE" = "yes" ]; then
|
||||
if [ -f "/usr/share/httpd/default/hidden_service.html" ]; then
|
||||
cp -Rf "/usr/share/httpd/default/hidden_service.html" "/data/htdocs/onions/$onion_site/index.html"
|
||||
else
|
||||
echo '<html><body><br /><center>HTML Document Root: /data/htdocs/onions/'$onion_site'</center><br /></body></html>' >"/data/htdocs/onions/$onion_site/index.html"
|
||||
if [ "$sites" -eq 0 ]; then
|
||||
echo "No onion sites found in /run/tor/sites" >&2
|
||||
else
|
||||
for site in "/run/tor/sites"/*; do
|
||||
onion_site="$(basename -- $site)"
|
||||
__onion_site_dir_is_empty "$onion_site" && NEW_SITE="yes"
|
||||
[ -d "/data/htdocs/onions/$onion_site" ] || mkdir -p "/data/htdocs/onions/$onion_site"
|
||||
if [ "$default_host" = "$onion_site" ]; then
|
||||
if __onion_site_dir_is_empty "$onion_site"; then
|
||||
cp -Rfa "$WWW_ROOT_DIR/." "/data/htdocs/onions/$onion_site/"
|
||||
fi
|
||||
else
|
||||
if [ "$NEW_SITE" = "yes" ]; then
|
||||
if [ -f "/usr/share/httpd/default/hidden_services.html" ]; then
|
||||
cp -Rf "/usr/share/httpd/default/hidden_services.html" "/data/htdocs/onions/$onion_site/index.html"
|
||||
else
|
||||
echo '<html><body><br /><center>HTML Document Root: /data/htdocs/onions/'$onion_site'</center><br /></body></html>' >"/data/htdocs/onions/$onion_site/index.html"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ ! -f "/config/nginx/vhosts.d/$onion_site.onion.conf" ]; then
|
||||
cp -Rf "/config/nginx/vhosts.d/template" "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_PORT|'$SERVICE_PORT'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_SITE|'$onion_site.onion'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/data/htdocs/onions/$onion_site/index.html"
|
||||
sed -i 's|REPLACE_DEFAULT_TOR_ADDRESS|'$onion_site'|g' "/data/htdocs/onions/$onion_site/index.html"
|
||||
fi
|
||||
unset NEW_SITE
|
||||
echo "Created $onion_site.onion in /data/htdocs/onions/$onion_site"
|
||||
done
|
||||
if [ ! -f "/config/nginx/vhosts.d/$onion_site.onion.conf" ]; then
|
||||
cp -Rf "/config/nginx/vhosts.d/template" "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_PORT|'$SERVICE_PORT'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_SITE|'$onion_site.onion'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/config/nginx/vhosts.d/$onion_site.onion.conf"
|
||||
sed -i 's|REPLACE_ONION_WWW_DIR|/data/htdocs/onions/'$onion_site'|g' "/data/htdocs/onions/$onion_site/index.html"
|
||||
sed -i 's|REPLACE_DEFAULT_TOR_ADDRESS|'$onion_site'|g' "/data/htdocs/onions/$onion_site/index.html"
|
||||
fi
|
||||
unset NEW_SITE
|
||||
echo "Created $onion_site.onion in /data/htdocs/onions/$onion_site"
|
||||
done
|
||||
fi
|
||||
# allow custom functions
|
||||
if builtin type -t __update_conf_files_local | grep -q 'function'; then __update_conf_files_local; fi
|
||||
# exit function
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
Reference in New Issue
Block a user