diff --git a/poc/examples/eval.pow b/poc/examples/eval.pow new file mode 100644 index 0000000..15fddb4 --- /dev/null +++ b/poc/examples/eval.pow @@ -0,0 +1,19 @@ +#!/bin/bash + +# +# Copyright 2019 Banco Bilbao Vizcaya Argentaria, S.A. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +kroute add -X POST '/eval' -c '$($(request /body) | response /stream)' diff --git a/poc/examples/nmap.pow b/poc/examples/nmap.pow new file mode 100644 index 0000000..6f2b832 --- /dev/null +++ b/poc/examples/nmap.pow @@ -0,0 +1,19 @@ +#!/bin/bash + +# +# Copyright 2019 Banco Bilbao Vizcaya Argentaria, S.A. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +kroute add -X POST '/list/{ip}' -c 'nmap -sL $(request /match/ip) | response /body' diff --git a/poc/examples/operator.pow b/poc/examples/operator.pow index 8cd8497..6e86640 100755 --- a/poc/examples/operator.pow +++ b/poc/examples/operator.pow @@ -16,26 +16,26 @@ # limitations under the License. # -kroute add '/list/files' -c 'ls -la $(request /param/path) | response /body' +kroute add /list/files -c 'ls -la $(request /param/path) | response /body' -kroute add '/list/processes' -c 'ps -aux | response /body' +kroute add /list/processes -c 'ps -aux | response /body' -kroute add '/show/cpuinfo' -c 'response /body < /proc/cpuinfo' +kroute add /show/cpuinfo -c 'response /body < /proc/cpuinfo' -kroute add '/show/memory' -c 'free -m | response /body' +kroute add /show/memory -c 'free -m | response /body' -kroute add '/show/disk' -c 'df -h | response /body' +kroute add /show/disk -c 'df -h | response /body' -kroute add '/show/connections' -c 'ss -pluton | response /body' +kroute add /show/connections -c 'ss -pluton | response /body' -kroute add '/show/mounts' -c 'mount | response /body' +kroute add /show/mounts -c 'mount | response /body' -kroute add '/tail/dmesg' - <<-'EOF' +kroute add /tail/dmesg - <<-'EOF' response /header/Content-Type text/plain dmesg -w | response /stream EOF -kroute add '/tail/journal' - <<-'EOF' +kroute add /tail/journal - <<-'EOF' response /header/Content-Type text/plain journalctl -f | response /stream EOF diff --git a/poc/examples/torrent.pow b/poc/examples/torrent.pow new file mode 100644 index 0000000..b6b4a39 --- /dev/null +++ b/poc/examples/torrent.pow @@ -0,0 +1,43 @@ +#!/bin/bash + +# +# Copyright 2019 Banco Bilbao Vizcaya Argentaria, S.A. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +kroute add / - <<-'EOF' + response /header/Content-Type text/html + response /body <<-HTML + + + Add me to your bookmarks! + + + HTML +EOF + +kroute add /save/magnet -e '/bin/bash -c' - <<-'EOF' + link=$(request /param/link) + [ -z $link ] && response /status 400 && exit 0 + + watch_folder=/tmp + cd $watch_folder + [[ "$link" =~ xt=urn:btih:([^&/]+) ]] || exit; + echo "d10:magnet-uri${#link}:${link}e" > "meta-${BASH_REMATCH[1]}.torrent" + + response /status 302 + response /header/Location /torrent/list +EOF + +kroute add /torrent/list -c 'response /body "Not Implemented Yet"'