Skip to content

Instantly share code, notes, and snippets.

@coderofsalvation
Last active November 13, 2025 06:42
Show Gist options
  • Select an option

  • Save coderofsalvation/db257f0b403f2f4f2a5825339ffd7dbf to your computer and use it in GitHub Desktop.

Select an option

Save coderofsalvation/db257f0b403f2f4f2a5825339ffd7dbf to your computer and use it in GitHub Desktop.
janusxr link checker shellscript startingpoint (for CI automation etc)

Example Usage

$ ./janusxr_linkcheck  https://janusvr.com/newlobby/index.html
✅ http://www.janusvr.com/newlobby/objects/blendshapes/A4.obj.gz
✅ http://www.janusvr.com/newlobby/room/skyscr.dae
✅ http://www.janusvr.com/newlobby/room/V1L/waterwheel.dae.gz
✅ http://www.janusvr.com/newlobby/objects/pittvscreen.obj.gz
✅ http://www.janusvr.com/newlobby/terrain/lowpoly/lowpoly.dae.gz
✅ http://www.janusvr.com/newlobby/terrain/lowpolyL/lowpolyL.dae.gz
✅ http://www.janusvr.com/newlobby/objects/screenbegin.obj
✅ https://demos.janusvr.com/spyduck/newlobby/CenterWater.dae.gz
✅ http://www.janusvr.com/newlobby/room/collision.obj.gz
✅ https://demos.janusvr.com/spyduck/newlobby/mainroom.dae.gz
✅ https://demos.janusvr.com/spyduck/newlobby/V1L.dae.gz
✅ https://demos.janusvr.com/spyduck/newlobby/V1S.dae.gz
✅ http://www.janusvr.com/newlobby/room/V1G/V1G.dae.gz
✅ http://demos.janusvr.com/spyduck/newlobby/V1Green.dae.gz
✅ https://demos.janusvr.com/spyduck/newlobby/waterplane.obj
✅ http://www.janusvr.com/newlobby/objects/blendshapes/A2.obj.gz
✅ http://www.janusvr.com/newlobby/objects/screencreate.obj
✅ http://www.janusvr.com/newlobby/terrain/trees/silverfir.dae.gz
✅ http://www.janusvr.com/newlobby/terrain/trees/pinetree.dae.gz
✅ http://www.janusvr.com/newlobby/thumbthings/1.png
✅ http://www.janusvr.com/newlobby/thumbthings/2.png
✅ http://www.janusvr.com/newlobby/thumbthings/3.png
✅ https://demos.janusvr.com/spyduck/newlobby/thumbthings/4.png
✅ http://www.janusvr.com/newlobby/thumbthings/5.png
✅ http://www.janusvr.com/newlobby/thumbthings/6.png
✅ http://www.janusvr.com/newlobby/thumbthings/7.png
✅ http://www.janusvr.com/newlobby/thumbthings/8.png
✅ http://www.janusvr.com/newlobby/thumbthings/9.png
✅ https://demos.janusvr.com/spyduck/newlobby/thumbthings/10.png
✅ http://www.janusvr.com/newlobby/images/screen6f.png
✅ http://www.janusvr.com/newlobby/images/windmill2.png
✅ http://www.janusvr.com/newlobby/images/fire.gif
✅ http://www.janusvr.com/newlobby/objects/blendshapes/explore.png
✅ http://www.janusvr.com/newlobby/thumbs/door.jpg
✅ http://www.janusvr.com/newlobby/thumbs/door1.png
✅ http://www.janusvr.com/newlobby/thumbs/door2.png
✅ http://www.janusvr.com/newlobby/thumbs/door3.png
✅ http://www.janusvr.com/newlobby/thumbs/door4.png
✅ http://www.janusvr.com/newlobby/thumbs/door5.png
✅ http://www.janusvr.com/newlobby/thumbs/door6.png
✅ http://www.janusvr.com/newlobby/thumbs/door7.png
✅ http://www.janusvr.com/newlobby/thumbs/door8.png
✅ http://www.janusvr.com/newlobby/thumbs/door9.png
✅ http://www.janusvr.com/newlobby/thumbs/door10.png
✅ http://www.janusvr.com/newlobby/thumbs/door11.png
✅ http://www.janusvr.com/newlobby/thumbs/door12.png
✅ http://www.janusvr.com/newlobby/thumbs/door13.png
✅ http://www.janusvr.com/newlobby/thumbs/door14.png
✅ http://www.janusvr.com/newlobby/images/water2.png
✅ http://www.janusvr.com/newlobby/thumbs/community.png
✅ http://www.janusvr.com/newlobby/thumbs/blank.png
✅ http://www.janusvr.com/newlobby/images/water3.png
✅ http://www.janusvr.com/newlobby/images/skybox/dds/trisIrRad.dds
✅ http://www.janusvr.com/newlobby/images/skybox/dds/LobbyRadience.dds
✅ http://www.janusvr.com/newlobby/thumbs/blank.png
✅ http://www.janusvr.com/newlobby/thumbs/wikiverse.png
✅ http://www.janusvr.com/newlobby/images/guide-02.png
✅ http://www.janusvr.com/newlobby/images/communityshowcase.jpg
✅ http://www.janusvr.com/newlobby/images/skybox/pano_l.jpg
✅ http://www.janusvr.com/newlobby/images/skybox/pano_r.jpg
✅ http://www.janusvr.com/newlobby/images/skybox/pano_u.jpg
✅ http://www.janusvr.com/newlobby/images/skybox/pano_f.jpg
✅ http://www.janusvr.com/newlobby/images/skybox/pano_b.jpg
✅ http://www.janusvr.com/newlobby/images/windmill1.png
✅ http://www.janusvr.com/newlobby/images/smoke_white.png
✅ http://www.janusvr.com/newlobby/thumbs/vrsites.png
✅ http://www.janusvr.com/newlobby/images/guide-01.png
✅ http://www.janusvr.com/newlobby/images/minute.png
✅ https://demos.janusvr.com/spyduck/newlobby/sushi.js
✅ http://www.janusvr.com/newlobby/scripts/home.txt
✅ http://www.janusvr.com/newlobby/sound/water.wav.gz
✅ https://janusvr.com/docs/build/general/index.html
✅ https://janusvr.com/docs/learn/general/index.html
✅ https://vesta.janusvr.com/janus-server/
✅ https://jvr.junkonet.org/
✅ http://reddit.com/r/vrsites/
✅ http://dizzket.com/wikiverse/
✅ http://dizzket.com/other/placeholder/jancredits/index.html
✅ http://janusvr.thevirtualarts.com/random1.php
❌ portal1
✅ https://vesta.janusvr.com/nostrenz/gensokyo
✅ https://simsora13.github.io/janusvr/room/lobby/ben4.html
✅ http://www.minervavr.com
✅ http://www.danieldmeeks.com/a-10
✅ https://spyduck.neocities.org/
❌ http://www.techn0shaman.one/
✅ http://timigi.com
✅ http://vrsites.com/hub1/
✅ https://vesta.janusvr.com/nazrin/minecraft-sandbox

#!/bin/sh
test -n "$1" || { echo "Usage: ./janusxr_linkcheck.sh <url>"; exit 0; }
agent=$(basename $(which curl || which wget))
if test $agent = curl; then $agent "$1" -s > /tmp/out.html; fi
if test $agent = wget; then $agent "$1" -O /tmp/out.html; fi
for attr in src url; do
grep -E ${attr}= /tmp/out.html | sed 's|.*'$attr'="||g;s|".*||g';
done | while read url; do
curl -I "$url" &>/dev/null && printf "✅ $url\n" || printf "❌ $url\n";
done
@coderofsalvation
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment