summaryrefslogtreecommitdiffstats
path: root/server/api/ipxe.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/api/ipxe.js')
-rw-r--r--server/api/ipxe.js62
1 files changed, 17 insertions, 45 deletions
diff --git a/server/api/ipxe.js b/server/api/ipxe.js
index 2d776bf..bed61a1 100644
--- a/server/api/ipxe.js
+++ b/server/api/ipxe.js
@@ -1,8 +1,10 @@
/* global __appdir */
var path = require('path')
+const fs = require('fs')
var shell = require(path.join(__appdir, 'lib', 'shell'))
var express = require('express')
var router = express.Router()
+var noAuthRouter = express.Router()
// GET requests.
@@ -15,50 +17,20 @@ router.get('/build', (req, res) => {
module.exports.router = router
-module.exports.get = {
- loadScript: function (req, res) {
- res.setHeader('content-type', 'text/plain')
- res.status(200).send(`#!ipxe
-dhcp
-
-:start
-menu Please choose a webserver to load the ipxe menu:
-item pxelnx PxeLinux
-item c32boot C32Boot
-item exit Exit
-item exit0 Exit0
-item exit1 Exit1
-item sh [Shell]
-choose target && goto \${target}
+noAuthRouter.get('/load/script', (req, res) => {
+ res.setHeader('content-type', 'text/plain')
+ fs.readFile(path.join(__appdir, 'ipxe', 'exitTestScript.ipxe'), 'utf-8', function (err, content) {
+ if (err) res.end()
+ res.send(content)
+ })
+})
-:exit
-exit
-:exit0
-exit 0
-:exit1
-exit 1
-:pxelnx
-# set 210:string https://bas.stfu-kthx.net:8888/
-# chain \${210:string}pxelinux.0 || goto start
-# chain https://bas.stfu-kthx.net:8888/pxelinux.0
-# set next-server bas-stfu-kthx.net:8888
-# set 209:string https://bas.stfu-kthx.net:8888/pxelinux.cfg
-# imgload pxelinux.0
-set net0/next-server 192.52.3.91 ||
-set netX/next-server 192.52.3.91 ||
-set next-server 192.52.3.91 ||
-# set 209:string pxelinux.cfg/default
-# set 210:string bas.stfu-kthx.net
-# shell ||
-boot tftp://bas.stfu-kthx.net/pxelinux.0 || goto start
-:c32boot
-set net0/next-server 192.52.3.91 ||
-set netX/next-server 192.52.3.91 ||
-set next-server 192.52.3.91 ||
-boot tftp://bas.stfu-kthx.net/chain.c32 || goto start
+noAuthRouter.get('/load/registration', (req, res) => {
+ res.setHeader('content-type', 'text/plain')
+ fs.readFile(path.join(__appdir, 'ipxe', 'registration.ipxe'), 'utf-8', function (err, content) {
+ if (err) res.end()
+ res.send(content)
+ })
+})
-:sh
-shell
-goto start`)
- }
-}
+module.exports.noAuthRouter = noAuthRouter