it has issue to install on Ubuntu machine, due to python issue, init will fail as well
run following commands in sequence
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update #sudo apt-get install python3.6 - no need run this one
sudo install passlib #install passlib
apt-get update\
&& apt-get -y install vim dnsutils curl sudo\
&& curl -fsSL https://get.docker.com/ | sh || apt-get -y install docker.io\
&& mkdir -p ~/netflix-proxy\
&& cd ~/netflix-proxy\
&& curl -fsSL https://github.com/ab77/netflix-proxy/archive/latest.tar.gz | gunzip - | tar x --strip-components=1\
&& ./build.sh
after done, need manual update the password to enable you login
root@VM-16-6-ubuntu:~/netflix-proxy/auth# . admin-reset.sh Please enter a new admin password: ~/netflix-proxy/auth ~/netflix-proxy/auth ~/netflix-proxy/auth rc=0 root@VM-16-6-ubuntu:~/netflix-proxy/auth#
It’s worth noting that you can free up port 53 by simply uncommenting DNSStubListener and setting it to no in /etc/systemd/resolved.conf. The other steps are for enabling a DNS server – without it, your system will not be able to resolve any domain names, so you won’t be able to visit websites in web browser, etc.
1. Edit /etc/systemd/resolved.conf with a text editor (as root), e.g. open it with Nano console text editor:
sudo nano /etc/systemd/resolved.conf
https://2944662652a498294082227cb31af4a2.safeframe.googlesyndication.com/safeframe/1-0-38/html/container.html And uncomment (remove # from the front of the line) the DNS= line and the DNSStubListener= line. Next, change the DNS= value in this file to the DNS server you want to use (e.g. 127.0.0.1 to use a local proxy, 1.1.1.1 to use the Cloudflare DNS, etc.), and also change the DNSStubListener= value from yes to no.
This is how the file should look after you’ve made these changes (I’m using 1.1.1.1 as the DNS server here, which is the Cloudflare DNS):
Here, -s is for creating a symbolic and not hard link, and -f is for removing any existing destination files (so it removes /etc/resolv.conf if it exists).
3. Reboot your system.
Port 53 should now be free on your Ubuntu system, and you shouldn’t be getting errors like “listen tcp 127.0.0.1:53: bind: address already in use” anymore.
You can check to see if port 53 is in use or not by running sudo lsof -i :53 – if port 53 is not in use, this command shouldn’t show any output.
Do you want to undo the changes made by following the instructions in this article? This is what you must do.
1. Start by editing /etc/systemd/resolved.conf with a text editor (as root), e.g. open it with Nano console text editor:
sudo nano /etc/systemd/resolved.conf
And comment out (add # in front of the line) DNS= and DNSStubListener=no, then save the file. To save the file using Nano text editor, press Ctrl + x, then type y and press Enter.
\w: current working directory, \W: same, but only the basename
$(__git_ps1 "%s"): your current git branch if you’re in a git directory, otherwise nothing
\$: if the effective UID is 0: #, otherwise $
\d: the date in “Weekday Month Date” format (e.g., “Tue May 26”)
\t: the current time in 24-hour HH:MM:SS format, \T: same, but 12-hour format, @: same, but in 12-hour am/pm format
\n: newline
\r: carriage return
\\: backslash
Colors & Styles
colors have to be escaped (see General), color codes should be followed by an m
put \[\e[‹code›m\] and \[\e[0m\] around the part of your prompt you want to style
where ‹code› is a ;-chain of:
x: attribute of the text
3y: foreground color
4y: background color
x:
0: normal
1: bold
4: underline
7: reverse
y is the color:
0 black
1 red
2 green
3 yellow
4 blue
5 magenta
6 cyan
7 white
example: \[\e[0;33m\]prompt:\[\e[0m\]
Save your settings by writing export PS1='...' to your .bashrc or .profile.
Examples
COPYexport PS1='\h \w$(__git_ps1 "(%s)") \$ '
=> mycomputer ~/apps/chess/tmp(master) $ _
export PS1='\[\e[33m\]\h\[\e[0m\]:\W\[\e[33m\]$(__git_ps1 "(%s)")\[\e[0m\] \u\$ '
=> mycomputer:tmp(master) tom$ _
# Henning's awesome TRON prompt 2.0.2 with current Git branch and success state of the last command (the syntax coloring here does not do it justice):
export PS1='`if [ $? = 0 ]; then echo "\[\033[01;32m\]✔"; else echo "\[\033[01;31m\]✘"; fi` \[\033[01;30m\]\h\[\033[01;34m\] \w\[\033[35m\]$(__git_ps1 " %s") \[\033[01;30m\]>\[\033[00m\] '
=> ✔ mycomputer ~/projects/platforms master > _
# Arne's epic timestamped prompt with return status indicator and status-colored (green if fresh, or red if unstaged, or yellow if staged) git branch:
export PS1='\[\e[01;30m\]\t`if [ $? = 0 ]; then echo "\[\e[32m\] ✔ "; else echo "\[\e[31m\] ✘ "; fi`\[\e[00;37m\]\u\[\e[01;37m\]:`[[ $(git status 2> /dev/null) =~ Changes\ to\ be\ committed: ]] && echo "\[\e[33m\]" || echo "\[\e[31m\]"``[[ ! $(git status 2> /dev/null) =~ nothing\ to\ commit,\ working\ .+\ clean ]] || echo "\[\e[32m\]"`$(__git_ps1 "(%s)\[\e[00m\]")\[\e[01;34m\]\w\[\e[00m\]\$ '
=> 03:13:37 ✔ arne:(master)~/projects/geordi$ _
# Arne's danger prompt for root use. No git information and alarming red and yellow (which you can't see here):
export PS1='\[\e[01;30m\]\t \[\e[31m\]\u\[\e[37m\]:\[\e[33m\]\w\[\e[31m\]\$\[\033[00m\] '
=> 03:13:37 root:/tmp/foo# _
# Kim's mix of those above with small changes. TRON promt with timestamp, return status indicator, hostname, git informations and working directory (but all non-bold).
export PS1='\[\033[01;30m\]\t `if [ $? = 0 ]; then echo "\[\033[01;32m\]ツ"; else echo "\[\033[01;31m\]✗"; fi` \[\033[00;32m\]\h\[\033[00;37m\]:\[\033[31m\]$(__git_ps1 "(%s)\[\033[01m\]")\[\033[00;34m\]\w\[\033[00m\] >'
=> 03:13:37 ツ mycomputer:(master)~/code/foo >_
# Kim's root prompt (the same as above without git and the hostname is red)
export PS1='\[\033[01;30m\]\t `if [ $? = 0 ]; then echo "\[\033[01;32m\]ツ"; else echo "\[\033[01;31m\]✗"; fi` \[\033[00;31m\]\h\[\033[00;37m\]:\[\033[00;34m\]\w\[\033[00m\] >'
=> 03:13:37 ツ mycomputer:~/code/foo >_
# Martin's prompt
export PS1='`if [ $? = 0 ]; then echo "\[\033[01;32m\]✔"; else echo "\[\033[01;31m\]✘"; fi` \[\033[01;30m\]\h\[\033[01;34m\] \w\[\033[35m\]$(__git_ps1 " %s") \[\033[01;31m\]\n>\[\033[00m\] '
=> ✔ mycomputer ~/code/foo master
> _
# Henning's danger prompt for root 2.1
export PS1='${debian_chroot:+($debian_chroot)}\[\033[43;30m\]\u@\h\[\033[00m\] \[\033[01;33m\]\w\[\033[00m\] \[\033[01;31m\]>\[\033[00m\] '
=> user@mycomputer ~/code/foo > _
# Klaus' modular prompt with git stash indicator
git_stash_size() {
n=$( (git stash list 2> /dev/null || :) | wc -l )
if [ $n -gt 0 ]; then
echo -n " $n☰ "
fi
}
normal='\[\033[00m\]'
red='\[\033[31m\]'
bright_yellow='\[\033[93m\]'
blue='\[\033[34m\]'
cyan='\[\033[36m\]'
status='`if [ $? = 0 ]; then echo "\[\033[01;32m\]✔"; else echo "\[\033[01;31m\]✗"; fi`'"$normal"
user_and_host="$blue"'`if [ $(whoami)="klaus" ]; then echo "k"; else echo "\u"; fi`@`if [ $(hostname)="Wheatley" ]; then echo "w"; else echo "\h"; fi`'"$normal"
branch="$red"'$(__git_ps1 "(%s)\[\033[01m\]")'"$normal"
directory="$cyan"'\w'"$normal"
stash="$bright_yellow"'$(git_stash_size)'"$normal"
export PS1="$status $user_and_host:$branch$directory$stash \$ "
# Niklas Hasselmeyer's warning if the ruby version has been changed via `rbenv shell`
if [ $RBENV_VERSION ]; then echo -n "\[\e[31m\][Ruby $RBENV_VERSION] \[\e[00m\]"; fi
See the attached screenshot for colorful examples of the above prompt settings (the user is arne on machine happycat in directory ~/code/geordi on the master branch).