April 30, 2020

First Experience using Loopring.io DEX

Outline

About

Loopring is currently an Ethereum token. From https://loopring.org, Loopring allows anyone to build high-throughput, non-custodial, orderbook-based exchanges on Ethereum by leveraging Zero-Knowledge Proofs. Loopring is claimed to be secure, high throughput, and low cost. Loopring Exchange (Loopring.io) is the first decentralized trading platform built on top of Loopring 3.0.

Loopring.io DEX Fees

  1. ETH 0.0001 (~$0.03) Registration + gas fee.
  2. ETH 0.0001 (~$0.03) deposit contract + gas fee and approval gas fee.
  3. ETH 0.002 (~$0.06) withdraw contract + gas fee and approval gas fee.

First Time on DEX

If this is your first time on decentralized exchange (DEX), you should know that the concept of DEX is to retain the ownership on you which is different from the centralized exchange that you probably know that whenever you deposit coins to these exchanges, you give up control over these coins to them in order to trade and do other financing. The most important factor for these exchanges are trust different from DEX which is programmed which if I'm correct, it is using smart contracts. Since this is an Ethereum based DEX, you need:

  1. Ethereum all the time for gas / transaction fee which in average ETH 0.006 (~$1.3) during the writing of this article although you are flexible to set the fee but affects the duration of the transaction.
  2. Wallet connect protocol such as WalletConnect, Metamask, Coinbase, and generally leads to Web3 the decentralized web.
  3. Other tokens that you want to trade.
https://file.army/i/Bz72BWp
Get Ethereum from someone, buy from centralized exchanges, earn or mine. Get any application that can perform wallet connect, here I use Metamask browser extension. You will have a public Ethereum address to deposit Ethereum and any of its tokens and don't forget to backup and secure your private key.

Using Loopring.io DEX

referral program

Normally, this is after registration but from my side I would like to share my referral link first. I'm a referral fanatic not only I enjoy marketing my referral link but using others' referral link to support the referral system. I was disappointed that I cannot find anyone on the web sharing their referral link. If you don't have anyone that refers you, I will be grateful if you use my referral link https://exchange.loopring.io/invite/1632.

https://file.army/i/Bz727HK
After you connect and register, you can find your referral link to your account menu. Use it to invite people because you will get the following perk: if your daily average LRC balance is greater than 5000 LRC, you will earn 60% of the trading fee profit contributed by people you referred; otherwise, you will earn 30%.

Connect and Register

https://file.army/i/Bz729EV
Suppose you have a wallet connect application, connect to the DEX and register. My referral ID is "1632" if you don't have any referrers.
https://file.army/i/Bz72YID
The registration costs ETH 0.0001 (~$0.03) and transaction fee of usually ETH 0.006 (~$1.3).

Deposit

Before deposit, you need to have your coins in your wallet connect application and especially Ethereum for transaction fee. In the writing of this article, the DEX supports:

https://file.army/i/Bz7ny9I
  • Ethereum (ETH)
  • Loopring (LRC)
  • Tether USD (USDT)
  • DAI
  • ChainLink (LINK)
https://file.army/i/Bz7niJf
The deposit button can be found in two places. One in the account menu on the right, and two near the trade menu. Here I deposited USDT and there are two fees to pay. The first one is ETH 0.0001 (~$0.03) + gas fee for the deposit contract and gas fee for approval.

Trade

https://file.army/i/Bz7245Y
Here I deposited 10 USDT and I want to trade it for LRC. Take a look at the chart, see the order book for the supply and demand, and determine a price you are comfortable with. It doesn't matter if you want to take the current offered prize or make your own prize and queue in the order book because unlike centralized exchanges, there are no trading fees.

Withdraw

https://file.army/i/Bz72K4a
After you are done with your trading, you can withdraw the coins to your wallet connect application. They take ETH 0.002 (~$0.6) + gas fee and another gas fee for approval.

Others

Staking

https://file.army/i/Bz72z0Q
After I withdrawn the LRC that I have bought, I decided to stake it because I'm going to hold it anyway as a collection. The link to the staking pool can be found on your account menu. LRC is the Loopring protocol’s token. It can be staked by holders to earn protocol fees (a percentage of the volume flowing through all Loopring-based DEXes), and is staked by DEX owners as a bond for service-level guarantees.

API

If you are a programmer, you maybe interested in looking at the API. For example my friend is interested in making automatic trades (robots) based on his own indicator.

Mirror

April 29, 2020

Common Ways to Bypass Internet Censorship

Summary

https://file.army/i/BYiZSJf
Proxy, vpn, and TOR bypassing censorship illustration. The technical details are in each articles.

Bypass Censorship by DNS

https://file.army/i/BYNanXL
Simple Animation of DNS. More info in previous article: Bypass Censorship by DNS.

Bypass Censorship by Proxy

https://file.army/i/BYVdWMZ
Animation of how I see proxy works. More info in previous article: Bypass Censorship by Proxy.

Bypass Censorship by VPN

https://file.army/i/BYHzMK3
Bypass Censorship through VPN Illustration. More info in previous article: Bypass Censorship by VPN.

Bypass Censorship by TOR

https://file.army/i/BYiZ6Wp
Other than as a user, there are three more ways to join the TOR network. We can volunteer to be either a bridge, relay, or exit. More info in previous article: Bypass Censorship by TOR.

Background

My first Internet censorship experience as a user was back in my teens in Indonesia. My main entertainment was Japanese anime and manga. Everything was fine until they implement Internet censorship. It started when porn became viral on the news from as light as teenagers skipping school going to Internet cafe to watch port to as heavy as teenager rapes because they were inspired by porns. With most of society against even the smallest indecent acts pushed the congress to pass anti pornography law. It had nothing to do with for many months, but then one day, the anime and manga site which was my main source of entertainment was blocked until today. Then, when I was searching for certain technical details, I found out that Reddit was blocked and it frustrated me because the information I needed was there. The authorities probably block animes and mangas because they have obscene scenes even just a little like show panties and revealing clothes. They blocked Reddit probably because there was the not safe for work (NSFW) part, instead of trying to block that part only, they just blocked the whole Reddit and until today they have no intention of finding ways to block the NSFW only. This went too far which forced me to find ways to bypass their censorships.

https://file.army/i/Bz9SZNZ
Website is blocked.

As time passes I learned of other countries that implements censorship such as China's great firewall and worst of them all is North Korea. I hate the idea because the ending is to control the people. Therefore, I became an advocate for total censorship resistance.

Experience

During the writing of this article, I was studying in Japan. I didn't find any censorship here and my apartment provided me with free dynamic IP address where I could link with dynamic domain name service (DDNS). So, I placed a Squid Proxy, OpenVPN, and TOR server before I took a vacation to my home country Indonesia. Below, I recorded videos of my successful attempt in bypassing Internet censorship from my house in Indonesia through my apartment's server in Japan:

Questions and Answers

  • Is bypassing censorship equals to trespassing? I don't believe so because trespassing means breaching to somewhere private. The Internet is a public network just like the streets and the open world where it is always fully open. Internet censorship is similar to user quarantine.
  • What about the taking down of websites, account terminations, etc? That's also censorship but from the publisher point of view which is more to the freedom of press or speech which I will write a separate article. This article focuses on censorship from the audience point of view which is more to freedom choice and information.
  • Do I agree with censorship even if they are about porns, drugs, and other criminal activities? Frankly I don't. Although there is a popular saying that preventive measure is more affective than curing, there are two main problems with current implementation:
    1. The first one is that they strictly implement censorship without education or worse suppress information which dangerously keeps people ignorant and stupid like they try to regulate the free market and suppress information about money. When financial crisis occurs, how many ignorant people got destroyed? If they simply learned about money, they would have survived.
    2. The second reason is because the authorities are the ones enforcing the censorship which will lead to a dangerous end result of the authorities becoming too powerful. History shows that they will try to control more and more if we let them be which one day will be too late and we will be enslaved. If that happens, either we will be doomed or history repeats itself where a revolution will happen again successfully.

Mirror

For now, that is all I know, if you now more ways, please leave a comment.

April 23, 2020

Bypass Censorship By VPN

Description

Virtual private network (VPN) contains the word "private network" and "virtual". During the time of the writing of this article, a public network is just another term to the Internet while private networks are outside of the Internet. Example nodes residing in the public network are Google and Youtube. Example nodes residing in the private network are clients or users accessing Google and Youtube. This situation exists because the current Internet infrastructure is too small to host all the computers in the world. Therefore, clients and users are mostly outside of the Internet where they need to go through mediaries to communicate with those in the Internet, I like to call them gateways (see my simple introduction to computer network to understand the basics).

While the Internet or public network is like the streets and outside world where we can go out and travel, a private network is like our house where it is private and only us can enter. A vritual private network (VPN) extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network. Analogically, it is like an open house where other people can enter but ofcourse with the permission of the house owner. For example, when we are at home or outside but we need to access our office's internal network, we usually need to run back to our office, but with VPN, we can access on the spot.

When we enter a VPN, we are subjected to different rules. It is unfortunate that most Internet connection today have enforcers. When we want to access a website, we always ask that enforcer and the result is whether we are granted access or not. The role of VPN other than privacy is censorship resistance. When we go to a VPN, our enforcer changes or if we are lucky, we have our enforcer removed. For example in Indonesia, access to anime, manga, and reddit are prohibited, but if we access from Japan, it is granted. Then what is the difference between VPN and proxy server? Proxy server is just one server while VPN is a whole network which contains routes and servers.

https://file.army/i/BYHzMK3
Bypass Censorship through VPN Illustration

Setting VPN Client

Interestingly, setting a VPN can either be easier or harder than setting dns and proxy. That is because there are different choices unlike dns or proxy where simply just inputing numbers. It is easier because there are many ready applications available where the steps are just installing and run. It is harder if you choose to set the configuration manually which can involve more than just setting the VPN server's IP address.

Ready VPN Application

As the word "ready", these kinds of VPN applications only needs to be installed and run to enjoy bypassing censorships. In Windows, you can try finding from Microsoft Store. In Linux, check your own package manager. In Android and IOS you can search their respective stores. Generally, you can find portable archives or go for installable files. Ready VPN application are also available in form of browser extensions.

https://file.army/i/BYHzGZo
Although bittube browser extension are primarily about Tube cryptocurrency coin where you can earn Tubes for your time on the Internet, monetization, and as a Tube wallet for storing and staking your Tube coins, it also provides VPN services. All you need to do is go to the VPN menu and choose a VPN you want to connect to and enjoy bypassing censorship. It also have a referral system. Therefore, I will be very thankful you download from this link: https://bittube.app/?ref?2JY4FE0CP if you haven't tried it before.
https://file.army/i/BYHzhNU
On my android smartphone, I found tunnel bear. It easy to use where you just have to install and choose your VPN. The animation is also amusing showing a bear popping up on the VPN that you chose. When I was in Indonesia, I rely on tunnel bear to access my entertainments which are manga, manhua, manhwa, comics, and anime which are mostly blocked in the country.

There are many ready applications out there. Leave a comment you know a good onw. To prevent this article from becoming to long, I can only advice you to search the search engine such as Google to find the VPN the you want. Example search terms: "vpn", "free", "Windows", "Linux", "Android", "United States", "Japan", "Indonesia", "Europe", "China", etc.

Manual VPN Clients

If you search for "free vpn list" on search engine, you may stumble upon a website that give a list of open vpns for example https://www.freeopenvpn.org. If they provide you a profile that you can use with just a click, that's great. However, if you are given configuration details that you have to write yourself, or use default or other vpn clients, you need to set them correctly. Usually, there are more than just IP address and port for example, transport protocol, compression, and certificates.

https://file.army/i/BYHzLdE
Example Open VPN on https://www.freeopenvpn.org.

Premium VPN

When you try free VPN, you may find disatisfaction. A VPN can be slow because your browsing perception is based on the slowest part of the whole network connection. If the VPN is slower, that you will perceive a slow connection eventhough your main connection is fast. On the other hand, you will also feel slow if your main connection itself is slow even if you use a fast VPN.

Another factor, is the privacy and security which I'm skeptical about for most free VPN. Sure that VPN may provide no or different censorship, and privacy from the main surveilance but you maybe monitored deeply by the administrators of the VPN themselves. If not, who knows if their security is low that other people can easily monitor and steal your private data. Therefore, it is not recommended to expose private data such as inputing username and password on a login form.

Therefore, there are premium or paid VPNs where they generally provide quality at a price. If you are a skilled technician, then you can test whether the VPN is good quality or not. If not, then you have to research yourself such as see if there are licenses or certificates on their VPNs, read people's reviews, and how long have the VPNs been running.

Building OpenVPN Server Linux

If you want a single script building which is the simplest way, you can try pivpn. I built openvpn server a few times but I just cannot completely remember the steps, maybe because I have not repeated it enough. I will be honest, the reason I wrote and record my computer tutorials is mainly for myself to remember when I need to do them again. But, why not share them with everyone else by publishing them online and I was surprised that I can monetize them. Now, going back to OpenVPN server on Linux, the detailed steps may seem overwhelming for beginners but the overview is actually only a few which are:

  1. Install openvpn server and certificate authority creator.
  2. Create certificates, server key, and client keys.
  3. Configure the openvpn server which includes linking the certificates, use compression or not, allow clients to access the Internet through the VPN or not, etc.

Installing OpenVPN Server and Certificate Authority Creator

I was using Debian based Linux like Ubuntu:

sudo apt install openvpn easy-rsa    

Creating Certificates

Become an administrator for example using the command:

sudo su

Create an certificate directory for openvpn, work there, and configuration samples from easy-rsa share directory:

mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

Edit "/etc/openvpn/easy-rsa/vars" and fill in at least the lines that are not commented and edit the names and information as you see fit. There are instructions you can read within the file. Then generate certificate authority (CA).

cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-ca

Generate a private key for the server. Name it whatever you want but keep it consistent through out the installation.

./build-key-server myservername

Generate Deffie Hellman

./build-dh

Generate client certificates and keys for as many clients as you want. After generating, you can copy the "ca.cert" and all client certficate and keys to the clients. I'm not sure whether you can use the same cert and keys for the multiple clients but you can generate them by repeating the following commands:

source vars
./build-key client1

All keys and certificates are in the "keys/" subdirectory. You can leave them there but remember to specify the correct paths in the configurations. If not, then just copy to "/etc/openvpn" subdirectory:

cd keys/
cp myservername.crt myservername.key ca.crt dh2048.pem /etc/openvpn/

Configuring OpenVPN server

Configuration examples of both client and server are available on "/usr/share/doc/openvpn/examples/sample-config-files". You can reuse and edit the example server configuration:

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gzip -d /etc/openvpn/server.conf.gz

Edit "server.conf" as you see fit, explanations of how to edit them are available within the file. Just make sure the configuration is consistent to your inteded client configuration. For example, if the server does not use compression while the client uses compression then communication will not work and vice versa. Here's an example of my server configuration:

port 1194
proto udp
dev tun
ca ca.crt
cert myservername.crt
key myservername.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
explicit-exit-notify 1
push "route 192.168.0.0 255.255.255.0"
client-to-client
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"

The last four lines are my own additional where I want the VPN to find the local network 192.168.0.0 attached to it and allows connection between clients. The last two lines are probably the ones you want to add which is to allow the use of Internet connection of the VPN and add 8.8.8.8 Google DNS. Next is to edit "/etc/sysctl.conf" to allow port forwarding by setting "#net.ipv4.ip_forward=1". Finally, reload sysctl and start or restart openvpn server:

sysctl -p /etc/sysctl.conf
systemctl start openvpn@server

OpenVPN in Client

At first I used tunnel bear in Indonesia to access my entertainments which are manga, manhua, manhwa, and anime but eventually, I ran out of quota. Luckily, my appartment in Japan provides a dynamic public IP address in my apartment and I was able to install an openvpn server during those periods. So, I connect to that server which is suprisingly, more reliable then tunnel bear, probably because I was the only one using it.

OpenVPN client Linux

You can either use the network manager or install openvpn just like you install on the server (only "apt install openvpn"). If you use the network manager, input the keys and certificates, username and password if you set, and go to advance and make sure you match the configuration to the server. One difference will make it unconnectable. If you install openvpn, just copy the sample client configuration to the openvpn configuration subdirectory:

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

Match the client configuration to the server with the differences are declaring the configuration file as client along with the client certificates and keys and inform the hostname or address of the remote openvpn server:

ca ca.crt
cert client1.crt
key client1.key
client
remote 0fajarpurnama0.ddns.net 1194

Then start the openvpn client:

systemctl start openvpn@client

OpenVPN client Windows

It's more convenient to rename the "client.conf" to "client.OVPN" where for some reason, the extension must be in capital letter to work. You can keep it in the same directory as the certificates and keys, but it is more convenient to have them embeded into "client.OVPN":

client
dev tun_c_ovpn
proto udp
remote 0fajarpurnama0.ddns.net 1194
resolv-retry infinite
keepalive 5 10
nobind
persist-key
persist-tun
verb 3

-----BEGIN CERTIFICATE-----
MIIFXDCCBESgAwIBAgIUbZAu8yajhVulFYZ4CWNqGc8xWncwDQYJKoZIhvcNAQEL
BQAwgccxCzAJBgNVBAYTAkpQMQ8wDQYDVQQIEwZLeXVzaHUxETAPBgNVBAcTCEt1
bWFtb3RvMRcwFQYDVQQKEw4wZmFqYXJwdXJuYW1hMDEXMBUGA1UECxMOMGZhamFy
cHVybmFtYTAxGjAYBgNVBAMTETBmYWphcnB1cm5hbWEwIENBMRcwFQYDVQQpEw4w
ZmFqYXJwdXJuYW1hMDEtMCsGCSqGSIb3DQEJARYeZmFqYXJAaGljYy5jcy5rdW1h
bW90by11LmFjLmpwMB4XDTE5MTIwMTE2NDQ1M1oXDTI5MTEyODE2NDQ1M1owgccx
CzAJBgNVBAYTAkpQMQ8wDQYDVQQIEwZLeXVzaHUxETAPBgNVBAcTCEt1bWFtb3Rv
MRcwFQYDVQQKEw4wZmFqYXJwdXJuYW1hMDEXMBUGA1UECxMOMGZhamFycHVybmFt
YTAxGjAYBgNVBAMTETBmYWphcnB1cm5hbWEwIENBMRcwFQYDVQQpEw4wZmFqYXJw
dXJuYW1hMDEtMCsGCSqGSIb3DQEJARYeZmFqYXJAaGljYy5jcy5rdW1hbW90by11
LmFjLmpwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6HwIppc9/Kwl
Hkd+yUpEk8UveacjcGvEsvBdSLzn1IeUgDNkvKy8uuFcptV3sqg89+lagaM3z1MI
Ere2GFHQFPHX1of78v2XY9r31KSArtN2tqpIWS8EMpt7xOLaFXTJiSBgG0LwVy/7
DppaloPiFwYXu/itzZXjN26fuHvbFQEfYlh1MdcxpHj9Reswjk3+EOrtnLchHdQ+
E/xIR5WzA2vlpw1ie4fy1SLPulUZf7ZG/SIPTrXcWvTljti2LJgxt3xHElD/KmTN
6t5KIHv7Mx9BY2Q98YgwmzPzkG0FQ03NygEan4HXJ85RIK5rJVmbR2+9hWqFDV54
RQL42Nq6hwIDAQABo4IBPDCCATgwHQYDVR0OBBYEFMvHUSxayCjwg9n4z8NzHNQ1
e8zBMIIBBwYDVR0jBIH/MIH8gBTLx1EsWsgo8IPZ+M/DcxzUNXvMwaGBzaSByjCB
xzELMAkGA1UEBhMCSlAxDzANBgNVBAgTBkt5dXNodTERMA8GA1UEBxMIS3VtYW1v
dG8xFzAVBgNVBAoTDjBmYWphcnB1cm5hbWEwMRcwFQYDVQQLEw4wZmFqYXJwdXJu
YW1hMDEaMBgGA1UEAxMRMGZhamFycHVybmFtYTAgQ0ExFzAVBgNVBCkTDjBmYWph
cnB1cm5hbWEwMS0wKwYJKoZIhvcNAQkBFh5mYWphckBoaWNjLmNzLmt1bWFtb3Rv
LXUuYWMuanCCFG2QLvMmo4VbpRWGeAljahnPMVp3MAwGA1UdEwQFMAMBAf8wDQYJ
KoZIhvcNAQELBQADggEBAJS159tPUrmnPjVffVZi5fvRBishiuaB91EUH5MEbqkk
hrootBEQSNSxCGh3nOlGVFherpyla1a+G1F0pnyobrnzLTpcf28fQdKN6ZbV5psA
/+CSwBYO1BLnarwu+VYnZeQxHYc/3v3xMNNZV5oE9uil7VAxMJV5zGUSxQi7fQZS
Wo4AV8AHpKKdpdOXr8UyirXqDgiZY7nZpmnJaTPYacKbCk/pziTEjSkwGiYIE8q4
EWaAD+3WnjpE7K2ky7TWGuK/a0G+Jx2YZCkirXnc9znWELa7B5M7RLJrDhTC0Whz
4zNpn5HClk+XzTu850So9xxPQ73L0Veob7sBfNZlBu8=
-----END CERTIFICATE-----



-----BEGIN CERTIFICATE-----
MIIFoTCCBImgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBxzELMAkGA1UEBhMCSlAx
DzANBgNVBAgTBkt5dXNodTERMA8GA1UEBxMIS3VtYW1vdG8xFzAVBgNVBAoTDjBm
YWphcnB1cm5hbWEwMRcwFQYDVQQLEw4wZmFqYXJwdXJuYW1hMDEaMBgGA1UEAxMR
MGZhamFycHVybmFtYTAgQ0ExFzAVBgNVBCkTDjBmYWphcnB1cm5hbWEwMS0wKwYJ
KoZIhvcNAQkBFh5mYWphckBoaWNjLmNzLmt1bWFtb3RvLXUuYWMuanAwHhcNMTkx
MjAxMTY0ODExWhcNMjkxMTI4MTY0ODExWjCBvTELMAkGA1UEBhMCSlAxDzANBgNV
BAgTBkt5dXNodTERMA8GA1UEBxMIS3VtYW1vdG8xFzAVBgNVBAoTDjBmYWphcnB1
cm5hbWEwMRcwFQYDVQQLEw4wZmFqYXJwdXJuYW1hMDEQMA4GA1UEAxMHY2xpZW50
MTEXMBUGA1UEKRMOMGZhamFycHVybmFtYTAxLTArBgkqhkiG9w0BCQEWHmZhamFy
QGhpY2MuY3Mua3VtYW1vdG8tdS5hYy5qcDCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAJ2GVHKPqK/xfCCjK0+bVI07BTpbM4dCE3IElGBmKALY28D43zGF
74OjAWo+ifTru2ThlpOkfa9PtBaMxqY/EWj6sjY6Bt1fm3QmcnasOeFWMSH5ZTV3
PiNcb8QJeusWL0EtDjz1anbe2H1UqYepAHhmFxTKap6oqQnXDTO/gQuDBvC/LgfF
S07GxGfjTUSM6CyPKAmWOJIIqM7KRR0UA3cLiIDbbmQy4RicBAF6jfKUSa6SeFQn
7YTNrnOOrbK0r78JcDJ+OU0whnr1dW7PZdByzRFxXxzlHZM1m9Me/4I8VcNFeh0Z
Y3ATmIGaIcfQmfC4nO14W4k1XULvzF5pGA0CAwEAAaOCAZ4wggGaMAkGA1UdEwQC
MAAwLQYJYIZIAYb4QgENBCAWHkVhc3ktUlNBIEdlbmVyYXRlZCBDZXJ0aWZpY2F0
ZTAdBgNVHQ4EFgQUxH6LrB12M55RSYC4FGcVZaWp5kkwggEHBgNVHSMEgf8wgfyA
FMvHUSxayCjwg9n4z8NzHNQ1e8zBoYHNpIHKMIHHMQswCQYDVQQGEwJKUDEPMA0G
A1UECBMGS3l1c2h1MREwDwYDVQQHEwhLdW1hbW90bzEXMBUGA1UEChMOMGZhamFy
cHVybmFtYTAxFzAVBgNVBAsTDjBmYWphcnB1cm5hbWEwMRowGAYDVQQDExEwZmFq
YXJwdXJuYW1hMCBDQTEXMBUGA1UEKRMOMGZhamFycHVybmFtYTAxLTArBgkqhkiG
9w0BCQEWHmZhamFyQGhpY2MuY3Mua3VtYW1vdG8tdS5hYy5qcIIUbZAu8yajhVul
FYZ4CWNqGc8xWncwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMBIG
A1UdEQQLMAmCB2NsaWVudDEwDQYJKoZIhvcNAQELBQADggEBABzfVo8l4yUplgrb
wi3TT3nZnfz9j+5bHHvy2NRIGGmLlcZGrr+qJ+zwvDF6aPuaJ1goB9nSuPfcHEnR
HTVsHIcUQ+yOSiNIrUIFuasQlWiZ5TA0CIChVWrKaWpvuZUgBUIra4Qj8qrHypj0
M2X551F6vspNA8to+oNpH6/wDtRIo6y3wac/hnv2vrpCg5TmVcAqammk02GMxITh
wa/zMWZsCccbt/jmeJ7QVX33nZGWykep2vf3CbROxmK0L9amPkMCOPvG7evCuLE4
UMOA7q2KARVeoSq6xVVi65h+KCzXvhUQ/Z2W+9g88L+w0Jcr666CgHUjYc0pBHCW
LKvLkjs=
-----END CERTIFICATE-----



-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdhlRyj6iv8Xwg
oytPm1SNOwU6WzOHQhNyBJRgZigC2NvA+N8xhe+DowFqPon067tk4ZaTpH2vT7QW
jMamPxFo+rI2OgbdX5t0JnJ2rDnhVjEh+WU1dz4jXG/ECXrrFi9BLQ489Wp23th9
VKmHqQB4ZhcUymqeqKkJ1w0zv4ELgwbwvy4HxUtOxsRn401EjOgsjygJljiSCKjO
ykUdFAN3C4iA225kMuEYnAQBeo3ylEmuknhUJ+2Eza5zjq2ytK+/CXAyfjlNMIZ6
9XVuz2XQcs0RcV8c5R2TNZvTHv+CPFXDRXodGWNwE5iBmiHH0JnwuJzteFuJNV1C
78xeaRgNAgMBAAECggEBAIdKmvb1uXy7W8+wNH+fugO+gCP5tozhzE+t7T3KH20q
kbrwRMmE7gxSEOIOKnCHkh/3vFq7+RJ70wFXEToxiqNuRWdbeQ/ikGI2rzKLgv6t
B2/Vgf5klqLKPlfRiJemKxnAN61VXoYPqUIjV6NjHDtL+2Do5J+13dDMudMLFCss
meMzGCchAQ3Lm2zybdRUNOsVCIQIgIGpVAsmn80lCr+DWWsdee6PIknn/76Wc2Ie
phi0tAruQAGxxDnMJMPG03yRQ6xmllVRoNncNVEr3gRk4NiKBWn2R26ia7Llw6K0
Z3abIO1qJj3SoRzb1ZIevPoYPqH8GE1EceXD5RfqwCECgYEAzMMQExmXvImbYoi7
dxQQiUPwt1FDIr9mYZHmhd6z2DDF3T8bOU5Z8DG5oMrIIofQK0flesvULastuheB
wmbId4KUBl6STEg4uOXCTZeYNp3pTQu2MDOvICgVcrQSnkOuZTckasvq+5l2jE/7
DL2i4ZQE4FwlSEE4a+Nr8/IgfJUCgYEAxPFGpZ18CN/dKanchVWDC9crAZ5F2Qb/
RT0yJKie1WF4LkI+E4we+BegDginy5pGjaRUueUB5IRtCefvb4dp+6rFFhSMluIM
Na64FAJYM+5J227iYjo8rtYhQVWCjkcXUcJDQTUfoogtXBj3X3TP+VCHwxawtMYw
v+8gnFIIV5kCgYAMzCQ1DWRuZCtR/Tm6N4bRDW3+BxYrFctQTc4aj9Ctsl6rdUY+
TqdQW8s+QW5AujxIeDXfdt3L/ObeuplhjQr6bS7TNxXtrpXc+H8sWk0pHLV4G0NH
v/MyD09H2/lN6uz7ZnbgNd552x2Np3IJWdDUSGwFmby6x1i/ZXdZx8hAAQKBgQCS
FDEFuRl+b6ZZOAA0+ieYycHBkodWokUIM4sU++nMdl6xWTs4Po/eD5ANuMfVUpqQ
h1q9BCtyN/O1DE9iV3v6S0Gizh018XeC/hTV6qNH6bDozYenunC2cmf6URXkuMCI
SWKfZGsRoJacoHwkVr3IvL3mq9boT7VrOFDlAkfjyQKBgECDXo/MJoB22loxjFX9
1PycP92ZLYHUnIDHhAkgzmd65+qCrhk10d0BIiBcgfgL3Z0Kv/G/xNhEbZu20tua
cEKPaqUD5xUjZyZKXLzQ8k7pLCRN6XQ26UhnUPNZS8BxqkJIAu2x0SbIZjnXblF3
GZ+xa6lVwhHCq7EKcDvGHvLe
-----END PRIVATE KEY-----

You can now carry that .OVPN file anywhere with you. Next is to download the openvpn client for Windows if your Windows default client does not support.

OpenVPN client Android

Same method as Windows, get your .OVPN file and download openvpn client for Android.

Mirror

April 17, 2020

Hyperlink Icon

https://file.army/i/BY5jkKo
https://0darkking0.blogspot.com

Description

Hyperlink icons are icons applied with hyperlinks. When the icon is clicked, the clicker will open the link designated by the creator of the hyperlink icon. The purpose in my opinion is to beautify and simplify links where there is a saying that a single picture can mean a thousand words. In this case, icon is a very small image which I have seen no larger then 100 pixels (px). I see hyperlink icons are mostly used to link creators' social media profile. Which do you prefer, a text link or a hyperlink icon or both?

It depends on the context. If you want to just hyperlink your text passage, then just simply hyperlink a text. If you want it to be permanently part of a webpage layout, then just a hyperlink icon is best because it is small that saves space but still delivers sufficient information for the audience to understand and additionally, icons usually beautifies the webpage. If the platform nor the icon is known, then having both hyperlink text and icon is better to promote them.

Making Hyperlink Icons

There are two knowledge that you need to make an hyperlink icon. First is making a hyperlink. Second is inserting an image. Additionally, third is beautifying but for me is only knowing how to configure the size but there are more like handling paddings and margins if you want to go deeper.

If you are using an html editor where it is mostly available on most posting platforms, then you don't need to do much. However, if you are editing a blog's or a website's layout, then you probably need to learn some codings. The basic hypertext markup language (HTML) is still mainly used eventhough there are other languages such as markdown (MD).

<a href=""></a>
   

The above code is a skeleton code to make a hyperlink in html. The "a" tag is usually associated with links, the link is put inside the href="", and the text is put inside the a href="" (here) a.

<a href="https://twitter.com/0FajarPurnama0">https://twitter.com/0FajarPurnama0</a>
   

The above hyperlink code have the link https://twitter.com/0FajarPurnama0 and the text "follow me on Twitter".

Inserting HTML Image

<img src="" />
   

The above code is a skeleton code to make an image in html. The "img" tag is usually associated with images, and the image source location is put inside the src="". The image source should be an actually image where it is usually identified by either having a format such as .png .jpg .svg at the end of the link or when you try to download link, you will get an image file instead.

<img src="https://0fajarpurnama0.github.io/assets/images/icon/twitter.png" />
   

The above code source the image from https://0fajarpurnama0.github.io/assets/images/icon/twitter.png.

<img src="https://0fajarpurnama0.github.io/assets/images/icon/twitter.png" onerror="this.onerror=null;this.src='https://404store.com/2020/02/10/twitter.png';" alt="twitter icon which is a blue bird"/>
   

The above image html code have extra attributes which are "onerror" which is a JavaScript code that shows secondary image source if the primary image source is broken and "alt" which is a text that replaces the image view of the image source is broken.

Replacing the Text of Hyperlink with Icon

<a href="https://twitter.com/0FajarPurnama0"><img class="myicon" src="https://404store.com/2020/02/10/twitter.png" onerror="this.onerror=null;this.src='https://0fajarpurnama0.github.io/assets/images/icon/twitter.png';" alt="twitter"/></a>
   

Finally to have an hyperlink icon is to replace the text in the hyperlink text code with the image html code. To add additional text, you can add texts before or after the image html code. Additionally, you can adjust the size of the icon by adding for example width="30" and height="30" on the image html code, but best practice is to have the icon image itself resized to reduce network load. If you want to go deeper, you can decorate the hyperlink icon with css style.

Icons location

It is up to you whether you want to put it on the header, footer, or sidebar. If you are on your own website, you know what to do, but if you are on a blogging platform then find the layout option and find a way to insert html and css. If you are in a posting only platform, then just put the icons on top or bottom of the post. If you want to see my icon collection, you visit this link

https://file.army/i/BY5jQQV
https://0darkking0.blogspot.com

Mirror

April 13, 2020

Creative Commons Licenses

https://file.army/i/BYcBhZv
Freedom Level Detail

Outline

Intellectual property refers intangible creations which is usually resulted from the mind and almost always published. For example, articles, images, audios, videos, and games, even this article that you are reading that I wrote is an intellectual property. The license of your creations must be taken seriously at the very least declaring yourself as the creator, even using nicknames or naming yourself as anonymous is okay, or at the very least, the precise date and time of the creation is there. Otherwise, others can take the work. If they openly share, is positive, but negatively they can put license on the work meaning, claiming the work as theirs where potentially even you lose all rights to your work, meaning you can't even use including apply, publish, share, and modify.

https://file.army/i/BYcBEBs
Content Thief

In these modern times during the writing of these article, copyright is automatically given to you on any work that you named. This means that you have full right to your work which includes giving permission to others. In many online platforms usually, you don't need to put your name manually because they will automatically put your registered name whenever you post a content. If you post on your own platform and forgot to put your name, cross you fingers hoping the timestamp is recorded because if it is recorded, it can be as a proof that your content is published by someone anonymous where it will remain open freely until you give proof that you are the owner of the content.

By holding the copyrights of your contents means that others always have to ask your permission to use your contents which includes sharing, modifying, and republishing. If others infringed these rights, it can be considered a crime. However, this becomes a hindrance if your intention is really sharing for free. That is where creative commons license comes in.

Creative Commons Licenses

https://file.army/i/BYcBlkj Creative commons licenses give every person and organization in the world a free, simple, and standardized way to grant copyright permissions for creative and academic works; ensure proper attribution; and allow others to copy, distribute, and make use of those works. Below are the list of license condition when using a work:

  • https://file.army/i/BYcB4OqAttribution (by) requires to give credit to the credit with at least mentioning the creator's name. You can additionally add the links to the creation or write a full reference format that includes authors, date, title, content location, and publisher.
  • https://file.army/i/BYcBXKIShareAlike (sa) allows sharing but with the condition of using the same license. For example when a content is licensed free and open by the creator, you must also share it for free and open and require others to do the same when sharing your already shared contents.
  • https://file.army/i/BYcB1FHNonCommercial (nc) prohibits of selling, taking profit, and everything else related to commercial.
  • https://file.army/i/BYcBMNfNoDerivatives (nd) prohibits any modification such adding characters, adding strokes to images, creating other formats such as html and pdf, and etc. The content must absolutely remain as it is.

Freedom Level of Common Licenses

https://file.army/i/BYcBGPk
Content Thief

Below are the level order of the freedom from most to least:

  1. https://file.army/i/BYcBKPeNo Rights Reserved (cc0). Do you think creative commons attribution is the most free license? Well, you are wrong. The most free license is public domain or no rights reserved where the contents are totally free and open that does not require crediting to the creators. Different from without license where anyone can claim the contents and license them anytime, public domains are license open and its licensed cannot be modify or overwritten by anyone. For example, the Internet, bitcoin and other open blockchain networks, and electricity. Some of the most simplest examples are the characters we write, the dots and lines we draw, and the language we speak, we don't to give attributions whenever we use them. Well at least to humans and other creators. If you are religious, maybe you are taught to thank the creator of the world or universe (whatever you believe in) everytime for example when you drink and eat because foods and drinks are rightly belongs to the creator of the world, we are only given and lent.
  2. https://file.army/i/BYcBeS5Creative Commons Attribution (cc-by): a license that grants others to use, share, modify, republish, and even for commercial without permission with the only condition of giving credit to the creators.
  3. https://file.army/i/BYcBvb7Creative Commons Attribution ShareAlike (cc-by-sa): a license that grants others to use, share, modify, and republish with two conditions of (1) giving credit to the creators and (2) must also share with the same license. In other words, others must give credits, share for free, and others who shares this already shared content must also do the same (must give credits, share for free, requires other sharers to do the same). If I'm not wrong, you can make it commercial but not directly. The contents must remain open where you are still allowed get profits through donations, monetization, etc. For example, you open a seminar, show, radio, etc about the content where you can charge people for the service but you are not allow to sell the contents, you can still put them in advertisements, and you can merge them with your products but the price must exclude the cc-by-sa contents which is like you sell a product but get the cc-by-sa contents free and others must be allowed to share those contents with the same cc-by-sa.
  4. https://file.army/i/BYcBxFACreative Commons Attribution NonCommercial (cc-by-nc): a license that grants others to use, share, modify, and republish with two conditions of (1) giving credit to the creators and (2) prohibited to commercialize such as selling, taking profits, etc.
  5. https://file.army/i/BYcBuQ1Creative Commons Attribution NoDerivatives (cc-by-nd): a license that grants others to use, share, modify, and republish with two conditions of (1) giving credit to the creators and (2) prohibited to derive and modify where it must be shared as it is. ShareAlike (sa) is not required here, because NoDerivatives (nd) already restricts to share the work as it is which it was originally opened so it must always be opened in the same form. It can still be commercialize but limited like putting the exact contents into a blog or video and receive money based on advertisements, donations, etc.
  6. https://file.army/i/BYcBZ8nCreative Commons Attribution NonCommercial ShareAlike (cc-by-nc-sa): like the cc-by-sa but exclude all the commercial parts which includes charity and monetization, even advertisements.
  7. https://file.army/i/BYcBIN4Creative Commons Attribution NoDerivatives (cc-by-nc-nd): like the cc-by-nd but exclude all the commercial parts which includes charity and monetization, even advertisements.
  8. https://file.army/i/BYcBOllCopyright all rights reserved, which I explained in previous sections that the anyone who wants to use, share, modify, or republish the contents must ask for permission to the holder of the copyright. It is in default given when creating contents.
  9. https://file.army/i/BYcB8kFRestricted, private, secret, or confidential. Do you think copyright gives the least freedom? Unfortunately, I found licenses not written in the book that is less free than copyrighted. In almost all platform you can set your post to private where either only you can see or with whom people you grant access to. Outside of contents, privacy is a common thing, for example most people prefer privacy when changing their clothes, going to the washroom, keeping a diary, their identification cards, etc. You probably have heard the saying, "please keep it a secret" or "this document is confidential" where if you tell anybody, you are breaking the code of secrecy. Finally, restricted, yes there are even online contents that are restricted such as adult sites where for example it is restricted for anyone below 18 years old and even if younger audience can access, they are violating the law and can be arrested. A different example is accessing a server's system, it is restricted only to administrators and its members where even if you find and use their IDs means you are stealing their IDs and if you force your way in means you are hacking. Another awkward case is maybe you stumble upon a restricted content in public due to the creators' mismanagement, even though it is there for you to see but you should not and ignore it, just like when your sister left her diary in the dining hall where you should either ignore, call her, or close the diary and give it to her hoping that she believes you that you did not read the contents.

License of My Online Contents

I've known about creative commons for years now but I only explored its type of licenses recently. My personal blogs and Youtube videos are license under creative common attribution for years because it was only one I knew other that copyright. I didn't put license on my posts on other platforms which are not personal because I simply forgot where usually I just need to set on the footer.

Now I would like to properly license all of my online contents including this article. The license I choose is Creative Commons LicenseCreative Commons Attribution-CustomizedShareAlike 4.0 International License. I Fajar Purnama as the creator customized the ShareAlike (sa) license here where you are also allowed to sell my contents but with a condition that you must mention that the free and open version is available here. In summary, the mention must contain the keyword "free" and "open" and the location such as the link to this content.

Mirror

April 11, 2020

Denial of Service (DOS) on Wifi using Ostinato Linux

I will create a separate software installation page.

Install Ostinato packet generator and all updates: http://software.opensuse.org /download.html?project=home:pstavirs:ostinato&package=ostinato

I use Ubuntu 12.04 LTS

sudo echo 'deb http://download.opensuse.org/repositories/home:pstavirs:ostinato/xUbuntu_12.04/ /' >> /etc/apt/sources.list

sudo apt-get update

sudo apt-get install ostinato

Install wifi-radar, airmon-ng or aircrack, and wireshark.

https://file.army/i/BY26GDl
Open wifi-radar and check the wifi you want to test. Here my wifi sensor.

For the wireless adapter to be monitored:

sudo ifconfig wlan0 is down

sudo iwconfig wlan0 monitor mode

sudo ifconfig wlan0 up

If you do this, you cannot connect to the hotspot. To restore as before, do the above but "sudo iwconfig wlan0 managed mode".

https://file.army/i/BY26lCs
I do something else because I want to use the internet, which is using airmon-ng. "sudo airmon-ng start wlan0 (channel)". I'm channel 11. Seen to make a virtual device that is mon0. wlan0 still exists.
https://file.army/i/BY26hYj
Open wireshark "sudo wireshark" and open the capture option on the tab.
https://file.army/i/BY261hk
Select mon0 or wlan0 if it is monitor and start.
https://file.army/i/BY26Msv
Look for PROBE REQUEST packages or similar on other networks. Right-click, copy, bytes, hexstream.
https://file.army/i/BY26QjH
Open the ostinato "sudo ostinato". Click + on the port. Select mon0.
https://file.army/i/BY26A6f
File > port configuration > interleaved stream (to send packets continuously). Right-click on the right screen, add stream. Select the gear for configuration (click 2x). Select advance.
https://file.army/i/BY26C3I
Select hexdump, place it on the right screen and click the button in the middle.
https://file.army/i/BY26pqV
Select the data protocol on the tab. To copy paste a packet from WireShark, press "Ctrl". Add 00000 ... to the size of the package as you wish.
https://file.army/i/BY26Fxp
Choose stream control and per packet / sec shipment size (I am 3000). Click the ok button and if there is anything "yes", then click apply.
https://file.army/i/BY26dpK
Select the port you want to send (I'm port 2, please try) and click start tx (play button).
https://file.army/i/BY26fDD
If it is true on wireshark many packet requests and responses will occur. Other users will see "limited access" alias "!" on the wireless.

Reference

WIRELESS HACKING, Efvy Zam.

Mirror