free software resistance

 the cost of computing freedom is eternal vigilance

### cklinks.fig *originally posted:* oct 2024 this program may be buggy, code was just added to try to add the path from the file containing the link to the link, if it doesnt have one. this checks all the text files from the path (recursively) for lines with gemini links to local files, then checks for broken links. ``` links "find . -type f -exec grep -H '^=>' {} + | grep -v ':=> http'" arrshell forin each links try filep split each ":" mid 1 1 urlp split each ":=> " mid 2 1 split urlp " " mid 1 1 extplen split filep "/" len minus 1 ckfilep instr filep "/" iftrue ckfilep ckurlp urlp left 2 ifequal ckurlp "./" urlplen urlp len minus 2 urlpr urlp right urlplen next extp split filep "/" left extplen join extp "/" plus "/" now extp plus urlp swap now urlp extpextp extp plus extp now split urlp extpextp join now extp swap now urlp now split urlp "//" join now "/" swap now urlp next # now filep plus "|" plus urlp print p arropen urlp except p each print next next # license: 0-clause bsd # # 2024 mn # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ``` license: 0-clause bsd ``` # 2018, 2019, 2020, 2021, 2022, 2023, 2024 # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ``` => https://freesoftwareresistance.neocities.org