This guide will show you how to install Outline Server on an Ubuntu 16.04/18.04 Server, use Outline Manager for Windows and connect to your Outline Server on Windows and Android.
Install Outline Manager
Outline Manager supports Windows, macOS and Linux.
If you have ever needed to quickly decode or encode base64, Linux has a command line utility called base64 that works great. I’ll show you how it works!
To encode text to base64, use the following syntax:
$ echo -n 'codediary.net rocks' | base64
To decode, use base64 -d. To decode base64, use a syntax like the following:
$ echo -n Y29kZWRpYXJ5Lm5ldCByb2Nrcw== | base64 -d
Note: if on OS X, use capital D:
echo -nY29kZWRpYXJ5Lm5ldCByb2Nrcw== | base64 -D
Repacking an unpacked JAR is a little frustrating because of the folder structure
When unpacking with:
jar xvf JAR_NAME.jar
you get a
To repack the JAR:
remove old jar
get inside the folder
pack the jar referencing the parent folder
jar cf ../JAR_NAME.jar *
and you will end up with the JAR_NAME.jar in the parent folder, where the original was unpacked from, without the first folder level you would get if you had packed the folder itself.
For MySQL you can specify your user and password in local config file (
.my.cnf). This file should be in your home directory (i.e. ~/.my.cnf).
I would like to compress a log file using gzip Unix command line utility, and I would also like to keep the original file. However, when I use the gzip my-app.log command, results in modifying my log file and renaming it my-app.log.gz. How do I force the gzip command to keep original file while maintaining the original file on Linux or Unix-like system?
The gzip program compresses and decompresses files on Unix like system. You need to pass the -c or --stdout, or --to-stdout option to the gzip command. This option specifies that output will go to the standard output stream, leaving original files intact.
Sometime when you have two network interfaces (say
eth1) on the client and for some reason there is a need to SSH to the server over a specific a specific interface. By default the primary interface will be used. To use eth1 we just need to add a route:
route add -net 10.75.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth1
The route is removed upon reboot. Use -p to permanently add the route to the table. To delete the route:
route del -net 10.75.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth1
If you’re anything like me, you probably log in and out of a half dozen remote servers (or these days, local virtual machines) on a daily basis. And if you’re even more like me, you have trouble remembering all of the various usernames, remote addresses and command line options for things like specifying a non-standard connection port or forwarding local ports to the remote machine.
Here’s a simple guide showing how you can enable HTTP/2 in Apache on Ubuntu 16.04.
Today’s internet connections are amazingly fast. You younglings might not believe this, but there was a time when we actually had to sit and wait for a website to appear. If you want to experience the internet speeds of the past, give 56k Emulator a try. It will give you the basic idea. And keep in mind that 56K modems were freakin’ fast when they became available.
Even though today’s internet connections are fast, the technology used to push propaganda around inside the tubes is old and slow. HTTP/1.1 was never intended to be used with the kind of content-heavy website we have today. Thankfully, there’s a new option available, the marvelous RFC-7540. Or HTTP/2, if you will.