Ecoer Logo
VOTING POWER0.00%
DOWNVOTE POWER0.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.000USD
STEEM
0.000STEEM
SBD
0.000SBD
Own SP
0.000SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.000SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
0.000SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "0.000000 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namekopipe
id1337659
rank1,862,368
reputation6032800
created2019-11-18T09:52:06
recovery_accountoracle-d
proxyNone
post_count3
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2019-11-26T07:22:42
last_root_post2019-11-26T07:22:42
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares0.000000 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2019-11-18T10:21:03
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 1337659,
  "name": "kopipe",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5STj6vYXHDAB1d3iNeGfcDs7Q1CYbZuddwBZK5sLzyX7AnzU2B",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5uXdNLPg8tiQgkUERz5M58Jq3F1vRU19xfkkPMF6ZDhzBXdD86",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7DrvQKxKerMvsP5V3HNspKd37NpE8YqFCGCKSZs2R56uUnKkLH",
        1
      ]
    ]
  },
  "memo_key": "STM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX",
  "json_metadata": "{\"app\":{\"host\":\"widget.steem.ninja\",\"about\":\"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.\",\"website\":\"https://steem.ninja\",\"blog\":\"https://steemit.com/@steem.ninja\"},\"profile\":{\"cover_image\":\"https://cdn.steem.ninja/default_cover.jpg\",\"profile_image\":\"https://pbs.twimg.com/profile_images/1191991647430561792/3i2ohOwA.jpg\",\"name\":\"Fred Brennan 🔣🇵🇭✝\",\"website\":\"https://github.com/ctrlcctrlv\"}}",
  "posting_json_metadata": "",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2019-11-18T10:21:03",
  "created": "2019-11-18T09:52:06",
  "mined": false,
  "recovery_account": "oracle-d",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 3,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": 0,
    "last_update_time": 1574070726
  },
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1574070726
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "0.000000 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2019-11-26T07:22:42",
  "last_root_post": "2019-11-26T07:22:42",
  "last_vote_time": "1970-01-01T00:00:00",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 6032800,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 1862368
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
2019/11/26 07:22:42
parent author
parent permlinkfontforge
authorkopipe
permlinkthe-use-of-unicode-data-in-font-creation
titleThe use of Unicode data in font creation
bodyI've worn many hats over the years&hellip;one of my favorites is FontForge contributor. [Back on August 13<sup>th</sup>](https://github.com/fontforge/fontforge/pull/3852), I made it so when you close the Execute Script dialog, you won't lose the associated script. One reason for that is I frequently write useful scripts which I accidentally lose when closing FontForge. Today I'll present one. I'm making a typewriter font&hellip;[have been since May](https://twitter.com/HW_BEAT_THAT/status/1134437602331725824)! One of the things that makes this font different is that when two same letters are nearby they do not look identical, unlike almost every font in existence&hellip;minus another font of mine, [Quaerite Regnum Dei](https://github.com/ctrlcctrlv/QuaeriteRegnumDei). 😉 What I'm going for with this project is maximum realism. I've studied output of real typewriters a little too much, and tinkered with GIMP scripts ~~a little~~ *way* too much, to get acceptable procedurally generated output. So, the precomposed characters in this font, according to my vision, should look as if they were made on a typewriter&mdash;type the base letter, backspace, type the mark. Meaning, marks, within reason, must not move from letter to letter; &ntilde; and &atilde; must have the mark in the same place if overlaid on top of one another, same with &Ntilde; and &Atilde;, however I'm willing to imagine a typewriter with two versions of each mark, one for uppercase and lowercase letters. So unlike basically all fonts where what you want to do is place anchors carefully on each letter, in this font we want uniformity. That means we can use the FontForge Python API to place our marks. Another anomaly is that we really only need one `mark` (Mark to Base Positioning) class, let's call it `themarkclass`, even though this font has some top marks, bottom marks, even the Hebrew *dagesh* middle mark, because it's monospaced. Here's a script to figure out which characters should get marks: ```python import unicodedata f=fontforge.fonts()[0] for g in f.glyphs("encoding"): e=chr(0 if g.unicode == -1 else g.unicode) # Encoding... c=unicodedata.category(e) # Unicode "category", looks like e.g. "Lu" d=unicodedata.decomposition(e) # Unicode "decomposition", for Ñ would be "004E 0303" il=('L' in c and ('u' in c or 'l' in c) and not d) # Is "e" a base letter? if il: print(g.glyphname, e, "L") ``` We get some interesting output like: ``` ... grk_ALPHA Α L grk_BETA Β L grk_GAMMA Γ L grk_DELTA Δ L grk_EPSILON Ε L grk_ZETA Ζ L grk_ETA Η L grk_THETA Θ L grk_IOTA Ι L grk_KAPPA Κ L grk_LAMDA Λ L grk_MU Μ L grk_NU Ν L grk_XI Ξ L grk_OMICRON Ο L grk_PI Π L grk_RHO Ρ L grk_SIGMA Σ L grk_TAU Τ L grk_UPSILON Υ L grk_PHI Φ L grk_CHI Χ L grk_PSI Ψ L grk_OMEGA Ω L ... ``` All right! And for our marks we can just say: ```python im = 'M' in c if im: print(g.glyphname, e, "M") ``` Now we've got as well: ``` ... uni05B0 ְ M uni05B1 ֱ M uni05B2 ֲ M uni05B3 ֳ M uni05B4 ִ M uni05B5 ֵ M uni05B6 ֶ M uni05B7 ַ M uni05B8 ָ M uni05B9 ֹ M uni05BA ֺ M uni05BB ֻ M dagesh ּ M uni05BF ֿ M shin_dot ׁ M sin_dot ׂ M ... ``` All that's left to do is use the FontForge API to add the marks... ```python if il: g.addAnchorPoint("theclass","base",0,(0 if 'u' in c else -114)) if im: g.addAnchorPoint("theclass","mark",0,0) ``` And let's also add the needed tables! ```python f.addLookup("mark1","gpos_mark2base",(),(("mark",(("latn",("dflt")),("cyrl",("dflt")),("grek",("dflt")))),) ) f.addLookupSubtable("mark1", "mark1-1") f.addAnchorClass("mark1-1", "theclass") ``` **Voil&agrave;!** [![2019-11-26-151059_3456x1656_scrot.png](https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png)](https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png)) Now we can tell FontForge we want it to generate Latin-1 for us just by going to the **Element&rarr;Build** menu; as long as we have the letters needed, and the marks needed (it's best for Latin-1 to add 0-width marks to the block beginning at U+0300), it will build them. Be aware, if that's *not* true, it will do its best, and its best is often...terrible. ![2019-11-26-152316_976x945_scrot.png](https://cdn.steemitimages.com/DQmbJprY8UZMERWsnr6HZikZEWF8MUJ8ZexEX2UDgAKk7mu/2019-11-26-152316_976x945_scrot.png) <sub>Can you tell which one FontForge generated?</sub>
json metadata{"tags":["fontforge"],"image":["https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png","https://cdn.steemitimages.com/DQmbJprY8UZMERWsnr6HZikZEWF8MUJ8ZexEX2UDgAKk7mu/2019-11-26-152316_976x945_scrot.png"],"links":["https://github.com/fontforge/fontforge/pull/3852","https://twitter.com/HW_BEAT_THAT/status/1134437602331725824","https://github.com/ctrlcctrlv/QuaeriteRegnumDei","https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #38506258/Trx f1ad04c493fcc6b58f9774a412d1ab8b86120837
View Raw JSON Data
{
  "trx_id": "f1ad04c493fcc6b58f9774a412d1ab8b86120837",
  "block": 38506258,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-26T07:22:42",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "fontforge",
      "author": "kopipe",
      "permlink": "the-use-of-unicode-data-in-font-creation",
      "title": "The use of Unicode data in font creation",
      "body": "I've worn many hats over the years&hellip;one of my favorites is FontForge contributor. [Back on August 13<sup>th</sup>](https://github.com/fontforge/fontforge/pull/3852), I made it so when you close the Execute Script dialog, you won't lose the associated script.\n\nOne reason for that is I frequently write useful scripts which I accidentally lose when closing FontForge. Today I'll present one.\n\nI'm making a typewriter font&hellip;[have been since May](https://twitter.com/HW_BEAT_THAT/status/1134437602331725824)! One of the things that makes this font different is that when two same letters are nearby they do not look identical, unlike almost every font in existence&hellip;minus another font of mine, [Quaerite Regnum Dei](https://github.com/ctrlcctrlv/QuaeriteRegnumDei). 😉\n\nWhat I'm going for with this project is maximum realism. I've studied output of real typewriters a little too much, and tinkered with GIMP scripts ~~a little~~ *way* too much, to get acceptable procedurally generated output. So, the precomposed characters in this font, according to my vision, should look as if they were made on a typewriter&mdash;type the base letter, backspace, type the mark. Meaning, marks, within reason, must not move from letter to letter; &ntilde; and &atilde; must have the mark in the same place if overlaid on top of one another, same with &Ntilde; and &Atilde;, however I'm willing to imagine a typewriter with two versions of each mark, one for uppercase and lowercase letters.\n\nSo unlike basically all fonts where what you want to do is place anchors carefully on each letter, in this font we want uniformity. That means we can use the FontForge Python API to place our marks.  Another anomaly is that we really only need one `mark` (Mark to Base Positioning) class, let's call it `themarkclass`, even though this font has some top marks, bottom marks, even the Hebrew *dagesh* middle mark, because it's monospaced.\n\nHere's a script to figure out which characters should get marks:\n\n```python\nimport unicodedata\nf=fontforge.fonts()[0]\n\nfor g in f.glyphs(\"encoding\"):\n  e=chr(0 if g.unicode == -1 else g.unicode) # Encoding...\n  c=unicodedata.category(e) # Unicode \"category\", looks like e.g. \"Lu\"\n  d=unicodedata.decomposition(e) # Unicode \"decomposition\", for Ñ would be \"004E 0303\"\n  il=('L' in c and ('u' in c or 'l' in c) and not d) # Is \"e\" a base letter?\n  if il: print(g.glyphname, e, \"L\")\n```\n\nWe get some interesting output like:\n\n```\n...\ngrk_ALPHA Α L\ngrk_BETA Β L\ngrk_GAMMA Γ L\ngrk_DELTA Δ L\ngrk_EPSILON Ε L\ngrk_ZETA Ζ L\ngrk_ETA Η L\ngrk_THETA Θ L\ngrk_IOTA Ι L\ngrk_KAPPA Κ L\ngrk_LAMDA Λ L\ngrk_MU Μ L\ngrk_NU Ν L\ngrk_XI Ξ L\ngrk_OMICRON Ο L\ngrk_PI Π L\ngrk_RHO Ρ L\ngrk_SIGMA Σ L\ngrk_TAU Τ L\ngrk_UPSILON Υ L\ngrk_PHI Φ L\ngrk_CHI Χ L\ngrk_PSI Ψ L\ngrk_OMEGA Ω L\n...\n```\n\nAll right! And for our marks we can just say:\n\n```python\nim = 'M' in c\nif im: print(g.glyphname, e, \"M\")\n```\n\nNow we've got as well:\n\n```\n...\nuni05B0 ְ M\nuni05B1 ֱ M\nuni05B2 ֲ M\nuni05B3 ֳ M\nuni05B4 ִ M\nuni05B5 ֵ M\nuni05B6 ֶ M\nuni05B7 ַ M\nuni05B8 ָ M\nuni05B9 ֹ M\nuni05BA ֺ M\nuni05BB ֻ M\ndagesh ּ M\nuni05BF ֿ M\nshin_dot ׁ M\nsin_dot ׂ M\n...\n```\n\nAll that's left to do is use the FontForge API to add the marks...\n\n```python\nif il: g.addAnchorPoint(\"theclass\",\"base\",0,(0 if 'u' in c else -114))\nif im: g.addAnchorPoint(\"theclass\",\"mark\",0,0)\n```\n\nAnd let's also add the needed tables!\n\n```python\nf.addLookup(\"mark1\",\"gpos_mark2base\",(),((\"mark\",((\"latn\",(\"dflt\")),(\"cyrl\",(\"dflt\")),(\"grek\",(\"dflt\")))),)  )\nf.addLookupSubtable(\"mark1\", \"mark1-1\")\nf.addAnchorClass(\"mark1-1\", \"theclass\")\n```\n\n**Voil&agrave;!**\n\n\n[![2019-11-26-151059_3456x1656_scrot.png](https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png)](https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png))\n\nNow we can tell FontForge we want it to generate Latin-1 for us just by going to the **Element&rarr;Build** menu; as long as we have the letters needed, and the marks needed (it's best for Latin-1 to add 0-width marks to the block beginning at U+0300), it will build them. Be aware, if that's *not* true, it will do its best, and its best is often...terrible.\n\n![2019-11-26-152316_976x945_scrot.png](https://cdn.steemitimages.com/DQmbJprY8UZMERWsnr6HZikZEWF8MUJ8ZexEX2UDgAKk7mu/2019-11-26-152316_976x945_scrot.png)\n\n<sub>Can you tell which one FontForge generated?</sub>",
      "json_metadata": "{\"tags\":[\"fontforge\"],\"image\":[\"https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png\",\"https://cdn.steemitimages.com/DQmbJprY8UZMERWsnr6HZikZEWF8MUJ8ZexEX2UDgAKk7mu/2019-11-26-152316_976x945_scrot.png\"],\"links\":[\"https://github.com/fontforge/fontforge/pull/3852\",\"https://twitter.com/HW_BEAT_THAT/status/1134437602331725824\",\"https://github.com/ctrlcctrlv/QuaeriteRegnumDei\",\"https://cdn.steemitimages.com/DQmPj3zqggGDEgEvCFm6AtrNoQ4yhPP7xnfF8u5b18vNyh8/2019-11-26-151059_3456x1656_scrot.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2019/11/20 20:21:06
parent authorkopipe
parent permlinkq193ow
authorjohngilbert
permlinkq1ab76
title
bodyVery interesting. I did some digging and found your post about the theory that Jim owns the company. I am really curious about the timeline. The site was registered in May. Do you think that 8chan and VanwaTech have been connected since it was registered or since CloudFlare suspended their service?
json metadata{"app":"steemit/0.1"}
Transaction InfoBlock #38349308/Trx 8f6e692ca9df55d5f76768fc1bec05f9dfb93fb3
View Raw JSON Data
{
  "trx_id": "8f6e692ca9df55d5f76768fc1bec05f9dfb93fb3",
  "block": 38349308,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-20T20:21:06",
  "op": [
    "comment",
    {
      "parent_author": "kopipe",
      "parent_permlink": "q193ow",
      "author": "johngilbert",
      "permlink": "q1ab76",
      "title": "",
      "body": "Very interesting. I did some digging and found your post about the theory that Jim owns the company. I am really curious about the timeline. The site was registered in May. Do you think that 8chan and VanwaTech have been connected since it was registered or since CloudFlare suspended their service?",
      "json_metadata": "{\"app\":\"steemit/0.1\"}"
    }
  ]
}
2019/11/20 04:40:18
parent authorjohngilbert
parent permlinkq18ef0
authorkopipe
permlinkq193ow
title
bodyThere is no evidence that VanwaTech has any major clients other than 8chan. Lim claims to have "thousands" of clients but not a single major non-8chan client is known.
json metadata{"app":"steemit/0.1"}
Transaction InfoBlock #38330525/Trx aaebfdf95101600575d0fff9f7f19afa5a36fb76
View Raw JSON Data
{
  "trx_id": "aaebfdf95101600575d0fff9f7f19afa5a36fb76",
  "block": 38330525,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-20T04:40:18",
  "op": [
    "comment",
    {
      "parent_author": "johngilbert",
      "parent_permlink": "q18ef0",
      "author": "kopipe",
      "permlink": "q193ow",
      "title": "",
      "body": "There is no evidence that VanwaTech has any major clients other than 8chan. Lim claims to have \"thousands\" of clients but not a single major non-8chan client is known.",
      "json_metadata": "{\"app\":\"steemit/0.1\"}"
    }
  ]
}
2019/11/19 19:35:24
parent authorkopipe
parent permlink8chan-is-still-using-cloudflare
authorjohngilbert
permlinkq18ef0
title
bodyIs there a way for CloudFlare to withhold their services from 8chan without impacting all the other sites using VanwaTech?
json metadata{"app":"steemit/0.1"}
Transaction InfoBlock #38319644/Trx b200909cd3f6799dcf109c238465bc37cbfd1c20
View Raw JSON Data
{
  "trx_id": "b200909cd3f6799dcf109c238465bc37cbfd1c20",
  "block": 38319644,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-19T19:35:24",
  "op": [
    "comment",
    {
      "parent_author": "kopipe",
      "parent_permlink": "8chan-is-still-using-cloudflare",
      "author": "johngilbert",
      "permlink": "q18ef0",
      "title": "",
      "body": "Is there a way for CloudFlare to withhold their services from 8chan without impacting all the other sites using VanwaTech?",
      "json_metadata": "{\"app\":\"steemit/0.1\"}"
    }
  ]
}
2019/11/19 19:09:42
voterjohngilbert
authorkopipe
permlink8chan-is-still-using-cloudflare
weight10000 (100.00%)
Transaction InfoBlock #38319131/Trx ae6745ff345234c3a1b69fb9f8b8c87d040afe17
View Raw JSON Data
{
  "trx_id": "ae6745ff345234c3a1b69fb9f8b8c87d040afe17",
  "block": 38319131,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-19T19:09:42",
  "op": [
    "vote",
    {
      "voter": "johngilbert",
      "author": "kopipe",
      "permlink": "8chan-is-still-using-cloudflare",
      "weight": 10000
    }
  ]
}
2019/11/19 05:53:00
votergr3y
authorkopipe
permlink8chan-is-still-using-cloudflare
weight10000 (100.00%)
Transaction InfoBlock #38303225/Trx 222d11aa3a28e357757d5f3306e8fe3a518fe87c
View Raw JSON Data
{
  "trx_id": "222d11aa3a28e357757d5f3306e8fe3a518fe87c",
  "block": 38303225,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-19T05:53:00",
  "op": [
    "vote",
    {
      "voter": "gr3y",
      "author": "kopipe",
      "permlink": "8chan-is-still-using-cloudflare",
      "weight": 10000
    }
  ]
}
2019/11/18 12:16:45
parent author
parent permlinkcloudflare
authorkopipe
permlink8chan-is-still-using-cloudflare
title8chan is Still Using CloudFlare
body@@ -1987,16 +1987,17 @@ serve:%0A%0A +%5B !%5B2019-1 @@ -2145,16 +2145,134 @@ rot.png) +%5D(https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png) %0A%0AWhat a
json metadata{"tags":["eightchan"],"image":["https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png"],"links":["https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201","http://archive.is/tzA9C","http://archive.is/RuyDQ","https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png","https://github.com/kyprizel/testcookie-nginx-module","https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112","https://vanwatech.com/aes.js"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #38282138/Trx 105225b5694182129999a5024b76caaafd04d726
View Raw JSON Data
{
  "trx_id": "105225b5694182129999a5024b76caaafd04d726",
  "block": 38282138,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-18T12:16:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cloudflare",
      "author": "kopipe",
      "permlink": "8chan-is-still-using-cloudflare",
      "title": "8chan is Still Using CloudFlare",
      "body": "@@ -1987,16 +1987,17 @@\n serve:%0A%0A\n+%5B\n !%5B2019-1\n@@ -2145,16 +2145,134 @@\n rot.png)\n+%5D(https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png)\n %0A%0AWhat a\n",
      "json_metadata": "{\"tags\":[\"eightchan\"],\"image\":[\"https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png\"],\"links\":[\"https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201\",\"http://archive.is/tzA9C\",\"http://archive.is/RuyDQ\",\"https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png\",\"https://github.com/kyprizel/testcookie-nginx-module\",\"https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112\",\"https://vanwatech.com/aes.js\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2019/11/18 11:30:48
votersolidhyrax
authorkopipe
permlink8chan-is-still-using-cloudflare
weight-10000 (-100.00%)
Transaction InfoBlock #38281219/Trx aeeec000c1a2f649a48364d5e2d63fd9bfbc6bd1
View Raw JSON Data
{
  "trx_id": "aeeec000c1a2f649a48364d5e2d63fd9bfbc6bd1",
  "block": 38281219,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-18T11:30:48",
  "op": [
    "vote",
    {
      "voter": "solidhyrax",
      "author": "kopipe",
      "permlink": "8chan-is-still-using-cloudflare",
      "weight": -10000
    }
  ]
}
2019/11/18 11:20:45
parent author
parent permlinkcloudflare
authorkopipe
permlink8chan-is-still-using-cloudflare
title8chan is Still Using CloudFlare
body**TL;DR: 8kun (8chan) will not load unless clients pass CloudFlare's firewalls.** When Jim Watkins and son proudly claimed to the world and their users that they were going to be replacing CloudFlare's multimillion dollar network just for their 8chan website, I was skeptical. Many of their users, however, believed it; after all, they had not the necessary experience to realize what was being promised. Since then, they've dropped the «8chan» name, instead preferring to be called «8kun». I see no logical reason to begin doing so—the software is the same, the owners are the same, and the rules are the same. Some, [such as Ron Watkins to the Wall Street Journal](https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201), would say that a lack of /pol/ makes 8chan no longer 8chan. That seems dubious at best to me. As can be seen [in this archive](http://archive.is/tzA9C), among other places, and on 8chan itself when it is up, board creation was and is as of this writing still very much on the table; as the rules have hardly changed, to expect that a /pol/ or /pol/-like board will not reappear as soon as the world stops paying attention is a dubious proposition, and one I do not accept. Let's however analyze the network. How are they doing it, these intrepid entrepreneurs, out-competing CloudFlare, which jettisoned them? In which datacenters have they bought servers, which networking cables have they installed, which satellites have they launched? Let's stop kidding ourselves, Nick Lim has done none of that. After being kicked from network after network, and then registrar after registrar, rather impressively, they have for now found [an ISP that will allow their crusty ship to drop anchor and use its port](http://archive.is/RuyDQ). But they worry, oh you see. CloudFlare was so convenient! It had an excellent firewall, and stopped many attacks. If only they could find a way to use its network on the sly! They've found a way. Observe: ![2019-11-18-190814_3458x1644_scrot.png](https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png) What are we looking at here? I too was in doubt. We are looking at the output of an nginx module known as [testcookie](https://github.com/kyprizel/testcookie-nginx-module), except [configured to use client-side AES](https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112). We don't need to worry so much about this; it's pretty much irrelevant. It's a small roadblock in the way of would be miscreants. Perhaps it can even stop a few who don't care enough to drive around it, and instead turn around. What's really interesting is the URL https://vanwatech.com/aes.js, which computes the AES needed to get 8kun to load. Oh, computer! Tell me about VANWATECH.COM. ``` [fred@pc ~]$ whois vanwatech.com #? Domain Name: VANWATECH.COM Registry Domain ID: 2396981845_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.google.com Registrar URL: http://domains.google Updated Date: 2019-05-31T05:40:51Z Creation Date: 2019-05-31T04:01:37Z Registry Expiry Date: 2020-05-31T04:01:37Z Registrar: Google LLC Registrar IANA ID: 895 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: +1.8772376466 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Name Server: LISA.NS.CLOUDFLARE.COM Name Server: MARK.NS.CLOUDFLARE.COM DNSSEC: unsigned ``` CloudFlare nameservers? Well, perhaps he's just using their free DNS, let's not jump to concl&mdash; ``` [fred@pc ~]$ dig A vanwatech.com +noall +answer # dig, you really doth protest too much vanwatech.com. 299 IN A 104.27.148.220 vanwatech.com. 299 IN A 104.27.149.220 ``` And of course 104.16.0.0/12 is CLOUDFLARENET, meaning, CloudFlare owns these IPs. So what does it all mean? Well, to load 8kun your computer needs to pass an AES challenge. That challenge can only be passed if your computer knows where to get the script which says how to compute it, `aes.js`, from. `aes.js` is hosted on VANWATECH.COM. VANWATECH.COM is hosted on CloudFlare. In sum, *CloudFlare is defending 8chan today, 18<sup>th</sup> November 2019*. I call on CloudFlare to kick them off. They sent a strong message when they kicked 8chan off, and hopefully they won't allow them back in through this backdoor. VanwaTech's anti-DDoS service is nothing but some open source nginx module and CloudFlare's firewall.
json metadata{"tags":["cloudflare","eightchan"],"image":["https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png"],"links":["https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201","http://archive.is/tzA9C","http://archive.is/RuyDQ","https://github.com/kyprizel/testcookie-nginx-module","https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112","https://vanwatech.com/aes.js"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #38281018/Trx b5ccf506fd80413d40e21c0bb82eeb65ee14a784
View Raw JSON Data
{
  "trx_id": "b5ccf506fd80413d40e21c0bb82eeb65ee14a784",
  "block": 38281018,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-18T11:20:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "cloudflare",
      "author": "kopipe",
      "permlink": "8chan-is-still-using-cloudflare",
      "title": "8chan is Still Using CloudFlare",
      "body": "**TL;DR: 8kun (8chan) will not load unless clients pass CloudFlare's firewalls.**\n\nWhen Jim Watkins and son proudly claimed to the world and their users that they were going to be replacing CloudFlare's multimillion dollar network just for their 8chan website, I was skeptical. Many of their users, however, believed it; after all, they had not the necessary experience to realize what was being promised.\n\nSince then, they've dropped the «8chan» name, instead preferring to be called «8kun». I see no logical reason to begin doing so—the software is the same, the owners are the same, and the rules are the same. Some, [such as Ron Watkins to the Wall Street Journal](https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201), would say that a lack of /pol/ makes 8chan no longer 8chan. That seems dubious at best to me. As can be seen [in this archive](http://archive.is/tzA9C), among other places, and on 8chan itself when it is up, board creation was and is as of this writing still very much on the table; as the rules have hardly changed, to expect that a /pol/ or /pol/-like board will not reappear as soon as the world stops paying attention is a dubious proposition, and one I do not accept.\n\nLet's however analyze the network. How are they doing it, these intrepid entrepreneurs, out-competing CloudFlare, which jettisoned them? In which datacenters have they bought servers, which networking cables have they installed, which satellites have they launched?\n\nLet's stop kidding ourselves, Nick Lim has done none of that. After being kicked from network after network, and then registrar after registrar, rather impressively, they have for now found [an ISP that will allow their crusty ship to drop anchor and use its port](http://archive.is/RuyDQ). But they worry, oh you see. CloudFlare was so convenient! It had an excellent firewall, and stopped many attacks. If only they could find a way to use its network on the sly!\n\nThey've found a way. Observe:\n\n![2019-11-18-190814_3458x1644_scrot.png](https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png)\n\nWhat are we looking at here? I too was in doubt. We are looking at the output of an nginx module known as [testcookie](https://github.com/kyprizel/testcookie-nginx-module), except [configured to use client-side AES](https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112).\n\nWe don't need to worry so much about this; it's pretty much irrelevant. It's a small roadblock in the way of would be miscreants. Perhaps it can even stop a few who don't care enough to drive around it, and instead turn around. What's really interesting is the URL https://vanwatech.com/aes.js, which computes the AES needed to get 8kun to load.\n\nOh, computer! Tell me about VANWATECH.COM.\n\n```\n[fred@pc ~]$ whois vanwatech.com #?\n   Domain Name: VANWATECH.COM\n   Registry Domain ID: 2396981845_DOMAIN_COM-VRSN\n   Registrar WHOIS Server: whois.google.com\n   Registrar URL: http://domains.google\n   Updated Date: 2019-05-31T05:40:51Z\n   Creation Date: 2019-05-31T04:01:37Z\n   Registry Expiry Date: 2020-05-31T04:01:37Z\n   Registrar: Google LLC\n   Registrar IANA ID: 895\n   Registrar Abuse Contact Email: [email protected]\n   Registrar Abuse Contact Phone: +1.8772376466\n   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\n   Name Server: LISA.NS.CLOUDFLARE.COM\n   Name Server: MARK.NS.CLOUDFLARE.COM\n   DNSSEC: unsigned\n```\n\n\nCloudFlare nameservers? Well, perhaps he's just using their free DNS, let's not jump to concl&mdash;\n\n```\n[fred@pc ~]$ dig A vanwatech.com +noall +answer # dig, you really doth protest too much\nvanwatech.com.\t\t299\tIN\tA\t104.27.148.220\nvanwatech.com.\t\t299\tIN\tA\t104.27.149.220\n```\n\nAnd of course 104.16.0.0/12 is CLOUDFLARENET, meaning, CloudFlare owns these IPs.\n\nSo what does it all mean? Well, to load 8kun your computer needs to pass an AES challenge. That challenge can only be passed if your computer knows where to get the script which says how to compute it, `aes.js`, from. `aes.js` is hosted on VANWATECH.COM. VANWATECH.COM is hosted on CloudFlare. In sum, *CloudFlare is defending 8chan today, 18<sup>th</sup> November 2019*.\n\nI call on CloudFlare to kick them off. They sent a strong message when they kicked 8chan off, and hopefully they won't allow them back in through this backdoor. VanwaTech's anti-DDoS service is nothing but some open source nginx module and CloudFlare's firewall.",
      "json_metadata": "{\"tags\":[\"cloudflare\",\"eightchan\"],\"image\":[\"https://cdn.steemitimages.com/DQmatZpFnU2pffdxhvFW2JGXngetYSU99y47P86bfEP6ieo/2019-11-18-190814_3458x1644_scrot.png\"],\"links\":[\"https://www.wsj.com/articles/notorious-8chan-forum-is-an-internet-nomad-11573909201\",\"http://archive.is/tzA9C\",\"http://archive.is/RuyDQ\",\"https://github.com/kyprizel/testcookie-nginx-module\",\"https://github.com/kyprizel/testcookie-nginx-module/blob/master/doc/usecases.txt#L112\",\"https://vanwatech.com/aes.js\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
kopipeupdated their account properties
2019/11/18 10:21:03
accountkopipe
memo keySTM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX
json metadata{"app":{"host":"widget.steem.ninja","about":"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.","website":"https://steem.ninja","blog":"https://steemit.com/@steem.ninja"},"profile":{"cover_image":"https://cdn.steem.ninja/default_cover.jpg","profile_image":"https://pbs.twimg.com/profile_images/1191991647430561792/3i2ohOwA.jpg","name":"Fred Brennan 🔣🇵🇭✝","website":"https://github.com/ctrlcctrlv"}}
Transaction InfoBlock #38279829/Trx 1a3b5d7a17b776e1969a35604836fca81cc606c5
View Raw JSON Data
{
  "trx_id": "1a3b5d7a17b776e1969a35604836fca81cc606c5",
  "block": 38279829,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-18T10:21:03",
  "op": [
    "account_update",
    {
      "account": "kopipe",
      "memo_key": "STM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX",
      "json_metadata": "{\"app\":{\"host\":\"widget.steem.ninja\",\"about\":\"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.\",\"website\":\"https://steem.ninja\",\"blog\":\"https://steemit.com/@steem.ninja\"},\"profile\":{\"cover_image\":\"https://cdn.steem.ninja/default_cover.jpg\",\"profile_image\":\"https://pbs.twimg.com/profile_images/1191991647430561792/3i2ohOwA.jpg\",\"name\":\"Fred Brennan 🔣🇵🇭✝\",\"website\":\"https://github.com/ctrlcctrlv\"}}"
    }
  ]
}
oracle-dcreated a new account: @kopipe
2019/11/18 09:52:06
creatororacle-d
new account namekopipe
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5STj6vYXHDAB1d3iNeGfcDs7Q1CYbZuddwBZK5sLzyX7AnzU2B",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5uXdNLPg8tiQgkUERz5M58Jq3F1vRU19xfkkPMF6ZDhzBXdD86",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7DrvQKxKerMvsP5V3HNspKd37NpE8YqFCGCKSZs2R56uUnKkLH",1]]}
memo keySTM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX
json metadata{"app":{"host":"widget.steem.ninja","about":"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.","website":"https://steem.ninja","blog":"https://steemit.com/@steem.ninja"},"profile":{"about":"This account was created via @steem.ninja","cover_image":"https://cdn.steem.ninja/default_cover.jpg","profile_image":"https://robohash.org/kopipe.png"}}
extensions[]
Transaction InfoBlock #38279250/Trx a6b3d186a5c4e197dceb2fdc182c09210a7a1e40
View Raw JSON Data
{
  "trx_id": "a6b3d186a5c4e197dceb2fdc182c09210a7a1e40",
  "block": 38279250,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-11-18T09:52:06",
  "op": [
    "create_claimed_account",
    {
      "creator": "oracle-d",
      "new_account_name": "kopipe",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5STj6vYXHDAB1d3iNeGfcDs7Q1CYbZuddwBZK5sLzyX7AnzU2B",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5uXdNLPg8tiQgkUERz5M58Jq3F1vRU19xfkkPMF6ZDhzBXdD86",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7DrvQKxKerMvsP5V3HNspKd37NpE8YqFCGCKSZs2R56uUnKkLH",
            1
          ]
        ]
      },
      "memo_key": "STM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX",
      "json_metadata": "{\"app\":{\"host\":\"widget.steem.ninja\",\"about\":\"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.\",\"website\":\"https://steem.ninja\",\"blog\":\"https://steemit.com/@steem.ninja\"},\"profile\":{\"about\":\"This account was created via @steem.ninja\",\"cover_image\":\"https://cdn.steem.ninja/default_cover.jpg\",\"profile_image\":\"https://robohash.org/kopipe.png\"}}",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
app{"host":"widget.steem.ninja","about":"Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.","website":"https://steem.ninja","blog":"https://steemit.com/@steem.ninja"}
profile{"cover_image":"https://cdn.steem.ninja/default_cover.jpg","profile_image":"https://pbs.twimg.com/profile_images/1191991647430561792/3i2ohOwA.jpg","name":"Fred Brennan 🔣🇵🇭✝","website":"https://github.com/ctrlcctrlv"}
{
  "posting_json_metadata": {},
  "json_metadata": {
    "app": {
      "host": "widget.steem.ninja",
      "about": "Steem.Ninja is a Steem account creation services provided by Oracle-D Communities Limited.",
      "website": "https://steem.ninja",
      "blog": "https://steemit.com/@steem.ninja"
    },
    "profile": {
      "cover_image": "https://cdn.steem.ninja/default_cover.jpg",
      "profile_image": "https://pbs.twimg.com/profile_images/1191991647430561792/3i2ohOwA.jpg",
      "name": "Fred Brennan 🔣🇵🇭✝",
      "website": "https://github.com/ctrlcctrlv"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM5STj6vYXHDAB1d3iNeGfcDs7Q1CYbZuddwBZK5sLzyX7AnzU2B1/1
Active
Single Signature
Public Keys
STM5uXdNLPg8tiQgkUERz5M58Jq3F1vRU19xfkkPMF6ZDhzBXdD861/1
Posting
Single Signature
Public Keys
STM7DrvQKxKerMvsP5V3HNspKd37NpE8YqFCGCKSZs2R56uUnKkLH1/1
Memo
STM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5STj6vYXHDAB1d3iNeGfcDs7Q1CYbZuddwBZK5sLzyX7AnzU2B",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5uXdNLPg8tiQgkUERz5M58Jq3F1vRU19xfkkPMF6ZDhzBXdD86",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7DrvQKxKerMvsP5V3HNspKd37NpE8YqFCGCKSZs2R56uUnKkLH",
        1
      ]
    ]
  },
  "memo": "STM6jEs8gYKLZhays9Eh5JBvkzgbho4h5wj2Z2XmtTwy9NGhRaJfX"
}

Witness Votes

0 / 30
No active witness votes.
[]