├── README.md ├── etc ├── terminfo │ ├── a │ │ └── ansi │ ├── d │ │ └── dumb │ ├── l │ │ └── linux │ ├── r │ │ ├── rxvt │ │ └── rxvt-unicode │ ├── s │ │ ├── screen │ │ └── sun │ ├── v │ │ ├── vt100 │ │ ├── vt102 │ │ ├── vt200 │ │ ├── vt220 │ │ └── vt52 │ └── x │ │ ├── xterm │ │ ├── xterm-color │ │ └── xterm-xfree86 └── torrc ├── home └── steam │ ├── .bashrc │ ├── .inputrc │ └── .profile └── usr └── local ├── bin ├── bash ├── htop ├── nano ├── tmux └── vim ├── lib ├── libevent-2.0.so.5.1.9 ├── libncursesw.so.5.9 └── libtinfo.so.5.9 └── sbin ├── ethtool └── tor /README.md: -------------------------------------------------------------------------------- 1 | ![screenshot of htop running on tmux+bash in ssh client](https://cloud.githubusercontent.com/assets/1160582/21764312/b1fbc84a-d662-11e6-931d-b3b674470019.png) 2 | 3 | Binaries included in this repository 4 | ==================================== 5 | 6 | * htop-2.0.2 (https://hisham.hm/htop/) 7 | * bash-4.4 (https://www.gnu.org/software/bash/) 8 | * ethtool-4.8 (http://sourceforge.net/projects/gkernel/) 9 | * tmux-1.9-6 (https://github.com/ThomasAdam/tmux, http://tmux.sf.net) 10 | * tor-0.3.0.1-alpha (https://www.torproject.org/) 11 | * "vim" wrapper for busybox 12 | * nano-2.7.4 (https://www.nano-editor.org/) 13 | * ... (missing some nice commandline utility? create Issue) 14 | 15 | Libraries included for some binaries 16 | ---------------------------------- 17 | 18 | * libncursesw-5.9 (needed for htop&nano, http://invisible-island.net/ncurses/) 19 | * libtinfo-5.9 (needed for htop&tmux, https://www.gnu.org/software/ncurses/) 20 | * libevent (needed for tmux, http://www.monkey.org/~provos/libevent/) 21 | 22 | Installation instructions 23 | ========================= 24 | 25 | Just copy files via scp: 26 | ``` scp -r etc usr root@> /etc/resolv.conf 47 | 48 | #make sure network time isn't 1970 49 | ln -s /etc/ntpd.conf /etc/ntp.conf >/dev/null 2>&1 50 | ntpd -q 51 | 52 | nice -n 10 /usr/local/sbin/tor -f /etc/torrc >/tmp/tor.log 2>&1 & 53 | ``` 54 | 55 | Please note that steamlink only has about 200MB of RAM available which isn't enough to run Tor as relay/bridge, 56 | memory usage in this case might cause your device to run out of memory (proxy client should be fine - steamlink can run at roughly ~20Mbit speeds). 57 | 58 | Known issues 59 | ============ 60 | 61 | If you get linking problems with external libraries please run ```ldconfig``` in your ssh shell. 62 | 63 | If something else doesn't work, please file a issue report. 64 | 65 | LICENSING WARNING 66 | ================= 67 | 68 | Please note that this distro uses third-party compiled (debian, ubuntu or my own) software distributed in binary form. 69 | For licensing, please refer to each package listed above. I haven't done any modifications to source code, 70 | merely crosscompiled it (if that). Feel free to distrust this repository and choose not to use it in any way. 71 | I could have provided build scripts that would build it from source from original repos, but I'm too lazy for that. 72 | Hence don't use this for things other than personal use and don't binaries further (or you are just as lazy as me). 73 | 74 | I provide no warranties, no liability to the fullest extent of the law. FSF & RMS please don't sue me. 75 | -------------------------------------------------------------------------------- /etc/terminfo/a/ansi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/a/ansi -------------------------------------------------------------------------------- /etc/terminfo/d/dumb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/d/dumb -------------------------------------------------------------------------------- /etc/terminfo/l/linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/l/linux -------------------------------------------------------------------------------- /etc/terminfo/r/rxvt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/r/rxvt -------------------------------------------------------------------------------- /etc/terminfo/r/rxvt-unicode: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/r/rxvt-unicode -------------------------------------------------------------------------------- /etc/terminfo/s/screen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/s/screen -------------------------------------------------------------------------------- /etc/terminfo/s/sun: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/s/sun -------------------------------------------------------------------------------- /etc/terminfo/v/vt100: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/v/vt100 -------------------------------------------------------------------------------- /etc/terminfo/v/vt102: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/v/vt102 -------------------------------------------------------------------------------- /etc/terminfo/v/vt200: -------------------------------------------------------------------------------- 1 | vt220 -------------------------------------------------------------------------------- /etc/terminfo/v/vt220: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/v/vt220 -------------------------------------------------------------------------------- /etc/terminfo/v/vt52: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/v/vt52 -------------------------------------------------------------------------------- /etc/terminfo/x/xterm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/x/xterm -------------------------------------------------------------------------------- /etc/terminfo/x/xterm-color: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/x/xterm-color -------------------------------------------------------------------------------- /etc/terminfo/x/xterm-xfree86: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/etc/terminfo/x/xterm-xfree86 -------------------------------------------------------------------------------- /etc/torrc: -------------------------------------------------------------------------------- 1 | ## Tor opens a socks proxy on port 9050 by default -- even if you don't 2 | ## configure one below. Set "SocksPort 0" if you plan to run Tor only 3 | ## as a relay, and not make any local application connections yourself. 4 | #SocksPort 9050 # Default: Bind to localhost:9050 for local connections. 5 | #SocksPort 192.168.0.1:9100 # Bind to this address:port too. 6 | 7 | SocksPort 192.168.0.113:9050 8 | 9 | #MaxMemInQueues 64M 10 | 11 | ## Entry policies to allow/deny SOCKS requests based on IP address. 12 | ## First entry that matches wins. If no SocksPolicy is set, we accept 13 | ## all (and only) requests that reach a SocksPort. Untrusted users who 14 | ## can access your SocksPort may be able to learn about the connections 15 | ## you make. 16 | #SocksPolicy accept 192.168.0.0/16 17 | #SocksPolicy reject * 18 | 19 | ## Logs go to stdout at level "notice" unless redirected by something 20 | ## else, like one of the below lines. You can have as many Log lines as 21 | ## you want. 22 | ## 23 | ## We advise using "notice" in most cases, since anything more verbose 24 | ## may provide sensitive information to an attacker who obtains the logs. 25 | ## 26 | ## Send all messages of level 'notice' or higher to /usr/var/log/tor/notices.log 27 | #Log notice file /usr/var/log/tor/notices.log 28 | ## Send every possible message to /usr/var/log/tor/debug.log 29 | #Log debug file /usr/var/log/tor/debug.log 30 | ## Use the system log instead of Tor's logfiles 31 | #Log notice syslog 32 | ## To send all messages to stderr: 33 | #Log notice stderr 34 | 35 | Log notice file /tmp/tor.log 36 | 37 | ## Uncomment this to start the process in the background... or use 38 | ## --runasdaemon 1 on the command line. This is ignored on Windows; 39 | ## see the FAQ entry if you want Tor to run as an NT service. 40 | RunAsDaemon 1 41 | 42 | ## The directory for keeping all the keys/etc. By default, we store 43 | ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. 44 | #DataDirectory /usr/var/lib/tor 45 | 46 | ## The port on which Tor will listen for local connections from Tor 47 | ## controller applications, as documented in control-spec.txt. 48 | #ControlPort 9051 49 | ## If you enable the controlport, be sure to enable one of these 50 | ## authentication methods, to prevent attackers from accessing it. 51 | #HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C 52 | #CookieAuthentication 1 53 | 54 | ############### This section is just for location-hidden services ### 55 | 56 | ## Once you have configured a hidden service, you can look at the 57 | ## contents of the file ".../hidden_service/hostname" for the address 58 | ## to tell people. 59 | ## 60 | ## HiddenServicePort x y:z says to redirect requests on port x to the 61 | ## address y:z. 62 | 63 | #HiddenServiceDir /usr/var/lib/tor/hidden_service/ 64 | #HiddenServicePort 80 127.0.0.1:80 65 | 66 | #HiddenServiceDir /usr/var/lib/tor/other_hidden_service/ 67 | #HiddenServicePort 80 127.0.0.1:80 68 | #HiddenServicePort 22 127.0.0.1:22 69 | 70 | ################ This section is just for relays ##################### 71 | # 72 | ## See https://www.torproject.org/docs/tor-doc-relay for details. 73 | 74 | ## Required: what port to advertise for incoming Tor connections. 75 | #ORPort 9001 76 | ## If you want to listen on a port other than the one advertised in 77 | ## ORPort (e.g. to advertise 443 but bind to 9090), you can do it as 78 | ## follows. You'll need to do ipchains or other port forwarding 79 | ## yourself to make this work. 80 | #ORPort 443 NoListen 81 | #ORPort 127.0.0.1:9090 NoAdvertise 82 | 83 | ## The IP address or full DNS name for incoming connections to your 84 | ## relay. Leave commented out and Tor will guess. 85 | #Address noname.example.com 86 | 87 | ## If you have multiple network interfaces, you can specify one for 88 | ## outgoing traffic to use. 89 | # OutboundBindAddress 10.0.0.5 90 | 91 | ## A handle for your relay, so people don't have to refer to it by key. 92 | #Nickname pruzinatSteamlink 93 | 94 | ## Define these to limit how much relayed traffic you will allow. Your 95 | ## own traffic is still unthrottled. Note that RelayBandwidthRate must 96 | ## be at least 20 KB. 97 | ## Note that units for these config options are bytes per second, not bits 98 | ## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc. 99 | RelayBandwidthRate 512 KB # Throttle traffic to 100KB/s (800Kbps) 100 | RelayBandwidthBurst 1024 KB # But allow bursts up to 200KB/s (1600Kbps) 101 | 102 | ## Use these to restrict the maximum traffic per day, week, or month. 103 | ## Note that this threshold applies separately to sent and received bytes, 104 | ## not to their sum: setting "4 GB" may allow up to 8 GB total before 105 | ## hibernating. 106 | ## 107 | ## Set a maximum of 4 gigabytes each way per period. 108 | #AccountingMax 4 GB 109 | ## Each period starts daily at midnight (AccountingMax is per day) 110 | #AccountingStart day 00:00 111 | ## Each period starts on the 3rd of the month at 15:00 (AccountingMax 112 | ## is per month) 113 | #AccountingStart month 3 15:00 114 | 115 | ## Administrative contact information for this relay or bridge. This line 116 | ## can be used to contact you if your relay or bridge is misconfigured or 117 | ## something else goes wrong. Note that we archive and publish all 118 | ## descriptors containing these lines and that Google indexes them, so 119 | ## spammers might also collect them. You may want to obscure the fact that 120 | ## it's an email address and/or generate a new address for this purpose. 121 | ContactInfo Tomas Pruzina 122 | ## You might also include your PGP or GPG fingerprint if you have one: 123 | #ContactInfo 0xFFFFFFFF Random Person 124 | 125 | ## Uncomment this to mirror directory information for others. Please do 126 | ## if you have enough bandwidth. 127 | #DirPort 9030 # what port to advertise for directory connections 128 | ## If you want to listen on a port other than the one advertised in 129 | ## DirPort (e.g. to advertise 80 but bind to 9091), you can do it as 130 | ## follows. below too. You'll need to do ipchains or other port 131 | ## forwarding yourself to make this work. 132 | #DirPort 80 NoListen 133 | #DirPort 127.0.0.1:9091 NoAdvertise 134 | ## Uncomment to return an arbitrary blob of html on your DirPort. Now you 135 | ## can explain what Tor is if anybody wonders why your IP address is 136 | ## contacting them. See contrib/tor-exit-notice.html in Tor's source 137 | ## distribution for a sample. 138 | #DirPortFrontPage /usr/etc/tor/tor-exit-notice.html 139 | 140 | ## Uncomment this if you run more than one Tor relay, and add the identity 141 | ## key fingerprint of each Tor relay you control, even if they're on 142 | ## different networks. You declare it here so Tor clients can avoid 143 | ## using more than one of your relays in a single circuit. See 144 | ## https://www.torproject.org/docs/faq#MultipleRelays 145 | ## However, you should never include a bridge's fingerprint here, as it would 146 | ## break its concealability and potentionally reveal its IP/TCP address. 147 | #MyFamily $keyid,$keyid,... 148 | 149 | ## A comma-separated list of exit policies. They're considered first 150 | ## to last, and the first match wins. If you want to _replace_ 151 | ## the default exit policy, end this with either a reject *:* or an 152 | ## accept *:*. Otherwise, you're _augmenting_ (prepending to) the 153 | ## default exit policy. Leave commented to just use the default, which is 154 | ## described in the man page or at 155 | ## https://www.torproject.org/documentation.html 156 | ## 157 | ## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses 158 | ## for issues you might encounter if you use the default exit policy. 159 | ## 160 | ## If certain IPs and ports are blocked externally, e.g. by your firewall, 161 | ## you should update your exit policy to reflect this -- otherwise Tor 162 | ## users will be told that those destinations are down. 163 | ## 164 | ## For security, by default Tor rejects connections to private (local) 165 | ## networks, including to your public IP address. See the man page entry 166 | ## for ExitPolicyRejectPrivate if you want to allow "exit enclaving". 167 | ## 168 | #ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more 169 | #ExitPolicy accept *:119 # accept nntp as well as default exit policy 170 | #ExitPolicy reject *:* # no exits allowed 171 | 172 | #DirCache 0 173 | 174 | ## Bridge relays (or "bridges") are Tor relays that aren't listed in the 175 | ## main directory. Since there is no complete public list of them, even an 176 | ## ISP that filters connections to all the known Tor relays probably 177 | ## won't be able to block all the bridges. Also, websites won't treat you 178 | ## differently because they won't know you're running Tor. If you can 179 | ## be a real relay, please do; but if not, be a bridge! 180 | #BridgeRelay 1 181 | ## By default, Tor will advertise your bridge to users through various 182 | ## mechanisms like https://bridges.torproject.org/. If you want to run 183 | ## a private bridge, for example because you'll give out your bridge 184 | ## address manually to your friends, uncomment this line: 185 | #PublishServerDescriptor 0 186 | 187 | -------------------------------------------------------------------------------- /home/steam/.bashrc: -------------------------------------------------------------------------------- 1 | # configure PS1 command prompt 2 | PS1="\e[0;32m\]\u@\h \w >\e[0m\] " 3 | 4 | # no double entries in the shell history 5 | export HISTCONTROL="$HISTCONTROL erasedups:ignoreboth" 6 | 7 | # do not overwrite files when redirecting output by default. 8 | set -o noclobber 9 | -------------------------------------------------------------------------------- /home/steam/.inputrc: -------------------------------------------------------------------------------- 1 | # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving 2 | "\e[1;5C": forward-word 3 | "\e[1;5D": backward-word 4 | 5 | #"\e[1;5C": forward-word 6 | #"\e[1;5D": backward-word 7 | #"\e[5C": forward-word 8 | #"\e[5D": backward-word 9 | #"\e\e[C": forward-word 10 | #"\e\e[D": backward-word 11 | 12 | -------------------------------------------------------------------------------- /home/steam/.profile: -------------------------------------------------------------------------------- 1 | export TERMINFO=/etc/terminfo 2 | 3 | case $- in 4 | *i*) 5 | # Interactive session. Try switching to bash. 6 | if [ -z "$BASH" ]; then # do nothing if running under bash already 7 | bash=$(command -v bash) 8 | if [ -x "$bash" ]; then 9 | export TERM=xterm 10 | export SHELL="$bash" 11 | exec "$bash" 12 | fi 13 | fi 14 | esac 15 | -------------------------------------------------------------------------------- /usr/local/bin/bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/bin/bash -------------------------------------------------------------------------------- /usr/local/bin/htop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/bin/htop -------------------------------------------------------------------------------- /usr/local/bin/nano: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/bin/nano -------------------------------------------------------------------------------- /usr/local/bin/tmux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/bin/tmux -------------------------------------------------------------------------------- /usr/local/bin/vim: -------------------------------------------------------------------------------- 1 | #!/bin/busybox sh 2 | exec vi "$@" 3 | -------------------------------------------------------------------------------- /usr/local/lib/libevent-2.0.so.5.1.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/lib/libevent-2.0.so.5.1.9 -------------------------------------------------------------------------------- /usr/local/lib/libncursesw.so.5.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/lib/libncursesw.so.5.9 -------------------------------------------------------------------------------- /usr/local/lib/libtinfo.so.5.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/lib/libtinfo.so.5.9 -------------------------------------------------------------------------------- /usr/local/sbin/ethtool: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/sbin/ethtool -------------------------------------------------------------------------------- /usr/local/sbin/tor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tpruzina/steamlink-external-apps/b5e235c9fc78c0537797ccaaa14eeec8799f91e5/usr/local/sbin/tor --------------------------------------------------------------------------------