Boomly

Format converter: how to parse the delivery

The catalogue hands out accounts in several incompatible shapes — and one tool brings them to a common form right in the browser.

Why there is no single format

The catalogue is assembled from batches of different suppliers, and each batch arrives exactly as its source hands it over. The shop does not undertake to bring everything to one format: that would mean rewriting the data, and rewriting means introducing errors into it. Instead the format is stated honestly in every position title, after the word «Format».

The set of shapes on the storefront is not constant — it changes together with the stock, so memorising how many of them there are is pointless. What you look at is the mark of the particular position. These are the shapes the catalogue carries now.

ShapeWhat it is
Login:Pass|Cookielogin and password, cookie after the vertical bar
Login:Pass:2FA_code|Cookiethe same plus a two-factor authentication key
IAMa profile for InstAccountsManager
IAM (No Cookie)a profile without a cookie — sign-in by login and password
IGAMa profile that opens in InstAccountsManager only
stringone value per record — that is how User-Agent ships; part of these positions carry the mark «for InstAccountsManager»

The shapes fall into two incompatible groups. The text ones — Login:Pass|Cookie, Login:Pass:2FA_code|Cookie and «string» — open in a notepad and load anywhere. IAM, IAM (No Cookie) and IGAM profiles have nothing to parse: the fields sit inside a file that a specific piece of software opens.

The format converter works with the text shapes only, and that is a property of the data rather than a limitation of the tool. If the title says a profile, there is nothing to reshape into the form your program expects — compatibility is settled before payment, by the choice of position.

The format mark stands in the title next to the others: origin, age, state and contents. It is usually read last, while the position is worth picking starting exactly from it — an incompatible format cancels out everything else, the storage period and the mailbox in the set included.

The main parsing mistake: the colon

A line like Login:Pass:2FA_code|Cookie looks as if splitting it by colon were enough. In practice that breaks the data almost every time: the cookie comes after the vertical bar and contains colons itself, inside its values. Split the whole line by colon and you get two dozen fragments instead of six fields.

The correct order of actions is the reverse: first cut off the tail after the first vertical bar — that is the cookie in one piece — and only then split the remaining head by colon. The on-site format converter is built exactly this way, which is why it does not break on live positions.

  • The tail after «|» is the cookie: we neither touch it nor cut it.
  • The head before «|» is login, password and then as the case may be: mail, mail password, 2FA key.
  • The field order in the head differs between batches, so the converter does not guess it from a template but detects it by signs.

You can verify this on a single record. Take any line from the delivery, cut off the tail after the first vertical bar and count what is left in the head: there must be exactly as many values as the position card promised. More means you are cutting in the wrong place.

How the converter recognises the fields

Instead of one «correct» template the tool parses by signs. A value with an @ sign is taken for the mail; the one that follows it, for the mail password. A long run of capital letters and digits is recognised as a two-factor authentication key: the 2FA secret is always written exactly that way. Everything else is distributed by position.

In total the tool tells six fields apart, and that is enough for any text shape in the catalogue.

  • Login and password — the first values in the head of the line.
  • Mail — the value with an @ sign; the mail password is what stands right after it.
  • 2FA key — a long run of capital letters and digits.
  • Cookie — the whole tail after the vertical bar, in one piece and unchanged.

Sign-based parsing does not require knowing the field order in advance, and that is its main property: deliveries from different suppliers go through the same run, without fitting a template to every batch.

That is why the converter shows not only the result but also how many lines it parsed and which fields it found in them. This is the check itself: if a batch marked «With Email» has no mail field in a single line, you learn about it before you load the list into your software — and still inside the thirty-minute replacement window.

What you set on the output and what you do not

One thing is set on the output: the composition and order of fields. The order is not typed as text — fields line up as you click them, and a wrong sequence is reset with one button and assembled again. An unselected field does not reach the result at all; a selected one missing from the source line stands as an empty slot, so the columns do not shift.

The separator is configurable neither on the input nor on the output, and that is deliberate. On the input it is detected per line — colon, semicolon, tab, comma or vertical bar: deliveries from different places land in one file, and a common separator would spoil the lines written otherwise. On the output the fields are always glued with a colon, the shape the shop delivers accounts in.

  • Fields absent from the source line are inserted empty — the column structure does not shift.
  • Extra fields are simply left out of the order and do not reach the result.
  • Everything is computed in the browser: the source list goes nowhere, only the fact that the page was opened reaches the server.

This is set up once for your import and does not change from batch to batch afterwards — only the input changes. That is the point of the tool: to bring different inputs to one output of yours.

The last item deserves a separate mention. Account lists are login credentials, and loading them into third-party online converters is not worth doing at all. Here that problem is absent by the design of the tool rather than by a promise: the computation runs on your side.

A file on the input, the line counter and the export

A batch of a hundred records is awkward to carry through the clipboard, so the tool takes a file: the delivery is dropped in whole instead of being pasted in pieces. The result is exported back into .txt — the same file that goes into the import next.

The counter of parsed lines is an instrument of control rather than decoration. The number of records must match the volume you paid for. It matches — the batch arrived in full; it does not — the discrepancy is visible before the list goes into the software, and before the replacement window closes.

  • Loaded the file — compared the counter of parsed lines with the ordered volume.
  • Assembled the field order by clicks, reset it with the button after a mistake and assembled it again.
  • Compared the field composition with what the import expects: an unselected field will not reach the file.
  • Exported the .txt and only then opened the account manager.

It is worth comparing not only the number of lines but also that the export carries no empty columns where the card promised a field. An empty column is a legitimate way to keep the structure, but if it is exactly the mail or the 2FA key that stands empty, that is already a discrepancy with the position description.

The whole check fits into a minute and is done before the first login. That is markedly cheaper than discovering a missing field after the load, when thirty minutes have passed and the position counts as accepted.

Short answers

Related pages