Hic inserere motto

tgbot - a Telegram bot in Bash

March 14, 2020 — shinohai

tgbot is, as the title says, a extensible Telegram bot written in Bash. It is what telegram-bot-bash was originally supposed to be before it became a bloated clusterfuck.

But why Bash? Because it's everywhere. This bot is mainly useful for folks that want to quickly set up a bot to automate tasks or announce rss feeds in a Telegram group. This functionality isn't included in this vpatch, but instead the user is invited to write their own commands and functions. Examples are included in the "commands" script.

To use:

Grab the vpatch and seal from here and press using a keccak-based vtron.

Make the following files executable:

  • commands
  • global
  • sendNotify
  • tgbot

Create a new bot by sending a message to @BotFather. After completing the creation steps, copy your token to the "token" file, and save with user-readable permissions.

Then start the bot in a tmux or screen session by simply running `./tgbot`. The bot writes it's logfile to "logfile.txt" in the directory it is running in.


Run this bot with root permissions, even if "just testing"! Telegram is a cesspool and you will quickly come to grief.

Otherwise, enjoy.

Tags: News, UNIX

Trilema announces closure

March 12, 2020 — shinohai

Mircea Popescu published a blog post earlier this morning announcing the end of "TMSR" activities on Trilema, presumably so he can focus his time on other important activities such as hippo training.

For some strange reason, the burning fires and attrition rates in the past few years reminded me of an excerpt by Mark Twain:

We played robber now and then about a month, and then I resigned. All the boys did. We hadn’t robbed nobody, hadn’t killed any people, but only just pretended. We used to hop out of the woods and go charging down on hog-drivers and women in carts taking garden stuff to market, but we never hived any of them. Tom Sawyer called the hogs “ingots,” and he called the turnips and stuff “julery,” and we would go to the cave and powwow over what we had done, and how many people we had killed and marked. But I couldn’t see no profit in it. -Huckleberry Finn.

The future of other former TMSR endeavours, such as Qntra and Eulora, remain unclear at this time.

Tags: News, Lulz, TMSR genesis

March 10, 2020 — shinohai

This is a genesis vpatch for a bash script that takes all the functions of asciilifeform's lamport parachute and combines them into a single script for personal use.


Press using a keccak vtron of choice. Here I am using esthlos-v:

`v press lam-par.genesis.kv.vpatch lam-par/`

Change to the output directory, make the script executable, and run it:

lam-par # ./ --help

    --mkpriv     Generate a private key
    --priv2pub   Generate a public key from a private key
-s, --sign       Sign a message using your public key
-v, --verify     Verify a signed message using a public key

See for more details

Tags: News, Cryptography, UNIX

Robinhood falls along with other fiat markets

March 09, 2020 — shinohai

On the heels of a previous outage, robinhood customers reported widespread issues again this morning shortly after markets opened. Monday started off poorly for fiat markets, with reports of trading halts of 15 Minutes or more after the S&P 500 tanked 7% rapidly in early morning trading.

Meanwhile at MPEX storm clouds brew with some users hoping to get their coins off the exchange before the 2020 Lardship list is published.

Tags: News, Bitcoin, Cryptocurrency, Fiat, TMSR, Lulz

Spot the SFYL

March 06, 2020 — shinohai

Happy Friday afternoon. this week on the SFYL channel we present the following (compressed) image of some derp from twitter showing off his new "secure" Nano Ledger Bitcoin wallet.

Simon the smacktard forgot, however, to obscure the paper containing his device's seed phrase, conveniently demonstrating that some people just aren't ready to use Bitcoin yet. (archived)

Tags: News, Bitcoin, Insecurity, Lulz

Robinhood trading outage enters second day

March 03, 2020 — shinohai

Users of "Cryptocurrency" and fiat stock trading platform Robinhood reported widespread outages beginning on Monday, and is still operating intermittently at the time of this post. The ill timed bug, which some users reported may be attributed to forgetting to code in leap-year logic, occurred just as markets began a recovery from novel coronavirus fears.

Tags: News, Bitcoin, Cryptocurrency, Lulz

Let's encrypt announces pwn of 1 billion certs

February 28, 2020 — shinohai

Snake-oil salesman Let's Encrypt announced in a blog post earlier this week that they had issued 1 billion certificates since the company's creation in late 2014. The dubious milestone seems to indicate that potentially millions of websites are OK with having their "encrypted traffic" revealed by an entity that controls the system's master keys.

Tags: News, Cryptography, Lulz

trb mirror updates and build notes

February 26, 2020 — shinohai

The Bitcoin Foundation chairman mod6 recently published some new vpatches and added them to the foundation's website for testing. I haven't updated my personal mirror here on btcinfo in some time, at least since the Keccak regrind so this post will serve to do precisely that, and provide updated build instructions and notes.

Though mod6's post only mentions 3 vpatches, there are a total of 5 new vpatches that we will be adding to the trb mirror, as the last updated patch here was "asciilifeform_aggressive_pushgetblocks.vpatch". These vpatches are (listed in press order):

  • mod6_privkey_tools.vpatch
  • mod6_manifest.vpatch
  • mod6_phexdigit_fix.vpatch
  • mod6_excise_hash_truncation.vpatch
  • mod6_whogaveblox.vpatch

In order to press and build trb you will need a Keccak vtron, for these tests I used esthlos-v. The Bitcoin Foundation also has an alternative "how to" using another vtron version here. I am using the "OFFLINE" build instructions because I host my own dependency mirror and am using that.

My normal development and testing laptop is down at the time of writing, so I used my "daily driver" Gentoo computer when testing, which is unfortunately cursed with glibc-2.28. Though the initial press went fine, I quickly hit a wall during the buildroot step and got the following error:

freadahead.c: In function 'freadahead':
freadahead.c:91:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of 
fflush, fread, ungetc on your system, then report this to bug-gnulib."
  #error "Please port gnulib freadahead.c to your platform! Look at the definition of 
fflush, fread, ungetc on your system, then report this to bug-gnulib."
make[6]: *** [Makefile:1842: freadahead.o] Error 1
make[6]: *** Waiting for unfinished jobs....
In file included from fseeko.c:17:0:
./config.h:78:0: warning: "_FORTIFY_SOURCE" redefined
    # define _FORTIFY_SOURCE 2
: note: this is the location of the previous definition
fseeko.c: In function 'rpl_fseeko':
fseeko.c:109:4: error: #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, 
then report this to bug-gnulib."
   #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, 
then report this to bug-gnulib."

My solution was to simply add a patch to `buildroot-2015.05/package/m4` and restart the build. While I can't recommend doing this under normal circumstances (rather, one should instead use a Linux that isn't cursed) I have uploaded the patch I used here for the sake of documentation and thoroughness.

After applying the above duct-tape, the build proceeded smoothly and spat out the usual static bitcoind. To recap, here are the steps:

  • Download the patches, seals, wot, and dependencies from my mirror.
  • Press using esthlos-v: `v press mod6_whogaveblox trb054`
  • Move the dependencies to the proper location: `mv deps/*.asc trb054/bitcoin/deps`
  • Change directories and build: `cd trb054/bitcoin && make`

With all the uncertainty surrounding the fate of the foundation in certain circles, it feels good to have a page where my particular build is made public and commented. For the most part trb is in a "leave it the fuck alone" state, though at some point I'd like to see some Common Lisp or scheme wallet functions added to the mix.

As always, the journey continues!

Tags: News, Bitcoin, UNIX