Skip to content

feat(proxy): add tonutils reverse proxy#1935

Draft
aigerimu wants to merge 3 commits intomainfrom
tonutils-rev-proxy
Draft

feat(proxy): add tonutils reverse proxy#1935
aigerimu wants to merge 3 commits intomainfrom
tonutils-rev-proxy

Conversation

@aigerimu
Copy link
Contributor

closes #1828

@github-actions
Copy link
Contributor

To fix the formatting issues:

  1. Install necessary dependencises: npm ci
  2. Then, run this command:
    npm run fmt:some -- foundations/services.mdx

Alternatively, a maintainer can comment /fmt in this PR to auto-apply fixes in a new commit from the bot.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates in foundations/services.mdx: there are a couple of suggestions to align phrasing and capitalization with the style guide, so please apply the inline suggestions.

TON Proxy provides a protocol where nodes wishing to offer their services (with or without compensation) as tunnels for ADNL network traffic can register. Those needing them can then choose one of these nodes based on the price, latency, and bandwidth offered. Since ADNL traffic is encrypted, Proxy can't access tunneled data, meaning that this protocol is secure.

Running TON Proxy allows you to visit TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Generic concept capitalized in mid-sentence

Suggested change
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines +72 to +76
```bash
./tonutils-reverse-proxy-linux-amd64 --domain <your-domain.ton>
```

Then, scan the QR code shown in the terminal using the wallet. Confirm the transaction to link the required domain to the site.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Imperative instruction implies second-person reader

The instruction “Then, scan the QR code shown in the terminal using the wallet. Confirm the transaction to link the required domain to the site.” at foundations/services.mdx:76 uses an imperative structure that implicitly addresses the reader as “you” as they operate “the wallet”. The extended style guide explicitly prohibits addressing the reader with second-person constructions and requires impersonal, factual phrasing instead (see contribute/style-guide-extended.mdx:245-247 for the “Don’t get personal” rule). This phrasing therefore violates the style requirement to avoid second-person references and keep documentation impersonal.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

@aigerimu
Copy link
Contributor Author

/review

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates in foundations/services.mdx: there are several wording and placeholder consistency issues; please apply the inline suggestions to align phrasing, grammar, and command placeholders with the docs style.


- A flexible multi-blockchain platform with Turing-complete smart contracts (TON Blockchain)
- A peer-to-peer network used by Blockchain Nodes (TON Network)
- A peer-to-peer network used by blockchain nodes (TON Network)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Generic “blockchain nodes” capitalized mid‑sentence

Line 10 uses “Blockchain Nodes” mid‑sentence to describe a generic class of nodes rather than a named product or component. The style guide requires that generic concepts appear in lowercase and only proper nouns be capitalized, to keep terminology consistent and reduce cognitive load. “TON Network” is a product name and remains capitalized; “blockchain nodes” is not.

Suggested change
- A peer-to-peer network used by blockchain nodes (TON Network)

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

TON Proxy provides a protocol where nodes wishing to offer their services (with or without compensation) as tunnels for ADNL network traffic can register. Those needing them can then choose one of these nodes based on the price, latency, and bandwidth offered. Since ADNL traffic is encrypted, Proxy can't access tunneled data, meaning that this protocol is secure.

Running TON Proxy allows you to visit TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Reader‑addressing “allows you to visit TON Sites”

Line 39 previously contained the phrase “allows you to visit TON Sites”, which directly addressed the reader with “you”. The style guide bans second‑person pronouns in documentation prose to avoid assuming facts about the reader and to keep tone neutral and task‑focused. The updated wording “enables access to TON Sites” keeps the meaning while complying with this rule.

Suggested change
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Running TON Proxy allows you to visit TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".
Running TON Proxy enables access to TON Sites (HTTP over ADNL). This can be combined with TON DNS and other TON Services, forming together what is called "Open Network".

### Reverse proxy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Reverse proxy heading should be sentence‑case

Line 41 introduces the H3 heading “Reverse proxy”. The style guide requires headings to use sentence case, capitalizing only the first word and proper nouns, to improve readability and avoid inconsistent casing. In this heading, “Reverse” is correctly capitalized as the first word and “proxy” is a generic noun that should remain lowercase, which matches the current form and must be preserved in future edits.

Suggested change
### Reverse proxy
### Reverse proxy

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

Comment on lines +73 to +76
./tonutils-reverse-proxy-linux-amd64 --domain <your-domain.ton>
```

Then, scan the QR code shown in the terminal using the wallet. Confirm the transaction to link the required domain to the site.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Non‑canonical placeholder <your-domain.ton> without definition

Lines 73–76 use <your-domain.ton> as a variable placeholder in a command example. The style guide requires placeholders in commands and prose to follow the <ANGLE_CASE> pattern (for example, <DOMAIN_TON>) and to be defined on first use so readers clearly understand what to substitute. The current placeholder mixes a conversational “your‑” prefix with a specific .ton example and is not explicitly defined nearby, which makes the example less precise and less copy‑pasteable.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

./tonutils-reverse-proxy-linux-amd64 --domain <your-domain.ton>
```

Then, scan the QR code shown in the terminal using the wallet. Confirm the transaction to link the required domain to the site.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Reader‑addressing “using the wallet” with implied ownership

Line 76 instructs the reader to “scan the QR code … using the wallet”, which implicitly refers to “your wallet”. Even without the explicit pronoun, this phrasing mirrors second‑person address that the style guide prohibits, because it frames the action around the reader’s personal tools. Neutral wording should describe the action and tools generically, such as “with a TON wallet” or similar, to align with the rule against personal pronouns and framing.

Suggested change
Then, scan the QR code shown in the terminal using the wallet. Confirm the transaction to link the required domain to the site.
Then, scan the QR code shown in the terminal with a TON wallet. Confirm the transaction to link the selected domain to the site.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!


- without domain configuration:

Alternatively, if there is no a `.ton` or `.t.me` domain, run the proxy in simple mode with an ADNL address (suffix `.adnl`):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[HIGH] Ungrammatical “no a .ton or .t.me domain”

Line 80 contains the phrase “if there is no a .ton or .t.me domain”, which is ungrammatical (“no a” is incorrect) and slightly obscures the intended condition. While the .ton and .t.me tokens are correctly presented as literal domain examples rather than placeholders, the sentence should clearly and correctly describe the absence of such domains. Fixing the grammar to “when no .ton or .t.me domain is available” preserves the meaning and improves clarity while staying consistent with the example‑style usage.

Suggested change
Alternatively, if there is no a `.ton` or `.t.me` domain, run the proxy in simple mode with an ADNL address (suffix `.adnl`):
Alternatively, when no `.ton` or `.t.me` domain is available, run the proxy in simple mode with an ADNL address (suffix `.adnl`):

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

@aigerimu aigerimu marked this pull request as draft March 11, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Services > Proxy > Tonutils reverse proxy]

1 participant