#!/bin/sh # fp — FastPaste CLI (https://fastpaste.xyz) # Kullanım: # echo "merhaba" | fp # stdin'den paste # fp dosya.txt # dosyadan paste # fp -t "baslik" -e 1w -l python x.py # başlık / süre / dil # FP_API_KEY=lq_xxx fp x.txt # API anahtarıyla (yüksek limit) # # Anonim limitler: 5 paste/saat, 20/gün, en fazla 256KB, süre <= 1 hafta. # API anahtarı için: https://fastpaste.xyz/api-docs set -e API="https://fastpaste.xyz/api/v1/cli" TITLE="" EXPIRY="1d" LANG_OPT="" BURN="" usage() { sed -n '2,12p' "$0" | sed 's/^# \{0,1\}//' exit 0 } while [ $# -gt 0 ]; do case "$1" in -t|--title) TITLE="$2"; shift 2 ;; -e|--expiry) EXPIRY="$2"; shift 2 ;; -l|--lang) LANG_OPT="$2"; shift 2 ;; -b|--burn) BURN="1"; shift ;; -h|--help) usage ;; -*) echo "bilinmeyen secenek: $1" >&2; exit 1 ;; *) FILE="$1"; shift ;; esac done QS="expiry=${EXPIRY}" [ -n "$TITLE" ] && QS="${QS}&title=$(printf %s "$TITLE" | sed 's/ /%20/g')" [ -n "$LANG_OPT" ] && QS="${QS}&lang=${LANG_OPT}" [ -n "$BURN" ] && QS="${QS}&burn=1" AUTH="" [ -n "$FP_API_KEY" ] && AUTH="-H X-API-Key:${FP_API_KEY}" if [ -n "$FILE" ]; then [ -r "$FILE" ] || { echo "okunamadi: $FILE" >&2; exit 1; } exec curl -sS $AUTH -H 'Content-Type: text/plain' --data-binary @"$FILE" "${API}?${QS}" else exec curl -sS $AUTH -H 'Content-Type: text/plain' --data-binary @- "${API}?${QS}" fi