let pubkey = `-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBGjsLnUBEACojuT/FnN4vRC4Hfh80nBDRE87XjjKYV3Fd5AnKSfx8+2OayDa 8EhDjZOqb2Y1jdNahjD4cJKwOrcBNOODMiA5TucmkRyBjQEHi4EQe8yNG1pBCh1f vTVZelYs+fcsD04zr7RA07lTa0WCSkZ18gQWYWqf/BDfMHHuG0pWkxKRbdVPoTg2 NEjYUK1XkuyeMGzYS/sNNGbvIKpumK9vnJpiubnCL8ZlR5ljOoCVPLyFKk9NGO3m 5T/9wjDERCjh1eI/L5E858O/85CVpMm3mIBigbZmwYUSoaMivSqpKXBsPIeX4FWc JibDBlszmrcYKWb7Al+6UZs6CLDTQ7+LFLDsggCBgDgKfdghpNlOF4pr9P6ltN0c R0sXSQN2wvtABfZ+J8IScEw9Y9lG/deUG6JPq5A3jb0SFccx1fTavTt5chImifdu Vvdyfom1AZIILmfdWaorDtGwZohRP06bw2EnrD27CxM6WBS1bzhqM8m3swxMKb0u EuUfO61tpUK1DA98cTx6jTRdcq1Cq03s1jR38ld3gkUlGznaTorYUkVwA2XQjJjw zheriDRJzbBR0ymMNdqc+0Li6/gq+NbeCufUtPMYW45vJWOiY5HD/G+Sb5ZgoHKY wNzhql3NSxZjL3j+CBp0ox3im6fxfXuo2YvLQLCMeJT/6DxbTbWNj0FTEQARAQAB tBtDZXJlcyA8Y2VyZXNAY2VyZXNzZWVzLmRldj6JA6YEEwEIAZACGwMFCwkIBwIC IgIGFQoJCAsCBBYCAwECHgcCF4AWIQTZeLrh4iQIfmP4MuMgmcSqLrzAnAUCaO0J XLQUgAAAAAAQAJtwcm9vZkBhcmlhZG5lLmlkbWF0cml4OnUvY2F0cHB1Y2Npbi1t b2NoYS1vZmZpY2lhbDpsaW51eHBvc3RpbmcueHl6P29yZy5rZXlveGlkZS5yPWRC ZlFaeENvR1ZtU1R1amZpdjptYXRyaXgub3JnJm9yZy5rZXlveGlkZS5lPVBNZlpo NG13ZzhhbFhDMnp2U0tQRTRBOW5UWVJVeEhtRGlTcE1sSFZkV1kzFIAAAAAAEAAa cHJvb2ZAYXJpYWRuZS5pZGRuczpjZXJlc3NlZXMuZGV2P3R5cGU9VFhUGxSAAAAA AAQADm1hbnUyLDIuNSsxLjExLDIsMk8UgAAAAAAQADZwcm9vZkBhcmlhZG5lLmlk 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 rRVj04/uQmY6Cf8= =sLy5 -----END PGP PUBLIC KEY BLOCK-----`; $('body').terminal({ help: function() { this.echo("Some commands to get you started:\n" + "• about: show about info\n" + "• services: links to all the services i host, run 'services help' to get a full list\n" + `• search: search the internet using my searxng, run 'search ""'\n`+ "• pgp: import my pgp public key\n" + "• meow: mrow\n" + "\n " + "\n" + "...Thats it for now, sorgy"); }, about: function() { this.echo(`Hi! I'm Ceres o/ \n \nI'm a uni student studying astrophyics, and have a large interest in anything linux related I help moderate the linuxposting community across its many locations, including hosting our tilde and a few other services, and I'm a (occasionally active) contributer to the gentoo and guru package repositories \n​\n​\n​\n(P.S.) [[;#f5c2e7;]I really am watching you :3]`); }, services: function(arg) { if (arg === 'Audiobookshelf' || arg === 'audiobookshelf') { open('https://audio.ceressees.dev', '_self') } else if (arg === 'Cinny' || arg === 'cinny') { open('https://cinny.ceressees.dev', '_self') } else if (arg === 'Element' || arg === 'element') { open('https://element.ceressees.dev', '_self') } else if (arg === 'Forgejo' || arg === 'forgejo') { open('https://git.ceressees.dev', '_self') } else if (arg === 'Immich' || arg === 'immich') { open('https://audio.ceressees.dev', '_self') } else if (arg === 'Jellyfin' || arg === 'jellyfin') { open('https://movies.ceressees.dev', '_self') } else if (arg === 'Komodo' || arg === 'komodo') { open('https://server.ceressees.dev', '_self') } else if (arg === 'Lidarr' || arg === 'lidarr') { open('https://lidarr.ceressees.dev', '_self') } else if (arg === 'Navidrome' || arg === 'navidrome') { open('https://music.ceressees.dev', '_self') } else if (arg === 'Outline' || arg === 'outline') { open('https://info.ceressees.dev', '_self') } else if (arg === 'Paperless' || arg === 'paperless') { open('https://docs.ceressees.dev', '_self') } else if (arg === 'Piped' || arg === 'piped') { open('https://yt.ceressees.dev', '_self') } else if (arg === 'Radarr' || arg === 'radarr') { open('https://radarr.ceressees.dev', '_self') } else if (arg === 'Searxng' || arg === 'searxng') { open('https://search.ceressees.dev', '_self') } else if (arg === 'Soulseek' || arg === 'soulseek') { open('https://slsk.ceressees.dev', '_self') } else if (arg === 'Sonarr' || arg === 'sonarr') { open('https://sonarr.ceressees.dev', '_self') } else { this.echo("List of services I host. Services marked with a * are public, so you can use them too!\n" + "Run 'services ' to launch the specified option!" + "\n​\n•Audiobookshelf\n" + "*Cinny\n" + "*Element\n" + "*Forgejo\n" + "•Immich\n" + "•Jellyfin\n" + "•Komodo\n" + "•Lidarr\n" + "•Navidrome\n" + "•Outline\n" + "•Paperless\n" + "*Piped\n" + "•Radarr\n" + "*Searxng\n" + "•Soulseek\n" + "•Sonarr") } }, pgp: function(arg) { if (arg === 'copy') { navigator.clipboard.writeText(pubkey) } else if (arg === 'download') { open('assets/ceres.asc') } else { this.echo("Get my pgp public key. Either copy to the clipboard with 'pgp copy' or download with pgp download") } }, meow: function() { let meows = ['meow', 'mrrrp', 'mrow', 'mrreow', 'miao', 'mraa'] let random = Math.floor(Math.random() * meows.length); this.echo(meows[random]) }, search: function(query) { let uri = "https://search.ceressees.dev/search?q="+query; let encodedUri = encodeURI(uri); open(encodedUri, '_self') } }, { greetings: "[[; #f5c2e7;]" + "▄▖ ▄▖ ▄▖▜ ▜\n" + "▌ █▌▛▘█▌▛▘▄▖▚ █▌█▌▛▘▄▖▌▌▐ ▐ \n" + "▙▖▙▖▌ ▙▖▄▌ ▄▌▙▖▙▖▄▌ ▛▌▐▖▐▖\n" + "I'm watching you...]\n" + "Run 'help' to get started", prompt: "[[;#f5c2e7;]:3] > ", });