forked from coolaj86/telebit.js
		
	ask questions last
This commit is contained in:
		
							parent
							
								
									3f743d8b46
								
							
						
					
					
						commit
						ade7e19085
					
				| @ -73,54 +73,6 @@ if [ "root" == $(whoami) ] || [ 0 == $(id -u) ]; then | |||||||
|   sudo_cmde="" |   sudo_cmde="" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| if [ -z "${my_email}" ]; then |  | ||||||
|   echo "" |  | ||||||
|   echo "" |  | ||||||
|   echo "Telebit uses Greenlock for free automated ssl through Let's Encrypt." |  | ||||||
|   echo "" |  | ||||||
|   echo "To accept the Terms of Service for Telebit, Greenlock and Let's Encrypt," |  | ||||||
|   echo "please enter your email." |  | ||||||
|   echo "" |  | ||||||
|   $read_cmd -p "email: " my_email |  | ||||||
|   echo "" |  | ||||||
|   # UX - just want a smooth transition |  | ||||||
|   sleep 0.25 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -z "${my_relay}" ]; then |  | ||||||
|   echo "What relay will you be using? (press enter for default)" |  | ||||||
|   echo "" |  | ||||||
|   $read_cmd -p "relay [default: telebit.cloud]: " my_relay |  | ||||||
|   echo "" |  | ||||||
|   my_relay=${my_relay:-telebit.cloud} |  | ||||||
|   # UX - just want a smooth transition |  | ||||||
|   sleep 0.25 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if [ -n "$my_relay" ] && [ "$my_relay" != "telebit.cloud" ]; then |  | ||||||
|   if [ -z "${my_servernames}" ]; then |  | ||||||
|     #echo "What servername(s) will you be relaying here? (press enter for default)" |  | ||||||
|     echo "What servername(s) will you be relaying here?" |  | ||||||
|     echo "" |  | ||||||
|     #$read_cmd -p "domain [default: <random>.telebit.cloud]: " my_servernames |  | ||||||
|     $read_cmd -p "domain: " my_servernames |  | ||||||
|     echo "" |  | ||||||
|     # UX - just want a smooth transition |  | ||||||
|     sleep 0.25 |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   if [ -z "${my_secret}" ]; then |  | ||||||
|     #echo "What's your authorization for the relay server? (press enter for default)" |  | ||||||
|     echo "What's your authorization for the relay server?" |  | ||||||
|     echo "" |  | ||||||
|     #$read_cmd -p "auth [default: new account]: " my_secret |  | ||||||
|     $read_cmd -p "secret: " my_secret |  | ||||||
|     echo "" |  | ||||||
|     # UX - just want a smooth transition |  | ||||||
|     sleep 0.25 |  | ||||||
|   fi |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| echo "" | echo "" | ||||||
| 
 | 
 | ||||||
| if [ -z "${TELEBIT_PATH:-}" ]; then | if [ -z "${TELEBIT_PATH:-}" ]; then | ||||||
| @ -245,6 +197,143 @@ else | |||||||
| fi | fi | ||||||
| set -e | set -e | ||||||
| 
 | 
 | ||||||
|  | # ~/.config/systemd/user/ | ||||||
|  | # %h/.config/telebit/telebit.yml | ||||||
|  | echo "### Adding $my_app as a system service" | ||||||
|  | # TODO detect with type -p | ||||||
|  | my_system_launcher="" | ||||||
|  | if [ -d "/Library/LaunchDaemons" ]; then | ||||||
|  |   my_system_launcher="launchd" | ||||||
|  |   my_app_launchd_service="Library/LaunchDaemons/${my_app_pkg_name}.plist" | ||||||
|  |   echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/$my_app_launchd_service /$my_app_launchd_service" | ||||||
|  |   $sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/$my_app_launchd_service" "/$my_app_launchd_service" | ||||||
|  | 
 | ||||||
|  |   echo "${sudo_cmde}chown root:wheel $my_root/$my_app_launchd_service" | ||||||
|  |   $sudo_cmd chown root:wheel "$my_root/$my_app_launchd_service" | ||||||
|  |   echo "${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service >/dev/null 2>/dev/null" | ||||||
|  |   $sudo_cmd launchctl unload -w "$my_root/$my_app_launchd_service" >/dev/null 2>/dev/null | ||||||
|  |   echo "${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service" | ||||||
|  |   $sudo_cmd launchctl load -w "$my_root/$my_app_launchd_service" | ||||||
|  | 
 | ||||||
|  | elif [ -d "$my_root/etc/systemd/system" ]; then | ||||||
|  |   my_system_launcher="systemd" | ||||||
|  |   echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service /etc/systemd/system/$my_app.service" | ||||||
|  |   $sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service" "/etc/systemd/system/$my_app.service" | ||||||
|  | 
 | ||||||
|  |   $sudo_cmd systemctl daemon-reload | ||||||
|  |   echo "${sudo_cmde}systemctl enable $my_app" | ||||||
|  |   $sudo_cmd systemctl enable $my_app | ||||||
|  |   echo "${sudo_cmde}systemctl start $my_app" | ||||||
|  |   $sudo_cmd systemctl restart $my_app | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | sleep 2 | ||||||
|  | 
 | ||||||
|  | echo "" | ||||||
|  | echo "" | ||||||
|  | echo "==============================================" | ||||||
|  | echo "            Launcher Configuration            " | ||||||
|  | echo "==============================================" | ||||||
|  | echo "" | ||||||
|  | 
 | ||||||
|  | my_stopper="" | ||||||
|  | if [ "systemd" == "$my_system_launcher" ]; then | ||||||
|  | 
 | ||||||
|  |   my_stopper="${sudo_cmde}systemctl stop $my_app" | ||||||
|  |   echo "Edit the config and restart, if desired:" | ||||||
|  |   echo "" | ||||||
|  |   echo "    ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml" | ||||||
|  |   echo "    ${sudo_cmde}systemctl restart $my_app" | ||||||
|  |   echo "" | ||||||
|  |   echo "Or disabled the service and start manually:" | ||||||
|  |   echo "" | ||||||
|  |   echo "    ${sudo_cmde}systemctl stop $my_app" | ||||||
|  |   echo "    ${sudo_cmde}systemctl disable $my_app" | ||||||
|  |   echo "    $my_app --config $TELEBIT_PATH/etc/$my_app.yml" | ||||||
|  | 
 | ||||||
|  | elif [ "launchd" == "$my_system_launcher" ]; then | ||||||
|  | 
 | ||||||
|  |   my_stopper="${sudo_cmde}launchctl unload $my_root/$my_app_launchd_service" | ||||||
|  |   echo "Edit the config and restart, if desired:" | ||||||
|  |   echo "" | ||||||
|  |   echo "    ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml" | ||||||
|  |   echo "    ${sudo_cmde}launchctl unload $my_root/$my_app_launchd_service" | ||||||
|  |   echo "    ${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service" | ||||||
|  |   echo "" | ||||||
|  |   echo "Or disabled the service and start manually:" | ||||||
|  |   echo "" | ||||||
|  |   echo "    ${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service" | ||||||
|  |   echo "    $my_app daemon --config $TELEBIT_PATH/etc/$my_app.yml" | ||||||
|  | 
 | ||||||
|  | else | ||||||
|  | 
 | ||||||
|  |   my_stopper="not started" | ||||||
|  |   echo "Edit the config, if desired:" | ||||||
|  |   echo "" | ||||||
|  |   echo "    ${sudo_cmde}$my_edit $my_config" | ||||||
|  |   echo "" | ||||||
|  |   echo "Run the service manually (we couldn't detect your system service to do that automatically):" | ||||||
|  |   echo "" | ||||||
|  |   echo "    $my_app --config $my_config" | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  | sleep 3 | ||||||
|  | 
 | ||||||
|  | echo "" | ||||||
|  | echo "" | ||||||
|  | echo "===============================================" | ||||||
|  | echo "             Service Configuration             " | ||||||
|  | echo "===============================================" | ||||||
|  | echo "" | ||||||
|  | 
 | ||||||
|  | if [ -z "${my_email}" ]; then | ||||||
|  |   echo "" | ||||||
|  |   echo "" | ||||||
|  |   echo "Telebit uses Greenlock for free automated ssl through Let's Encrypt." | ||||||
|  |   echo "" | ||||||
|  |   echo "To accept the Terms of Service for Telebit, Greenlock and Let's Encrypt," | ||||||
|  |   echo "please enter your email." | ||||||
|  |   echo "" | ||||||
|  |   $read_cmd -p "email: " my_email | ||||||
|  |   echo "" | ||||||
|  |   # UX - just want a smooth transition | ||||||
|  |   sleep 0.25 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -z "${my_relay}" ]; then | ||||||
|  |   echo "What relay will you be using? (press enter for default)" | ||||||
|  |   echo "" | ||||||
|  |   $read_cmd -p "relay [default: telebit.cloud]: " my_relay | ||||||
|  |   echo "" | ||||||
|  |   my_relay=${my_relay:-telebit.cloud} | ||||||
|  |   # UX - just want a smooth transition | ||||||
|  |   sleep 0.25 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ -n "$my_relay" ] && [ "$my_relay" != "telebit.cloud" ]; then | ||||||
|  |   if [ -z "${my_servernames}" ]; then | ||||||
|  |     #echo "What servername(s) will you be relaying here? (press enter for default)" | ||||||
|  |     echo "What servername(s) will you be relaying here?" | ||||||
|  |     echo "" | ||||||
|  |     #$read_cmd -p "domain [default: <random>.telebit.cloud]: " my_servernames | ||||||
|  |     $read_cmd -p "domain: " my_servernames | ||||||
|  |     echo "" | ||||||
|  |     # UX - just want a smooth transition | ||||||
|  |     sleep 0.25 | ||||||
|  |   fi | ||||||
|  | 
 | ||||||
|  |   if [ -z "${my_secret}" ]; then | ||||||
|  |     #echo "What's your authorization for the relay server? (press enter for default)" | ||||||
|  |     echo "What's your authorization for the relay server?" | ||||||
|  |     echo "" | ||||||
|  |     #$read_cmd -p "auth [default: new account]: " my_secret | ||||||
|  |     $read_cmd -p "secret: " my_secret | ||||||
|  |     echo "" | ||||||
|  |     # UX - just want a smooth transition | ||||||
|  |     sleep 0.25 | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| # TODO don't create this in TMP_PATH if it exists in TELEBIT_PATH | # TODO don't create this in TMP_PATH if it exists in TELEBIT_PATH | ||||||
| my_config="$TELEBIT_PATH/etc/$my_app.yml" | my_config="$TELEBIT_PATH/etc/$my_app.yml" | ||||||
| mkdir -p "$(dirname $my_config)" | mkdir -p "$(dirname $my_config)" | ||||||
| @ -318,37 +407,25 @@ fi | |||||||
| echo "${sudo_cmde}chown -R $my_user '$TELEBIT_PATH' # '/etc/$my_app'" | echo "${sudo_cmde}chown -R $my_user '$TELEBIT_PATH' # '/etc/$my_app'" | ||||||
| $sudo_cmd chown -R $my_user "$TELEBIT_PATH" # "/etc/$my_app" | $sudo_cmd chown -R $my_user "$TELEBIT_PATH" # "/etc/$my_app" | ||||||
| 
 | 
 | ||||||
| # ~/.config/systemd/user/ |  | ||||||
| # %h/.config/telebit/telebit.yml |  | ||||||
| echo "### Adding $my_app as a system service" |  | ||||||
| # TODO detect with type -p |  | ||||||
| my_system_launcher="" |  | ||||||
| if [ -d "/Library/LaunchDaemons" ]; then |  | ||||||
|   my_system_launcher="launchd" |  | ||||||
|   my_app_launchd_service="Library/LaunchDaemons/${my_app_pkg_name}.plist" |  | ||||||
|   echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/$my_app_launchd_service /$my_app_launchd_service" |  | ||||||
|   $sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/$my_app_launchd_service" "/$my_app_launchd_service" |  | ||||||
| 
 | 
 | ||||||
|   echo "${sudo_cmde}chown root:wheel $my_root/$my_app_launchd_service" |  | ||||||
|   $sudo_cmd chown root:wheel "$my_root/$my_app_launchd_service" |  | ||||||
|   echo "${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service >/dev/null 2>/dev/null" |  | ||||||
|   $sudo_cmd launchctl unload -w "$my_root/$my_app_launchd_service" >/dev/null 2>/dev/null |  | ||||||
|   echo "${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service" |  | ||||||
|   $sudo_cmd launchctl load -w "$my_root/$my_app_launchd_service" |  | ||||||
| 
 | 
 | ||||||
| elif [ -d "$my_root/etc/systemd/system" ]; then | # TODO run 'telebit status' | ||||||
|   my_system_launcher="systemd" | if [ "telebit.cloud" == $my_relay ]; then | ||||||
|   echo "${sudo_cmde}$rsync_cmd $TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service /etc/systemd/system/$my_app.service" |   echo "" | ||||||
|   $sudo_cmd $rsync_cmd "$TELEBIT_PATH/usr/share/dist/etc/systemd/system/$my_app.service" "/etc/systemd/system/$my_app.service" |   echo "" | ||||||
| 
 |   echo "==============================================" | ||||||
|   $sudo_cmd systemctl daemon-reload |   echo "                 Hey, Listen!                 " | ||||||
|   echo "${sudo_cmde}systemctl enable $my_app" |   echo "==============================================" | ||||||
|   $sudo_cmd systemctl enable $my_app |   echo "" | ||||||
|   echo "${sudo_cmde}systemctl start $my_app" |   echo "GO CHECK YOUR EMAIL" | ||||||
|   $sudo_cmd systemctl restart $my_app |   echo "" | ||||||
|  |   echo "You MUST verify your email address to activate this device." | ||||||
|  |   echo "(if the activation link expires, just run 'telebit restart' and check your email again)" | ||||||
|  |   echo "" | ||||||
|  |   $read_cmd -p "hit [enter] once you've clicked the verification" my_ignore | ||||||
|  |   sleep 30 | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| sleep 2 |  | ||||||
| echo "" | echo "" | ||||||
| echo "" | echo "" | ||||||
| echo "" | echo "" | ||||||
| @ -371,71 +448,5 @@ echo "Please edit the config file to meet your needs before starting." | |||||||
| echo "" | echo "" | ||||||
| sleep 3 | sleep 3 | ||||||
| 
 | 
 | ||||||
| echo "" |  | ||||||
| echo "" |  | ||||||
| echo "==============================================" |  | ||||||
| echo "            Launcher Configuration            " |  | ||||||
| echo "==============================================" |  | ||||||
| echo "" |  | ||||||
| echo "You MUST verify your email address to activate this device for your account" |  | ||||||
| 
 |  | ||||||
| my_stopper="" |  | ||||||
| if [ "systemd" == "$my_system_launcher" ]; then |  | ||||||
| 
 |  | ||||||
|   my_stopper="${sudo_cmde}systemctl stop $my_app" |  | ||||||
|   echo "Edit the config and restart, if desired:" |  | ||||||
|   echo "" |  | ||||||
|   echo "    ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml" |  | ||||||
|   echo "    ${sudo_cmde}systemctl restart $my_app" |  | ||||||
|   echo "" |  | ||||||
|   echo "Or disabled the service and start manually:" |  | ||||||
|   echo "" |  | ||||||
|   echo "    ${sudo_cmde}systemctl stop $my_app" |  | ||||||
|   echo "    ${sudo_cmde}systemctl disable $my_app" |  | ||||||
|   echo "    $my_app --config $TELEBIT_PATH/etc/$my_app.yml" |  | ||||||
| 
 |  | ||||||
| elif [ "launchd" == "$my_system_launcher" ]; then |  | ||||||
| 
 |  | ||||||
|   my_stopper="${sudo_cmde}launchctl unload $my_root/$my_app_launchd_service" |  | ||||||
|   echo "Edit the config and restart, if desired:" |  | ||||||
|   echo "" |  | ||||||
|   echo "    ${sudo_cmde}$my_edit $TELEBIT_PATH/etc/$my_app.yml" |  | ||||||
|   echo "    ${sudo_cmde}launchctl unload $my_root/$my_app_launchd_service" |  | ||||||
|   echo "    ${sudo_cmde}launchctl load -w $my_root/$my_app_launchd_service" |  | ||||||
|   echo "" |  | ||||||
|   echo "Or disabled the service and start manually:" |  | ||||||
|   echo "" |  | ||||||
|   echo "    ${sudo_cmde}launchctl unload -w $my_root/$my_app_launchd_service" |  | ||||||
|   echo "    $my_app daemon --config $TELEBIT_PATH/etc/$my_app.yml" |  | ||||||
| 
 |  | ||||||
| else |  | ||||||
| 
 |  | ||||||
|   my_stopper="not started" |  | ||||||
|   echo "Edit the config, if desired:" |  | ||||||
|   echo "" |  | ||||||
|   echo "    ${sudo_cmde}$my_edit $my_config" |  | ||||||
|   echo "" |  | ||||||
|   echo "Run the service manually (we couldn't detect your system service to do that automatically):" |  | ||||||
|   echo "" |  | ||||||
|   echo "    $my_app --config $my_config" |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| sleep 3 |  | ||||||
| 
 |  | ||||||
| # TODO run 'telebit status' |  | ||||||
| if [ "telebit.cloud" == $my_relay ]; then |  | ||||||
|   echo "" |  | ||||||
|   echo "" |  | ||||||
|   echo "==============================================" |  | ||||||
|   echo "                 Hey, Listen!                 " |  | ||||||
|   echo "==============================================" |  | ||||||
|   echo "" |  | ||||||
|   echo "GO CHECK YOUR EMAIL" |  | ||||||
|   echo "" |  | ||||||
|   echo "You MUST verify your email address to activate this device." |  | ||||||
|   echo "(if the activation link expires, just run 'telebit restart' and check your email again)" |  | ||||||
|   echo "" |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| echo "" | echo "" | ||||||
| sleep 1 | sleep 1 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user