summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2025-09-10 02:34:03 -0400
committerJohn Turner <jturner.usa@gmail.com>2025-09-10 02:35:32 -0400
commitcaae2982bb1b77e86dab3a02d20102e71e299ea8 (patch)
treeac1a0b2f22d86347f26890299a4f74888c00efff
parentfffbdf174a3dab6a39ca9f95a8bef0a641f80dce (diff)
downloadwgetpaste-caae2982bb1b77e86dab3a02d20102e71e299ea8.tar.gz
add support for zen.jturnerusa.dev/pasteadd-host/zen.jturnerusa.dev
-rwxr-xr-xwgetpaste79
1 files changed, 77 insertions, 2 deletions
diff --git a/wgetpaste b/wgetpaste
index f96ed08..77c730e 100755
--- a/wgetpaste
+++ b/wgetpaste
@@ -41,7 +41,7 @@ POST_generic() {
}
### services
-SERVICES="0x0 bpaste codepad dpaste gists ix_io pgz snippets"
+SERVICES="0x0 bpaste codepad dpaste gists ix_io pgz snippets zen"
# 0x0
ENGINE_0x0=0x0
URL_0x0="http://0x0.st"
@@ -84,6 +84,12 @@ SIZE_sprunge="1000000 1%MB"
ENGINE_tinyurl=tinyurl
URL_tinyurl="http://tinyurl.com/ api-create.php"
REGEX_RAW_tinyurl='s|^\(http://[^/]*/\)\([[:alnum:]]*\)$|\1\2|'
+# zen
+ENGINE_zen=zen
+URL_zen="https://zen.jturnerusa.dev/paste"
+SIZE_zen="2000000 2%MB"
+REGEX_RAW_zen='s|^https.*|\0|'
+REGEX_URL_zen='s|^https.*|\0|p'
### engines
# 0x0
@@ -332,6 +338,69 @@ POST_sprunge() {
}
REGEX_RAW_sprunge='s|^http.*|\0|'
REGEX_URL_sprunge='s|^http.*|\0|p'
+# zen
+LANGUAGES_zen="ABAP ABNF ActionScript ActionScript%3 Ada ADL Agda Aheui Alloy AmbientTalk AMDGPU \
+Ampl Angular2 ANSYS%parametric%design%language ANTLR ANTLR%With%ActionScript%Target \
+ANTLR%With%CPP%Target ANTLR%With%C#%Target ANTLR%With%Java%Target ANTLR%With%ObjectiveC%Target \
+ANTLR%With%Perl%Target ANTLR%With%Python%Target ANTLR%With%Ruby%Target ApacheConf APL AppleScript \
+Arduino Arrow Arturo ASCII%armored ASN.1 AspectJ aspx-cs aspx-vb Asymptote Augeas autohotkey \
+AutoIt Awk BARE Base%Makefile Bash Bash%Session Batchfile BBC%Basic BBCode BC Bdd Befunge Berry \
+BibTeX BlitzBasic BlitzMax Blueprint BNF Boa Boo Boogie BQN Brainfuck BST BUGS C C# C++ \
+ca65%assembler cADL CAmkES CapDL Cap'n%Proto Carbon CBM%BASIC%V2 CDDL Ceylon CFEngine3 cfstatement \
+ChaiScript Chapel Charmci Cheetah Cirru Clay Clean Clojure ClojureScript CMake c-objdump COBOL \
+COBOLFree CoffeeScript Coldfusion%CFC Coldfusion%HTML COMAL-80 Common%Lisp Component%Pascal Coq \
+cplint cpp-objdump CPSA Crmsh Croc Cryptol Crystal Csound%Document Csound%Orchestra Csound%Score \
+CSS CSS+Django/Jinja CSS+Genshi%Text CSS+Lasso CSS+Mako CSS+mozpreproc CSS+Myghty CSS+PHP CSS+Ruby \
+CSS+Smarty CSS+UL4 CUDA Cypher Cython D Darcs%Patch Dart DASM16 Dax Debian%Control%file \
+Debian%Sourcelist Delphi Desktop%file Devicetree dg Diff Django/Jinja d-objdump Docker DTD Duel \
+Dylan DylanLID Dylan%session Earl%Grey Easytrieve EBNF eC ECL Eiffel Elixir Elixir%iex%session Elm \
+Elpi EmacsLisp E-mail Embedded%Ragel ERB Erlang Erlang%erl%session Evoque execline Ezhil F# Factor \
+Fancy Fantom Felix Fennel Fift Fish Flatline FloScript Forth Fortran FortranFixed FoxPro Freefem \
+FStar FunC Futhark GAP GAP%session GAS g-code GDScript Genshi Genshi%Text Gettext%Catalog Gherkin \
+GLSL Gnuplot Go Golo GoodData-CL Gosu Gosu%Template GraphQL Graphviz Groff Groovy GSQL Haml \
+Handlebars Haskell Haxe Hexdump HLSL HSAIL Hspec HTML HTML%+%Angular2 HTML+Cheetah \
+HTML+Django/Jinja HTML+Evoque HTML+Genshi HTML+Handlebars HTML+Lasso HTML+Mako HTML+Myghty \
+HTML+PHP HTML+Smarty HTML+Twig HTML+UL4 HTML+Velocity HTTP Hxml Hy Hybris Icon IDL Idris Igor \
+Inform%6 Inform%6%template Inform%7 INI Io Ioke IRC%logs Isabelle J JAGS Jasmin Java JavaScript \
+JavaScript+Cheetah JavaScript+Django/Jinja JavaScript+Genshi%Text JavaScript+Lasso JavaScript+Mako \
+Javascript+mozpreproc JavaScript+Myghty JavaScript+PHP JavaScript+Ruby JavaScript+Smarty \
+Javascript+UL4 Java%Server%Page JCL JMESPath JSGF JSLT JSON JSON-LD Jsonnet JSX Julia \
+Julia%console Juttle K Kal Kconfig Kernel%log Koka Kotlin Kuin Kusto Lasso LDAP%configuration%file \
+LDIF Lean LessCss Lighttpd%configuration%file LilyPond Limbo liquid Literate%Agda Literate%Cryptol \
+Literate%Haskell Literate%Idris LiveScript LLVM LLVM- LLVM-MIR%Body Logos Logtalk LSL Lua \
+Macaulay2 Makefile Mako MAQL Markdown Mask Mason Mathematica Matlab Matlab%session Maxima \
+MCFunction MCSchema Meson MIME MiniD MiniScript MIPS MIR Modelica Modula-2 \
+MoinMoin/Trac%Wiki%markup Monkey Monte MOOCode MoonScript Mosel mozhashpreproc mozpercentpreproc \
+MQL Mscgen MSDOS%Session MuPAD MXML Myghty MySQL NASM NCL Nemerle nesC NestedText NewLisp Newspeak \
+Nginx%configuration%file Nimrod Nit Nix Node.js%REPL%console%session Notmuch NSIS NumPy NuSMV \
+objdump objdump-nasm Objective-C Objective-C++ Objective-J OCaml Octave ODIN \
+OMG%Interface%Definition%Language Ooc Opa OpenEdge%ABL OpenSCAD PacmanConf Pan ParaSail Pawn PEG \
+Perl Perl6 Phix PHP Pig Pike PkgConfig PL/pgSQL Pointless Pony Portugol PostgreSQL%console%(psql) \
+PostgreSQL%EXPLAIN%dialect PostgreSQL%SQL%dialect PostScript POVRay PowerShell PowerShell%Session \
+Praat Procfile Prolog PromQL Properties Protocol%Buffer PRQL PsySH%console%session%for%PHP PTX Pug \
+Puppet PyPy%Log Python Python%2.x Python%2.x%Traceback Python%console%session Python%Traceback \
+Python+UL4 Q QBasic Qlik QML QVTO Racket Ragel Ragel%in%C%Host Ragel%in%CPP%Host Ragel%in%D%Host \
+Ragel%in%Java%Host Ragel%in%Objective%C%Host Ragel%in%Ruby%Host RConsole Rd ReasonML REBOL Red \
+Redcode reg Relax-NG%Compact ResourceBundle reStructuredText Rexx RHTML Ride Rita Roboconf%Graph \
+Roboconf%Instances RobotFramework RPMSpec RQL RSL Ruby Ruby%irb%session Rust S SARL SAS Sass Savi \
+Scala Scalate%Server%Page Scaml scdoc Scheme Scilab SCSS Sed Shen ShExC Sieve Silver Singularity \
+Slash Slim Slurm Smali Smalltalk SmartGameFormat Smarty Smithy SNBT Snobol Snowball Solidity \
+Sophia SourcePawn SPARQL Spice SQL sqlite3con SQL+Jinja SquidConf Srcinfo Stan Standard%ML Stata \
+SuperCollider Swift SWIG Systemd systemverilog TADS%3 Tal TAP TASM Tcl Tcsh Tcsh%Session Tea teal \
+Tera%Term%macro Termcap Terminfo Terraform TeX Text%only Text%output ThingsDB Thrift tiddler Tl-b \
+TLS%Presentation%Language Todotxt TOML TrafficScript Transact-SQL Treetop Turtle Twig TypeScript \
+Typographic%Number%Theory TypoScript TypoScriptCssData TypoScriptHtmlData ucode UL4 Unicon \
+Unix/Linux%config%files UrbiScript urlencoded USD Vala VB.net VBScript VCL VCLSnippets \
+VCTreeStatus Velocity Verifpal verilog VGL vhdl VimL Visual%Prolog Visual%Prolog%Grammar Vyper \
+WDiff WebAssembly WebGPU%Shading%Language Web%IDL Whiley Wikitext World%of%Warcraft%TOC Wren X++ \
+X10 XML XML+Cheetah XML+Django/Jinja XML+Evoque XML+Lasso XML+Mako XML+Myghty XML+PHP XML+Ruby \
+XML+Smarty XML+UL4 XML+Velocity Xorg XQuery XSLT Xtend xtlang XUL+mozpreproc YAML YAML+Jinja YANG \
+YARA Zeek Zephir Zig Zone"
+LANGUAGE_VALUES_zen="${LANGUAGES_zen}"
+DEFAULT_LANGUAGE_zen="Text%only"
+escape_description_zen() { echo "$*"; }
+escape_input_zen() { echo "$*"; }
+POST_zen() { echo "${6}"; }
### errors
die() {
@@ -381,7 +450,10 @@ converttoraw() {
regex=REGEX_RAW_$ENGINE
if [[ -n ${!regex} ]]; then
RAWURL=$(sed -e "${!regex}" <<< "$URL")
- [[ -n $RAWURL ]] && return 0
+ if [[ -n $RAWURL ]]; then
+ [[ $ENGINE == "zen" ]] && RAWURL=$(echo "${RAWURL}?raw=true")
+ return 0
+ fi
echo "Conversion to raw url failed." >&2
else
echo "Raw download of pastes is not supported by $(getrecipient)." >&2
@@ -687,6 +759,7 @@ getrecipient() {
else
serv="$SERVICE: "
fi
+
echo "${serv}${!urls% *}${target}"
return 0
fi
@@ -1076,6 +1149,8 @@ RECIPIENT=$(getrecipient RAW)
if [[ $SERVICE == tinyurl ]]; then
URL=$(LC_ALL=C wget -qO - "$RECIPIENT?url=$INPUT")
else
+ [[ $SERVICE == "zen" ]] && RECIPIENT="${RECIPIENT}?syntax=${LANGUAGE}"
+
# create temp file (wget is much more reliable reading
# large input via --post-file rather than --post-data)
[[ -f $TMPF ]] || TMPF=$(mktemp -q --tmpdir wgetpaste.XXXXXX)