--- live/router-publish-report
+++ candidate/router-publish-report
@@ -4,6 +4,8 @@
 
 BASE="${ROUTER_OPS_BASE:-/opt/router-ops}"
 PUBLIC="$BASE/public"
+PUBLIC_BASE="${ROUTER_PUBLIC_BASE_URL:-https://reports.secret-studio.ru}"
+PUBLIC_BASE="${PUBLIC_BASE%/}"
 TOKEN_FILE="${ROUTER_PUBLIC_TOKEN_FILE:-$PUBLIC/.router-public-token}"
 TOKEN="${ROUTER_PUBLIC_TOKEN:-}"
 
@@ -179,6 +181,43 @@
 printf 'PUBLIC_OBJECT_KIND=%s\n' "$KIND"
 printf 'PREVIOUS_MOVED_COUNT=%s\n' "$PREVIOUS_MOVED_COUNT"
 printf 'LOCAL_INDEX=http://192.168.30.84:8099/r/%s/latest/%s/\n' "$TOKEN" "$FOLDER"
+printf 'LATEST_ROOT_URL=%s/latest/\n' "$PUBLIC_BASE"
+printf 'OLD_ROOT_URL=%s/old/\n' "$PUBLIC_BASE"
+printf 'PUBLIC_INDEX=%s/latest/\n' "$PUBLIC_BASE"
+printf 'PUBLIC_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+
+case "$KIND" in
+  step-report)
+    printf 'STEP_REPORT_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  local-m07-plan)
+    printf 'LOCAL_M07_PLAN_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  global-project-plan)
+    printf 'GLOBAL_PROJECT_PLAN_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  access-map)
+    printf 'ACCESS_MAP_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm100)
+    printf 'VM100_PUBLIC_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm101)
+    printf 'VM101_PUBLIC_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm121)
+    printf 'VM121_PUBLIC_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm101-model)
+    printf 'VM101_MODEL_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm101-methods)
+    printf 'VM101_METHODS_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+  vm130-source)
+    printf 'VM130_SOURCE_URL=%s/latest/%s/\n' "$PUBLIC_BASE" "$FOLDER"
+    ;;
+esac
 
 if [ -n "$TRYCF_BASE" ]; then
   TRYCF_BASE="${TRYCF_BASE%/}"
