diff --git a/pleroma-cli.sh b/pleroma-cli.sh
index 2387e66b398157b5a373b4af659b1fcc6390d828..e24afd2a3ce753cd764b01256c4e3105f921756f 100755
--- a/pleroma-cli.sh
+++ b/pleroma-cli.sh
@@ -2,16 +2,22 @@ #!/bin/sh
 
 instance=$(jj -i config.json instance)
 alias default_auth_browser=links
-if [ $(echo "$instance" | grep -q 'i2p$' ; echo $?) -eq 0 ]; then
-	default_connect_protocol='http'
-	proxy=$(jj -i config.json i2p_http_proxy_addr)
-elif [ $(echo "$instance" | grep -q 'onion$'; echo $?) -eq 0 ]; then
-	default_connect_protocol='https'
-	proxy=$(jj -i config.json tor_proxy_addr)
-else
-	default_connect_protocol='https'
-	proxy=''
-fi
+
+proxy_init() 
+{
+	if [ $(echo "$instance" | grep -q 'i2p$' ; echo $?) -eq 0 ]; then
+		default_connect_protocol='http'
+		proxy=$(jj -i config.json i2p_http_proxy_addr)
+	elif [ $(echo "$instance" | grep -q 'onion$'; echo $?) -eq 0 ]; then
+		default_connect_protocol='https'
+		proxy=$(jj -i config.json tor_proxy_addr)
+	else
+		default_connect_protocol='https'
+		proxy=''
+	fi
+	export default_connect_protocol
+	export proxy
+}
 instance_point="$default_connect_protocol://$instance/api/v1"
 instance_point_pleroma="$default_connect_protocol://$instance/api/pleroma"
 instance_hist='instance.hist'
@@ -32,25 +38,34 @@ #[AUTH SECTION]
 mkdir -m 711 -p .app_sessions
 touch .auth.json
 chmod 600 .auth.json
-auth="$(jj -i .auth.json "$(echo "$instance" | sed 's/\./\\\./g')")"
-echo "Instance: $instance"
-if [ -n "$auth" ]; then
-	default_curl_opt()
-	{
-		curl --proxy "$proxy" -s --compressed -H "Authorization: Bearer $auth" "$@"
-	}
-	post_request()
-	{
-		curl --proxy "$proxy" -s --compressed -X POST -H "Authorization: Bearer $auth" "$@"
-	}
-	echo '+Authorized account+'
-else
-	default_curl_opt()
-	{
-		curl --proxy "$proxy" -s --compressed "$1"
-	}
-	echo 'Please make auth and restart'
-fi
+
+make_login()
+{
+	auth="$(jj -i .auth.json "$(echo "$instance" | sed 's/\./\\\./g')")"
+	echo "Instance: $instance"
+	if [ -n "$auth" ]; then
+		default_curl_opt()
+		{
+			curl --proxy "$proxy" -s --compressed -H "Authorization: Bearer $auth" "$@"
+		}
+		post_request()
+		{
+			curl --proxy "$proxy" -s --compressed -X POST -H "Authorization: Bearer $auth" "$@"
+		}
+		echo '+Authorized account+'
+		export default_curl_opt
+		export post_request
+	else
+		default_curl_opt()
+		{
+			curl --proxy "$proxy" -s --compressed "$1"
+		}
+		export default_curl_opt
+		export post_request=
+		echo 'Please make auth and restart'
+	fi
+}
+make_login
 
 auth_api_create_client()
 {
@@ -841,16 +856,7 @@ 	esac
 	if [ $empty -eq 0 ]; then
 		echo "$instance" >> $instance_hist
 		cat $instance_hist | sort | uniq | tee $instance_hist 1>>/dev/null
-		if [ $(echo "$instance" | grep -q 'i2p$'; echo $?) -eq 0 ]; then
-			default_connect_protocol='http'
-			proxy=$(jj -i config.json i2p_http_proxy_addr)
-		elif [ $(echo "$instance" | grep -q 'onion$'; echo $?) -eq 0 ]; then
-			default_connect_protocol='https'
-			proxy=$(jj -i config.json tor_proxy_addr)
-		else
-			default_connect_protocol='https'
-			proxy=
-		fi
+		proxy_init
 		instance_point="$default_connect_protocol://$instance/api/v1"
 		instance_point_pleroma="$default_connect_protocol://$instance/api/pleroma"
 		conf_instance_state=$(echo 'Permanent\nTemporaly' | fzy)
@@ -860,25 +866,7 @@ 		else
 			echo ''
 		fi
 		clear
-		auth="$(jj -i .auth.json "$(echo "$instance" | sed 's/\./\\\./g')")"
-		echo "Instance: $instance"
-		if [ -n "$auth" ]; then
-			default_curl_opt()
-			{
-				curl --proxy "$proxy" -s --compressed -H "Authorization: Bearer $auth" "$@"
-			}
-			post_request()
-			{
-				curl --proxy "$proxy" -s --compressed -X POST -H "Authorization: Bearer $auth" "$@"
-			}
-			echo '+Authorized account+'
-		else
-			default_curl_opt()
-			{
-				curl --proxy "$proxy" -s --compressed "$1"
-			}
-			echo 'Please make auth and restart'
-		fi
+		make_login
 	fi ;;
 	"$authmake") auth_api_get_token ;;
 	"$Exit") exit 0 ;;
