diff --git a/pleroma-cli.sh b/pleroma-cli.sh index dcee0e2..c09798f 100755 --- a/pleroma-cli.sh +++ b/pleroma-cli.sh @@ -20,7 +20,7 @@ copy_mentions=$(jj -i config.json copy_mentions) mkdir -m 711 -p .app_sessions touch .auth.json chmod 600 .auth.json -auth="$(jj -i .auth.json "$(echo $instance | sed 's/\./\\\./g')")" +auth="$(jj -i .auth.json "$(echo "$instance" | sed 's/\./\\\./g')")" echo "Instance: $instance" if [ -n "$auth" ]; then default_curl_opt() @@ -35,7 +35,7 @@ if [ -n "$auth" ]; then else default_curl_opt() { - curl -s --compressed $1 + curl -s --compressed "$1" } echo 'Please make auth and restart' fi @@ -43,20 +43,20 @@ fi auth_api_create_client() { if [ ! -e ".app_sessions/$instance" ]; then - curl -s --compressed --url $instance_point/apps \ + curl -s --compressed --url "$instance_point/apps" \ --data-urlencode 'client_name=pleroma-cli' \ --data-urlencode 'redirect_uris=urn:ietf:wg:oauth:2.0:oob' \ --data-urlencode 'scopes=read write follow' \ --data-urlencode 'website=https://gitea.phreedom.club/localhost_frssoft/pleroma-cli' \ - --output .app_sessions/$instance - chmod 600 .app_sessions/$instance + --output ".app_sessions/$instance" \ + --create-file-mode 0600 fi } auth_api_get_code() { auth_api_create_client - client_id=$(jj -i .app_sessions/$instance client_id) + client_id=$(jj -i ".app_sessions/$instance" client_id) default_auth_browser "https://$instance/oauth/authorize?client_id=$client_id&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=read+write+follow" echo 'Input token-code:' read pass @@ -66,16 +66,16 @@ auth_api_get_token() { auth_api_get_code clear - client_id=$(jj -i .app_sessions/$instance client_id) - client_secret=$(jj -i .app_sessions/$instance client_secret) - token=$(curl -s --compressed --url https://$instance/oauth/token \ + client_id=$(jj -i ".app_sessions/$instance" client_id) + client_secret=$(jj -i ".app_sessions/$instance" client_secret) + token=$(curl -s --compressed --url "https://$instance/oauth/token" \ --data-urlencode 'grant_type=authorization_code' \ --data-urlencode "client_id=$client_id" \ --data-urlencode "client_secret=$client_secret" \ --data-urlencode "redirect_uri=urn:ietf:wg:oauth:2.0:oob" \ --data-urlencode 'scope=read write follow' \ --data-urlencode "code=$pass" | jj access_token) - jj -p -i .auth.json -v "$token" "$(echo $instance | sed 's/\./\\\./g')" -o .auth.json + jj -p -i .auth.json -v "$token" "$(echo "$instance" | sed 's/\./\\\./g')" -o .auth.json } #[AUTH SECTION END] @@ -145,26 +145,26 @@ legacy_addr_preprocess() follow_api_export() { count=40 - mkdir -m 711 -p backups_$instance + mkdir -m 711 -p backups_"$instance" account_info=$(account_api_me) - acc_id=$(echo $account_info | jj id) - acc_following_count=$(echo $account_info | jj following_count) + acc_id=$(echo "$account_info" | jj id) + acc_following_count=$(echo "$account_info" | jj following_count) while [ $count -gt 0 ]; do - followings=$(followings_api_get $acc_id) - count=$(echo $followings | jj \#) - if [ $count -eq 0 ]; then + followings=$(followings_api_get "$acc_id") + count=$(echo "$followings" | jj \#) + if [ "$count" -eq 0 ]; then echo "$acc_following_count followings exported" - elif [ $count -lt 40 ]; then - countindex=$(expr $count - 1) - echo $followings | jj -l \#.acct | delq | legacy_addr_preprocess >> backups_$instance/friends.csv - offset=$(echo $followings | jj $countindex.id) + elif [ "$count" -lt 40 ]; then + countindex=$(expr "$count" - 1) + echo "$followings" | jj -l \#.acct | delq | legacy_addr_preprocess >> "backups_$instance"/friends.csv + offset=$(echo "$followings" | jj "$countindex".id) echo "+$count follows" count=0 echo "$acc_following_count followings exported" elif [ $count -gt 0 ]; then countindex=$(expr $count - 1) - echo $followings | jj -l \#.acct | delq | legacy_addr_preprocess >> backups_$instance/friends.csv - offset=$(echo $followings | jj $countindex.id) + echo "$followings" | jj -l \#.acct | delq | legacy_addr_preprocess >> "backups_$instance"/friends.csv + offset=$(echo "$followings" | jj "$countindex".id) echo "+$count follows" fi sleep 1 @@ -174,22 +174,22 @@ follow_api_export() blocks_api_export() { count=40 - mkdir -m 711 -p backups_$instance + mkdir -m 711 -p "backups_$instance" while [ $count -gt 0 ]; do blocks=$(blocks_api_get) - count=$(echo $blocks | jj \#) - if [ $count -eq 0 ]; then + count=$(echo "$blocks" | jj \#) + if [ "$count" -eq 0 ]; then echo "Blocks exported" - elif [ $count -lt 40 ]; then - countindex=$(expr $count - 1) - echo $blocks | jj -l \#.acct | delq | legacy_addr_preprocess >> backups_$instance/blocks.csv - offset=$(echo $blocks | jj $countindex.id) + elif [ "$count" -lt 40 ]; then + countindex=$(expr "$count" - 1) + echo "$blocks" | jj -l \#.acct | delq | legacy_addr_preprocess >> "backups_$instance"/blocks.csv + offset=$(echo "$blocks" | jj "$countindex".id) echo "+$count blocks" count=0 echo "Blocks exported" elif [ $count -gt 0 ]; then - echo $blocks | jj -l \#.acct | delq | legacy_addr_preprocess >> backups_$instance/blocks.csv - offset=$(echo $blocks | jj $countindex.id) + echo "$blocks" | jj -l \#.acct | delq | legacy_addr_preprocess >> "backups_$instance"/blocks.csv + offset=$(echo "$blocks" | jj "$countindex".id) echo "+$count blocks" fi sleep 1 @@ -199,22 +199,22 @@ blocks_api_export() mutes_api_export() { count=40 - mkdir -m 711 -p backups_$instance + mkdir -m 711 -p "backups_$instance" while [ $count -gt 0 ]; do mutes=$(mutes_api_get) - count=$(echo $mutes | jj \#) - if [ $count -eq 0 ]; then + count=$(echo "$mutes" | jj \#) + if [ "$count" -eq 0 ]; then echo "Mutes exported" - elif [ $count -lt 40 ]; then - countindex=$(expr $count - 1) - echo $mutes | jj -l \#.acct | delq | legacy_addr_preprocess >> backups_$instance/mutes.csv - offset=$(echo $mutes | jj $countindex.id) + elif [ "$count" -lt 40 ]; then + countindex=$(expr "$count" - 1) + echo "$mutes" | jj -l \#.acct | delq | legacy_addr_preprocess >> "backups_$instance"/mutes.csv + offset=$(echo "$mutes" | jj "$countindex".id) echo "+$count mutes" count=0 echo "Mutes exported" elif [ $count -gt 0 ]; then - echo $mutes | jj -l \#.acct | delq| legacy_addr_preprocess >> backups_$instance/mutes.csv - offset=$(echo $mutes | jj $countindex.id) + echo "$mutes" | jj -l \#.acct | delq| legacy_addr_preprocess >> "backups_$instance"/mutes.csv + offset=$(echo "$mutes" | jj "$countindex".id) echo "+$count mutes" fi sleep 1 @@ -242,7 +242,7 @@ mutes_api_import() account_api_me() { - default_curl_opt $instance_point/accounts/verify_credentials + default_curl_opt "$instance_point/accounts/verify_credentials" } followings_api_get() @@ -253,21 +253,21 @@ followings_api_get() followings_menu() { account_info=$(account_api_me) - acc_id=$(echo $account_info | jj id) - acc_following_count=$(echo $account_info | jj following_count) + acc_id=$(echo "$account_info" | jj id) + acc_following_count=$(echo "$account_info" | jj following_count) echo "Followers: $acc_following_count" sub_menu_lvl=1 while [ $sub_menu_lvl -eq 1 ]; do - followings=$(followings_api_get $acc_id) - accts=$(echo $followings | jj -l \#.acct | nl -s: -v0 -w1) + followings=$(followings_api_get "$acc_id") + accts=$(echo "$followings" | jj -l \#.acct | nl -s: -v0 -w1) choice=$(echo "Main menu\n$accts\nNext" | fzy) case $choice in "Main menu") sub_menu_lvl=0 ;; - "Next") offset=$(echo $followings | jj $(expr $(echo $followings | jj \#) - 1).id) ;; + "Next") offset=$(echo "$followings" | jj $(expr $(echo "$followings" | jj \#) - 1).id) ;; *) - index=$(echo $choice | cut -f 1 -d:) - statuses_view_menu "$(echo $followings | jj $index.acct)" + index=$(echo "$choice" | cut -f 1 -d:) + statuses_view_menu "$(echo "$followings" | jj "$index".acct)" ;; esac done @@ -320,20 +320,20 @@ statuses_render() jsonmassive=$(echo "$jsonmassive" | jj '#[sensitive=false]#') fi if [ "$reversed_statuses" = 'true' ]; then - ids_massive=$(echo $ids_massive | tr ' ' '\n' | tac | tr '\n' ' ') + ids_massive=$(echo "$ids_massive" | tr ' ' '\n' | tac | tr '\n' ' ') fi for i in $ids_massive; do status=$(echo "$jsonmassive" | jj "#[id=$i]") - whoacct=$(echo $status | jj account.acct) - reblog=$(echo $status | jj reblog.id) - reblogacct=$(echo $status | jj reblog.account.acct) - uri=$(echo $status | jj uri) - id_status=$(echo $status | jj id) - dateutc=$(echo $status | jj created_at) - reply_to_id=$(echo $status | jj in_reply_to_id) - visibility_status=$(echo $status | jj visibility) - echo "| $(date -d $dateutc "$format_time") $visibility_status $whoacct" + whoacct=$(echo "$status" | jj account.acct) + reblog=$(echo "$status" | jj reblog.id) + reblogacct=$(echo "$status" | jj reblog.account.acct) + uri=$(echo "$status" | jj uri) + id_status=$(echo "$status" | jj id) + dateutc=$(echo "$status" | jj created_at) + reply_to_id=$(echo "$status" | jj in_reply_to_id) + visibility_status=$(echo "$status" | jj visibility) + echo "| $(date -d "$dateutc" "$format_time") $visibility_status $whoacct" echo "| <$id_status> $uri" if [ -n "$reply_to_id" ]; then echo "| Reply to: $reply_to_id" @@ -346,7 +346,7 @@ statuses_render() echo "#[$spoiler_text]" fi echo "$status" | jj -r content | delqse | html_to_txt_render - attachments=$(echo $status | jj -l media_attachments.#.remote_url | delq) + attachments=$(echo "$status" | jj -l media_attachments.#.remote_url | delq) if [ -n "$attachments" ]; then echo "#EXTINF:-1, $uri" >> attachments.m3u8 echo '[Attachments:]' @@ -359,28 +359,28 @@ statuses_render() statuses_view_menu() { sub_menu_lvl=2 - json=$(statuses_api_account $1) + json=$(statuses_api_account "$1") while [ $sub_menu_lvl -eq 2 ]; do clear echo "[Statuses $1]" - ids_massive=$(echo $json | jj -l \#.id | delq) + ids_massive=$(echo "$json" | jj -l \#.id | delq) jsonmassive=$json statuses_render menustatuses=$(echo 'Prev\nNext\nReply\nShare\nFavorite\nShare and favorite\nThread\nBack' | fzy) case "$menustatuses" in "Back") sub_menu_lvl=1 ;; "Prev") - indexator=$(expr $(echo $json | jj \#) - 1) + indexator=$(expr $(echo "$json" | jj \#) - 1) echo '#EXTM3U' > attachments.m3u8 clear - offset=$(echo $json | jj $indexator.id) - json=$(statuses_api_account $1 $offset) + offset=$(echo "$json" | jj "$indexator".id) + json=$(statuses_api_account "$1" "$offset") ;; "Next") echo '#EXTM3U' > attachments.m3u8 clear - offset=$(echo $json | jj 0.id) - json=$(statuses_api_account $1 '' $offset) + offset=$(echo "$json" | jj 0.id) + json=$(statuses_api_account "$1" '' "$offset") ;; "Reply") reply_mode ;; "Share") share_mode ;; @@ -395,15 +395,15 @@ thread_open() { echo 'Input id' read status_id - thread_menu $status_id + thread_menu "$status_id" } thread_menu() { sub_menu_lvl=2 - jsonthread=$(thread_api_statuses $1) - ancestors=$(echo $jsonthread | jj ancestors) - descendants=$(echo $jsonthread | jj descendants) + jsonthread=$(thread_api_statuses "$1") + ancestors=$(echo "$jsonthread" | jj ancestors) + descendants=$(echo "$jsonthread" | jj descendants) if [ '[]' != "$ancestors" ] && [ '[]' != "$descendants" ]; then jsonthread=$(echo "$ancestors""$descendants") elif [ '[]' != "$ancestors" ]; then @@ -414,7 +414,7 @@ thread_menu() while [ $sub_menu_lvl -eq 2 ]; do clear echo '[Thread]' - ids_massive=$(echo $jsonthread | jj -l \#.id | delq) + ids_massive=$(echo "$jsonthread" | jj -l \#.id | delq) jsonmassive=$jsonthread statuses_render menuthread=$(echo 'Back\nReply\nShare\nFavorite\nShare and favorite' | fzy) @@ -446,23 +446,23 @@ timeline_menu() sub_menu_lvl=1 echo '#EXTM3U' > attachments.m3u8 while [ $sub_menu_lvl -eq 1 ]; do - ids_massive=$(echo $json | jj -l \#.id | delq) + ids_massive=$(echo "$json" | jj -l \#.id | delq) jsonmassive=$json statuses_render menu=$(echo 'Prev\nNext\nReply\nShare\nFavorite\nShare and favorite\nThread\nMain menu' | fzy) case $menu in "Prev") - indexator=$(expr $(echo $json | jj \#) - 1) + indexator=$(expr $(echo "$json" | jj \#) - 1) echo '#EXTM3U' > attachments.m3u8 clear - offset=$(echo $json | jj $indexator.id) - json=$(timeline_api $offset) + offset=$(echo "$json" | jj "$indexator".id) + json=$(timeline_api "$offset") ;; "Next") echo '#EXTM3U' > attachments.m3u8 clear - offset=$(echo $json | jj 0.id) - json=$(timeline_api '' $offset) + offset=$(echo "$json" | jj 0.id) + json=$(timeline_api '' "$offset") ;; "Reply") reply_mode ;; "Share") share_mode ;; @@ -478,14 +478,14 @@ reply_mode() { echo 'Input id' read status_id - reply_status=$(status_api_one $status_id) + reply_status=$(status_api_one "$status_id") if [ "$quoting_reply" = 'true' ]; then echo "$reply_status" | jj content | html_to_txt_render | sed 's/^/> /' > tmp_status.md fi if [ "$copy_mentions" = 'true' ]; then mentions_reply=$(echo "$reply_status" | jj -l 'mentions.#.acct' | delq | legacy_addr_preprocess | tr '\n' ',' | sed 's/,$//g') fi - write_status_menu $status_id + write_status_menu "$status_id" } share_and_favorite_mode() @@ -497,17 +497,17 @@ share_and_favorite_mode() if [ "$status_id" = 's' ]; then shareandfavmode=0 else - share_api_status $status_id - echo $http_code - favorite_api_status $status_id - echo $http_code + share_api_status "$status_id" + echo "$http_code" + favorite_api_status "$status_id" + echo "$http_code" fi done } share_api_status() { - post_request -w "%{http_code}" --url $instance_point/statuses/$1/reblog --output /dev/null + post_request -w "%{http_code}" --url "$instance_point/statuses/$1/reblog" --output /dev/null } share_mode() @@ -519,15 +519,15 @@ share_mode() if [ "$status_id" = 's' ]; then sharemode=0 else - share_api_status $status_id - echo $http_code + share_api_status "$status_id" + echo "$http_code" fi done } favorite_api_status() { - post_request -w "%{http_code}" --url $instance_point/statuses/$1/favourite --output /dev/null + post_request -w "%{http_code}" --url "$instance_point/statuses/$1/favourite" --output /dev/null } favourite_mode() @@ -539,8 +539,8 @@ favourite_mode() if [ "$status_id" = 's' ]; then favoritemode=0 else - favorite_api_status $status_id - echo $http_code + favorite_api_status "$status_id" + echo "$http_code" fi done } @@ -549,7 +549,7 @@ write_api_status() { if [ -n "$mediaattach" ]; then media=$(upload_api_media | jj id) - post_request -w "%{http_code}" --url $instance_point/statuses \ + post_request -w "%{http_code}" --url "$instance_point"/statuses \ --data-urlencode "status=$1" \ --data-urlencode "content_type=$content_type" \ --data-urlencode "visibility=$status_visibility" \ @@ -557,22 +557,22 @@ write_api_status() --data-urlencode "media_ids[]=$media" \ --data-urlencode "to[]=$mentions_reply" \ --output /dev/null - echo $http_code + echo "$http_code" else - post_request -w "%{http_code}" --url $instance_point/statuses \ + post_request -w "%{http_code}" --url "$instance_point"/statuses \ --data-urlencode "status=$1" \ --data-urlencode "content_type=$content_type" \ --data-urlencode "visibility=$status_visibility" \ --data-urlencode "in_reply_to_id=$replyto" \ --data-urlencode "to[]=$mentions_reply" \ --output /dev/null - echo $http_code + echo "$http_code" fi } upload_api_media() { - post_request --url $instance_point/media \ + post_request --url "$instance_point"/media \ --form "file=$mediaattach" } @@ -640,23 +640,23 @@ notif_menu() json=$(notif_api_get_all) while [ $sub_menu_lvl -eq 1 ]; do clear - count_new_notif=$(echo $json | jj -l '#[pleroma.is_seen=false]#.pleroma.is_seen' | wc -w) + count_new_notif=$(echo "$json" | jj -l '#[pleroma.is_seen=false]#.pleroma.is_seen' | wc -w) echo "New notifications: $count_new_notif" - for i in $(echo $json | jj -l \#.id); do - date_utc=$(echo $json | jj \#[id=$i].created_at) + for i in $(echo "$json" | jj -l \#.id); do + date_utc=$(echo "$json" | jj \#[id="$i"].created_at) date -d "$date_utc" "$format_time" - acct=$(echo $json | jj \#[id=$i].account.acct) - status_id=$(echo $json | jj \#[id=$i].status.id) - typenotif=$(echo $json | jj \#[id=$i].type) + acct=$(echo "$json" | jj \#[id="$i"].account.acct) + status_id=$(echo "$json" | jj \#[id="$i"].status.id) + typenotif=$(echo "$json" | jj \#[id="$i"].type) echo "<$status_id> $typenotif <- $acct" - echo $json | jj -r \#[id=$i].status.content | delqse | html_to_txt_render + echo "$json" | jj -r \#[id="$i"].status.content | delqse | html_to_txt_render echo '___' done menu_choice=$(echo "Main menu\nRead\nRefresh\n$clrnotif" | fzy) case "$menu_choice" in "Main menu") sub_menu_lvl=0 ;; "Read") - notif_api_read "$(echo $json | jj 0.id)" + notif_api_read "$(echo "$json" | jj 0.id)" json=$(notif_api_get_all) ;; "Refresh") json=$(notif_api_get_all) ;; @@ -679,7 +679,7 @@ notif_api_read() notif_api_remove_all() { - post_request --url $instance_point/notifications/clear + post_request --url "$instance_point"/notifications/clear } menu_write_status='Write status' @@ -722,18 +722,18 @@ case $main_menu in "Manual input") echo "Type instance (ex. $instance):" && read instance ;; esac if [ $empty -eq 0 ]; then - echo $instance >> $instance_hist + echo "$instance" >> $instance_hist cat $instance_hist | sort | uniq | tee $instance_hist 1>>/dev/null export instance export instance_point="https://$instance/api/v1" conf_instance_state=$(echo 'Permanent\nTemporaly' | fzy) if [ "$conf_instance_state" = 'Permanent' ]; then - jj -i config.json instance -v $instance -o config.json + jj -i config.json instance -v "$instance" -o config.json else echo '' fi clear - auth="$(jj -i .auth.json "$(echo $instance | sed 's/\./\\\./g')")" + auth="$(jj -i .auth.json "$(echo "$instance" | sed 's/\./\\\./g')")" echo "Instance: $instance" if [ -n "$auth" ]; then default_curl_opt() @@ -748,7 +748,7 @@ case $main_menu in else default_curl_opt() { - curl -s --compressed $1 + curl -s --compressed "$1" } echo 'Please make auth and restart' fi