~0wx.eu~ :: Fíluhýsing og onnur nyttig amboð


Legg upp TinyURL HugeURL Pastebin Um Melda Rita inn
Føroyskt
English English Deutsch Deutsch Plattdüütsch Plattdüütsch Lëtzebuergesch Lëtzebuergesch Nederlands Nederlands Dansk Dansk Svenska Svenska Bokmål Bokmål Nynorsk Nynorsk Íslenska Íslenska Español Español Català Català Galego Galego Português Português Français Français Italiano Italiano Latina Latina Română Română Rumantsch Rumantsch Gaeilge Gaeilge Suomi Suomi Magyar Magyar Euskara Euskara Esperanto Esperanto 日本語 日本語 简体中文 简体中文 繁體中文(台灣) 繁體中文(台灣) 繁體中文(香港) 繁體中文(香港) 粵語 粵語 한국어 한국어 Tiếng Việt Tiếng Việt ไทย ไทย Bahasa Indonesia Bahasa Indonesia Bahasa Melayu Bahasa Melayu हिन्दी हिन्दी Ελληνικά Ελληνικά Polski Polski Čeština Čeština Українська Українська Русский Русский Türkçe Türkçe العربية العربية עברית עברית Kiswahili Kiswahili ʻŌlelo Hawaiʻi ʻŌlelo Hawaiʻi tlhIngan Hol tlhIngan Hol

Tað er ein API fyri allar funktiónir á 0wx.eu. Tú kanst brúka hana í skriptum ella til stýrisbrettsboð.

Alt, sum oyðubløðini á hesari síðuni gera, til skript. Hvørt svar er JSON, eisini feilir, so tú nýtist ongantíð at gita, um eitt innihald er eitt úrslit ella ein frágreiðing.

At gera ein fyrispurning

POST til endapunktið við antin oyðublaðsparametrum ella einum JSON-innihaldi. Bæði eru javnlík; vel tað, sum amboð tíni gera lættari. Parametrurin action velur, hvat skal gerast. Brúka --data-urlencode til alt, sum ein menniskja hevur skrivað — tekst, eina URL, eina umseting — tí -d sendir virðið rátt, og tað verður skorið av við fyrsta &. Vanligt -d er nóg mikið til føst virði sum action sjálvt. wget hevur als ikki --data-urlencode, so við wget mást tú antin prosentkoda slík virði sjálvur ella senda eitt JSON-innihald, sum ikki tørvar nakra koding.

curl -X POST https://0wx.eu/api.cgi \
     -d action=paste --data-urlencode 'content=hello & world'

curl -X POST https://0wx.eu/api.cgi \
     -H 'Content-Type: application/json' \
     -d '{"action":"paste","content":"hello & world"}'

wget -qO- --header='Content-Type: application/json' \
     --post-data '{"action":"paste","content":"hello & world"}' https://0wx.eu/api.cgi
Virði, sum innihalda &

Í einum oyðublaðsinnihaldi skilir & parametrar sundur, og curl -d kodar ikki tað, tú gevur tí. Ein URL við fyrispurningsstrongi verður tí skorin av við fyrsta &, og restin kemur fram sum serstakir parametrar. Brúka --data-urlencode, ella send JSON. Villfarnir parametrar verða avvístir heldur enn tagdir í hel, so hetta miseydnast hart heldur enn at goyma hálvt leinki.

# wrong -- the value is cut at the &
curl -X POST https://0wx.eu/api.cgi \
     -d action=tinyurl -d 'url=https://example.com/?a=1&b=2'

# right
curl -X POST https://0wx.eu/api.cgi \
     -d action=tinyurl --data-urlencode 'url=https://example.com/?a=1&b=2'

# also right -- JSON needs no escaping
curl -X POST https://0wx.eu/api.cgi -H 'Content-Type: application/json' \
     -d '{"action":"tinyurl","url":"https://example.com/?a=1&b=2"}'

# wget has no --data-urlencode, so percent-encode it yourself...
wget -qO- --post-data 'action=tinyurl&url=https%3A%2F%2Fexample.com%2F%3Fa%3D1%26b%3D2' https://0wx.eu/api.cgi

# ...or send JSON, which needs no encoding at all
wget -qO- --header='Content-Type: application/json' \
     --post-data '{"action":"tinyurl","url":"https://example.com/?a=1&b=2"}' https://0wx.eu/api.cgi
Váttan

Valfrítt. Uttan lykil er ein fyrispurningur navnleysur og ber seg júst at sum ein navnleysur vitjandi — úrslitið er alment í øllum førum, einasti munurin er, um tað lendir í fílulista tínum. Ger ein lykil á kontusíðu tíni og send hann sum bearer-tekn; at geva hann sum apikey-parametur virkar eisini, men ein lykil í fyrispurningsstrongi endar í ambætaraloggum og kagasøgu.

curl -X POST https://0wx.eu/api.cgi \
     -H 'Authorization: Bearer YOUR_KEY' \
     -d action=whoami

wget -qO- --header='Authorization: Bearer YOUR_KEY' \
     --post-data 'action=whoami' https://0wx.eu/api.cgi
Gerðir
actionParametrarLýsing
whoamiVáttar, at ein lykil virkar, og sigur frá verandi mørkum. Kostar einki; kalla hana fyrst.
ipSigur frá adressu tíni, PTR hennara, landinum, økinum og býnum, hon verður staðsett í, koordinatunum og user agent, tú sendi. Krevur ongan lykil og svarar eins við ella uttan. Við vilja smalari enn síðan á netinum: eingin WHOIS, eingin DNS-sona og eingin uppsláttur í spærilistum, so at kalla hana kostar ambætaranum bara ein lestur í lokalum dátugrunni.
uploadfile (kann endurtakast), resize, lifetime, gallery ella g *Leggur upp eina ella fleiri fílur. Má vera multipart/form-data. At nevna eitt myndasavn setur tær beinleiðis í tað og gevur id tess aftur.
tinyurlurl, lifetimeStyttir eina URL.
hugeurlurl, lifetimeLongir eina URL, uppyvir allan skil, við vilja.
pastecontent, lifetimeGoymir ein tekstblokk og gevur eitt leinki til hann aftur.
translatecontent, to, fromUmsetur tekst. to og from eru kodur úr gerðini langs — legg til merkis, at tær ikki altíð eru landskodur: danskt er da, ikki dk. from kann sleppast ella setast til auto, sum biður bakendan kenna málið; at seta tað gevur betri úrslit við stuttum teksti.
langsListar málini, sum translate tekur ímóti, sum supported_langs: ein lutur fyri hvørt mál, koda til navn, í tí raðfylgju, síðan bjóðar tey. Krevur ongan API-lykil.
dyndnskey, ip, formatDagførir eitt dynamiskt DNS-navn. Einasta gerðin, sum ikki krevur ein API-lykil: hon verður kallað av einum rútara, sum hevur eitt øki til eina URL og ongan máta at senda ein haus. key er dagføringarlykilin fyri hvørt navn, sum sæst á kontu tíni, ikki API-lykil tín. Slepp ip, so verður adressan, tú kallar frá, brúkt. Svarið er tað de facto dyndns2-orðið — good, nochg, badauth, abuse ella dnserr — sum reinur tekstur, tí tað er tað, rútarar tulka; legg format=json afturat fyri vanligt JSON.
listfiles *page, gListar fílur tínar við øllum, sum upplýsingarpanelurin vísir, umframt smámyndina og beinleiðis leinkið. g avmarkar til eitt myndasavn, ella none til fílur, sum ikki eru í nøkrum myndasavni.
listpastes *pageListar tekstir tínar, við eini 200-tekna forsýning av hvørjum í staðin fyri alt innihaldið.
listurls *pageListar stuttu og risastóru URL-ir tínar, við adressuni, sum hvør vísir til.
otl *shareGer eitt einnýtisleinki til eina av fílum tínum. Hvørt kall smíðar eitt nýtt, so at geva tveimum fólkum somu fílu gevur tvey leinki.
listotl *pageListar virknu einnýtisleinki tíni, fíluna, sum hvørt vísir til, og um hendan fílan síðani er útgingin.
listgalleries *Listar myndasøvn tíni við id, nøvnum, fílutalum og útgávustøðu.
gallery *g, publishSigur frá útgávustøðuni hjá einum myndasavni og broytir hana, tá publish verður givið.
move *share (kann endurtakast), gallery ella gFlytur fílur í eitt myndasavn, eftir navni (gjørt, um tað er nýtt) ella eftir id. Verða bæði sleppt, verða tær fluttar aftur í høvuðslistan.
delete *share (kann endurtakast), g, otl, withfilesStrikar fílur, tekstir, stuttar URL-ir, myndasøvn, einnýtisleinki ella hvørja blanding sum helst. Ein share verður fyrst samsvarað við fílur tínar og síðani við tekstir og leinki tíni, so tann kallandi nýtist ikki at skipa tey eftir slag. Einnýtisleinki fara í otl, fyri seg: at taka eitt leinki burtur má ikki kunna villast við at strika fíluna, sum tað vísir til.

* Hesar gerðirnar krevja ein API-lykil. Tær lesa ella broyta egnu dáta hjá eini kontu, so tað er eingin navnleysur háttur av teimum.

Fleiri í senn

share og g taka ímóti einum endurtiknum øki, einum JSON-array ella einum kommuskildum lista — tað, sum amboð tíni gera lættast. Tvífaldingar verða tagdar í hel.

curl -X POST https://0wx.eu/api.cgi -H 'Authorization: Bearer YOUR_KEY' \
     -d action=move -d share=Ab3xK9pQ -d share=Zz7yT2mN --data-urlencode 'gallery=Holiday 2026'

curl -X POST https://0wx.eu/api.cgi -H 'Authorization: Bearer YOUR_KEY' \
     -d action=delete -d 'share=Ab3xK9pQ,Zz7yT2mN'

curl -X POST https://0wx.eu/api.cgi -H 'Content-Type: application/json' \
     -H 'Authorization: Bearer YOUR_KEY' \
     -d '{"action":"move","share":["Ab3xK9pQ","Zz7yT2mN"],"g":7}'

wget -qO- --header='Authorization: Bearer YOUR_KEY' \
     --post-data 'action=delete&share=Ab3xK9pQ,Zz7yT2mN' https://0wx.eu/api.cgi
Myndasøvn

Hvar so eitt myndasavn verður nevnt — í upload ella í move — verður tað givið á somu tveimum máti: g fyri eitt verandi id, ella gallery fyri eitt navn, sum verður gjørt, um tað er nýtt. Verða bæði send, vinnur g. Svarið ber id hjá myndasavninum. Legg til merkis, at at strika eitt myndasavn tekur bara myndasavnið burtur og letur fílur tess verða í høvuðslistanum — øðrvísi enn oyðublaðið á netinum, sum strikar tær eftir at hava spurt. Send withfiles=true fyri at strika tær eisini: eitt skript, sum ruddar upp í bólkingum sínum, eigur ikki at missa upplegg av misgáum.

curl -X POST https://0wx.eu/api.cgi -H 'Authorization: Bearer YOUR_KEY' \
     -F action=upload -F file=@photo.jpg --form-string 'gallery=Holiday 2026'

curl -X POST https://0wx.eu/api.cgi -H 'Authorization: Bearer YOUR_KEY' \
     -d action=gallery -d g=7 -d publish=true

wget -qO- --header='Authorization: Bearer YOUR_KEY' \
     --post-data 'action=gallery&g=7&publish=true' https://0wx.eu/api.cgi
At leggja upp fílur

Upplegg kunnu ikki brúka JSON-innihaldið, tí ein fíla má sendast sum multipart. Endurtak partin file fyri at senda fleiri í senn. Hvør fíla verður send frá sær: svarið ber ein files-lista við teimum góðtiknu og ein rejected-lista við teimum avvístu, so ein partvís eydna er framvegis ein eydna.

curl -X POST https://0wx.eu/api.cgi \
     -H 'Authorization: Bearer YOUR_KEY' \
     -F action=upload \
     -F file=@photo.jpg \
     -F file=@notes.txt \
     -F lifetime=7d

Tað er eingin wget-háttur av hesum. wget kann ikki byggja eitt multipart/form-data-innihald — tað hevur einki, sum svarar til -F hjá curl — og upplegg mugu vera multipart. Brúka curl, ella set innihald og boundary saman sjálvur og send tað við --post-file.

Livitíð

Valfrítt í hvørjari gerð, sum goymir okkurt. Tekur ímóti berum sekundum, ella einum tali við m, h ella d aftaná — somu formar, sum oyðubløðini á netinum taka. Slepp tí ella send 0 fyri at varðveita lutin óavmarkað.

Svar

Hvørt svar er ein JSON-lutur við einum ok-øki. Tá tað eydnast, ber tað úrslitið; tá tað miseydnast, ber tað eina støðuga error-kodu og eina message, sum fólk kunnu lesa. Greina eftir koduni, logga boðini.

{"ok":true,"type":"paste","share":"Ab3xK9pQ",
 "url":"https://0wx.eu/p/Ab3xK9pQ","bytes":11}

{"ok":false,"error":"url_too_long",
 "message":"URL exceeds the maximum length."}
Ljóðmerki

Har ein fíla ber tey, leggur listfiles file_tags afturat skrásetingini: listafólk, heiti og album, lisin úr ID3, Vorbis-viðmerkingum ella MP4-atomum, tá fílan varð løgd upp. Lykilin er ikki til heldur enn null, tá einki er at siga frá, sum er so við teimum flestu fílunum, so kanna eftir honum, áðrenn tú lesur hann. Einstøk økir kunnu eisini mangla — ein fíla kann hava eitt heiti og einki album. Einki annað úr metadátum fílunnar verður víst: eitt iTunes-keyp skrásetir navn og Apple ID hjá keyparanum, og tey verða við vilja ongantíð lisin.

{"ok":true,"type":"files","total":2,"page":1,"pages":1,"files":[
  {"share":"Ab3xK9pQ","name":"autobahn.mp3","mime":"audio/mpeg",
   "bytes":8123456,"url":"https://0wx.eu/i/Ab3xK9pQ",
   "file_tags":{"artist":"Kraftwerk","title":"Autobahn","album":"Autobahn"}},
  {"share":"Zz7yT2mN","name":"photo.jpg","mime":"image/jpeg",
   "bytes":204800,"url":"https://0wx.eu/i/Zz7yT2mN"}
]}
Feilkodur
errorHTTPLýsing
unknown_action400Eingin slík gerð.
bad_json400Innihaldið var ikki gilt JSON, ella eitt øki hevði eina innlagda bygging.
unexpected_parameter400Ein parametur, sum hendan gerðin ikki tekur, kom fram — vanliga eitt ókodað & í einum virði. Boðini nevna parametrarnar.
bad_key401Lykilin varð ikki kendur aftur. Ein skeivur lykil verður avvístur heldur enn tigandi at verða roknaður sum navnleysur.
bad_url400URL-in er skeivt bygd, ella brúkar eitt annað skema enn http(s), ftp ella gopher.
bad_lifetime400Livitíðin var hvørki eitt tal ella eitt tal við m, h ella d aftaná.
no_content400Einki varð sent at goyma.
url_too_long413URL-in er longri enn markið.
paste_too_long413Teksturin er størri enn tekstmarkið. Mørk verða mált í UTF-8-bætum, so tekstur, sum ikki er latínskur, telur meira, enn teknatalið gevur ábending um.
too_many_files413Fleiri fílur, enn eitt kall tekur ímóti.
no_usable_files415Allar fílur vórðu avvístar. Hygg í listan rejected fyri at síggja hví.
backend_unavailable502Umsetingarbakendin svaraði ikki.
internal500Okkurt miseydnaðist óvæntað. Tað er loggað.
Mørk

Kalla whoami fyri at lesa verandi virði heldur enn at seta tey fast í koduna — tey verða sett av tí, sum rekur ambætaran, og kunnu broytast. Støddir eru UTF-8-bæt.

Ein skelviðskiftari

0wx.sh pakkar alt omanfyri inn. Tað er rein POSIX-skel, tørvar einki uttan curl, og er nóg stutt til at lesa, áðrenn tú koyrir tað — sum er tað rætta at gera við einum skripti, sum fer at halda API-lykil tín. Legg lykilin í OWX_KEY heldur enn at senda --key, so heldur hann seg uttan fyri skelsøgu tína.

wget https://0wx.eu/clients/0wx.sh
chmod +x 0wx.sh
export OWX_KEY=YOUR_KEY
./0wx.sh help
./0wx.sh paste --content 'hello & world'
Ein Python-viðskiftari

0wx.py ger tað sama sum skelviðskiftarin, men tulkar svarið og prentar, hvat økini merkja, heldur enn at rætta tær rátt JSON — legg --json afturat, tá tú vilt hava ráa formin aftur. Bara standardsavnið: einki requests, einki at leggja inn. Um tú skrivar tín egna viðskiftara, eru funktiónirnar send() og report() tað, sum er vert at lesa: saman vísa tær, hvussu fyrispurningurin verður bygdur, hvussu boðini verða tikin úr einum miseydnaðum, og hvat svørini innihalda.

wget https://0wx.eu/clients/0wx.py
chmod +x 0wx.py
export OWX_KEY=YOUR_KEY
./0wx.py listfiles
./0wx.py listfiles --json | jq '.files[].url'
Ein Perl-viðskiftari

0wx.pl ger tað sama sum Python-viðskiftarin og prentar tað sama. Bara kjarnumodular — HTTP::Tiny og JSON::PP hava fylgt við Perl síðani 5.14, so einki er at leggja inn. Vert at lesa saman við Python-viðskiftaranum, um tú skrivar tín egna: bæði málini miseydnast ymiskt við einum brotnum fyrispurningi, og bæði skriptini siga hvar.

wget https://0wx.eu/clients/0wx.pl
chmod +x 0wx.pl
export OWX_KEY=YOUR_KEY
./0wx.pl listfiles
Ein PowerShell-viðskiftari

0wx.ps1 er mótstykkið til Python-viðskiftaran fyri Windows: somu boð, sama úttak, og hann tulkar svarið heldur enn at rætta tær rátt JSON — legg --json afturat fyri tað. Hann er skrivaður til tann Windows PowerShell, sum longu er á maskinuni, so einki er at leggja inn, og hann koyrir óbroyttur á PowerShell 7. Tú kanst tørva Set-ExecutionPolicy -Scope Process Bypass í glugganum, tú koyrir hann úr; tað er Windows, sum spyr, um tú veruliga ætlaði at koyra eitt skript, tú tókst niður — ein rímiligur spurningur, og fílan er nóg stutt til at lesa fyrst.

$env:OWX_KEY = 'YOUR_KEY'
.\0wx.ps1 listfiles
.\0wx.ps1 paste --content 'hello & world'
.\0wx.ps1 upload --file .\holiday.jpg --gallery 'Holiday 2026'
Ein gluggi í kaga tínum

0wx.html er sama sett av teigum sum skriviborðsviðskiftarin, sum tríggjar fílur — ein síða, eitt stílark og eitt skript — uttan innlegging, uttan karm, og einki verður lisið inn nakrastaðni frá uttan hesari síðuni. Tríggjar heldur enn eina, tí Content-Security-Policy hjá síðuni bannar innlagt skript og stíl, sum er vert at varðveita. Fílur kunnu sleppast á hana. Hon má latast upp hiðani heldur enn at goymast og latast upp frá diski tínum: API-in sendir ongar cross-origin-hausar, so ein lokal avrit hevði fingið hvønn fyrispurning avvístan av kaga tínum, áðrenn hann fór avstað. Lykilin verður hildin í minninum, uttan so at tú krossar av fyri at minnast hann.

https://0wx.eu/clients/0wx.html
Ein gluggi á Windows

0wx-gui.ps1 er sama sett av teigum sum skriviborðsviðskiftarin, teknað við WinForms — sum merkir als einki at leggja inn, tí tað er longu ein partur av Windows. Legg hann í somu mappu sum 0wx.ps1: gluggin lænir fyrispurningsviðgerðina hjá teirri fíluni heldur enn at bera eina aðru avrit, so báðar eru neyðugar. Windows fer at spyrja, áðrenn tað koyrir eitt skript, tað ikki sjálvt skrivaði, sum er ein rímiligur spurningur; báðar fílurnar eru nóg stuttar til at lesa, áðrenn tú svarar.

powershell -ExecutionPolicy Bypass -File .\0wx-gui.ps1
Ein gluggi á Linux við GTK

0wx-gtk.pl er ein lítil GTK-gluggi við teigum til at leggja upp, seta inn, stytta og bláða í fílum tínum — sum listi ella sum myndasavn av smámyndum, sílað eftir myndasavni. Tað er einasti viðskiftarin her, sum tørvar okkurt innlagt — GTK3-bindingarnar hjá Perl — sum er vert at vita saman við Windows-glugganum omanfyri, sum tørvar als einki. Alt annað, hann brúkar, fylgir við Perl. Lykilin verður bara hildin í minninum: at lata gluggan aftur gloymir hann, og at seta OWX_KEY fyllir hann út, tá byrjað verður. Hvat hann so vísir tær, er ráa svarið frá ambætaranum eitt trýst burtur undir “Server reply”.

apt install libgtk3-perl        # or: dnf install perl-Gtk3
wget https://0wx.eu/clients/0wx-gtk.pl
chmod +x 0wx-gtk.pl
OWX_KEY=YOUR_KEY ./0wx-gtk.pl
Ein Android-app

0wx-android.apk ger tað, sum hinir viðskiftararnir gera, frá einari telefon: leggja upp, seta inn, stytta, umseta og bláða í fílum tínum sum listi ella myndasavn. At deila eina fílu til hana úr hvørjari aðrari app sum helst leggur hana upp, og at deila tekst goymir hann sum tekst. Hon er ikki í nakrari app-handil, so eind tín fer at spyrja, um tú loyvir at leggja hana inn — ein spurningur, sum sum heild er vert at taka í álvara, og orsøkin til, at alt keldukoduna eisini er her: lat hana upp í Android Studio og bygg hana sjálvur heldur enn at líta á fíluna. At byggja krevur JDK 21; BUILDING.md inni í sigur hví.

https://0wx.eu/clients/0wx-android.apk        # install it
https://0wx.eu/clients/0wx-android.zip        # build it yourself
Viðmerkingar

Við vilja er eingin gerð at heinta fjart. Hon hevði fingið ambætaran at heinta eina URL, sum tann kallandi vel, og tað er ein atsóknarflati fyri fyrispurningsfalsking, og eitt skript kann koyra tað nógv harðari enn eitt oyðublað. Legg heldur fíluna upp sjálvur.


(p) 2018 0wx.eu -/- Koyrt við Linux og GNU. Live free or die! (root@0wx.eu)