blob: 906060fae7736a316f1450707c30db19bd9f696e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
apiVersion: v1
kind: ConfigMap
metadata:
name: hastebin-init
data:
monkeypatch_extensions.sh: |
#!/bin/bash
ORIGINAL="file += '\.' + _this.lookupExtensionByType(ret\.language);"
PATCHED="\/\/file += '\.' + _this.lookupExtensionByType(ret\.language);"
FILENAME="static/application.js"
touch changed
sed -i "s/$ORIGINAL/$PATCHED/w changed" "$FILENAME"
init.sh: |
#!/bin/bash
# Clone the repo
git clone https://github.com/toptal/haste-server.git
cd haste-server
# Monkey patch - don't add extensions to the URLs.
#
# This is a pretty messy monkey patch, and it may break if the hastebin
# JS code changes significantly. It makes the URL display as "file"
# instead of "file.py" when you save a file, which makes it possible
# to share the URL without triggering Discord's suspicious URL filter.
cp /init/monkeypatch_extensions.sh ./monkeypatch_extensions.sh
chmod +x monkeypatch_extensions.sh
./monkeypatch_extensions.sh
# Check if monkeypatch succeeded. Otherwise, fail hard.
if [ -s changed ]; then
echo "Monkey patch executed: Hastebin will no longer add extensions to URLs."
else
echo "Monkey patch for not adding extension could not be performed. Maybe the hastebin code has changed?"
exit 69
fi
# Install and start
npm install
set -e
# Generate the config file from the environment
node docker-entrypoint.js > config.js
# Start Hastebin
npm start
|