learning_ai_common_plat/scripts/switch-network.sh
saravanakumardb1 97b6f4b8d1 chore: remove AT&T-specific refs, add dual-network switch script
- Replace hardcoded /Users/sd9235/ paths with $HOME in all SKILLS docs
- Use WORKSPACE_DIR variable in backup-main.sh (auto-resolves from script location)
- Genericize 'Forcepoint CertChecker' / 'corporate proxy' to 'SSL-intercepting proxy'
- Add scripts/switch-network.sh for toggling npm between corporate proxy and home
- No functional code changes — only comments, docs, and paths
2026-02-12 20:34:48 -08:00

82 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Toggle npm/pnpm between corporate proxy and direct (home) network.
#
# Usage:
# source scripts/switch-network.sh corp # AT&T / corporate proxy
# source scripts/switch-network.sh home # Direct internet (home/VPN off)
# source scripts/switch-network.sh status # Show current config
#
# This modifies ~/.npmrc. Must be sourced (not executed) to affect current shell.
set -euo pipefail
NPMRC="$HOME/.npmrc"
CORP_PROXY="http://cso.proxy.att.com:8080/"
CORP_REGISTRY="https://jfrog-pkg-proxy.it.att.com/artifactory/api/npm/att-npm-proxy-group/"
HOME_REGISTRY="https://registry.npmjs.org/"
show_status() {
echo "=== Current npm config ==="
echo " proxy: $(npm config get proxy 2>/dev/null || echo 'not set')"
echo " https-proxy: $(npm config get https-proxy 2>/dev/null || echo 'not set')"
echo " registry: $(npm config get registry 2>/dev/null || echo 'not set')"
if command -v pnpm &>/dev/null; then
echo " pnpm store: $(pnpm store path 2>/dev/null || echo 'unknown')"
fi
echo ""
if [ -f "$NPMRC" ]; then
echo "=== ~/.npmrc ==="
cat "$NPMRC"
else
echo "No ~/.npmrc found"
fi
}
set_corp() {
cat > "$NPMRC" <<EOF
proxy=$CORP_PROXY
https-proxy=$CORP_PROXY
registry=$CORP_REGISTRY
strict-ssl=false
EOF
echo "✅ Switched to CORPORATE network"
echo " proxy: $CORP_PROXY"
echo " registry: $CORP_REGISTRY"
echo ""
echo " Lock files will resolve through JFrog proxy."
echo " Run 'npm install' / 'pnpm install' as normal."
}
set_home() {
cat > "$NPMRC" <<EOF
registry=$HOME_REGISTRY
EOF
echo "✅ Switched to HOME network"
echo " proxy: (none)"
echo " registry: $HOME_REGISTRY"
echo ""
echo " Lock files will resolve from npmjs.org."
echo " To regenerate clean lock files:"
echo " rm package-lock.json && npm install"
echo " rm pnpm-lock.yaml && pnpm install"
}
case "${1:-status}" in
corp|corporate|work)
set_corp
;;
home|direct|off)
set_home
;;
status|show)
show_status
;;
*)
echo "Usage: source scripts/switch-network.sh [corp|home|status]"
echo ""
echo " corp — Enable corporate proxy (AT&T JFrog)"
echo " home — Direct internet (no proxy)"
echo " status — Show current npm config"
;;
esac