XOR-op / BoltConn

Privacy-oriented proxy & network manager, supporting WireGuard, L7 firewall, App-based policies and scripted MitM.
GNU General Public License v3.0
52 stars 1 forks source link

[Docs] Add documentations for configurations #47

Open anoduck opened 2 months ago

anoduck commented 2 months ago

I wanted to go ahead and get this to you.

  1. There are still sections that need to be written up.
  2. I was considering adding a tiny primer on yaml structure.
  3. Overall, it could be condensed to a much smaller size for brevity.
XOR-op commented 2 months ago

Thanks for this PR! I'm a little busy these few days, so I will gradually review and improve these docs. Feel free to let me know if you have any concerns.

anoduck commented 2 months ago

Thanks for this PR! I'm a little busy these few days, so I will gradually review and improve these docs. Feel free to let me know if you have any concerns.

Still WIP.

Not included in push:

I haven't even ran spellcheck yet.

XOR-op commented 2 months ago

Still WIP.

I have converted this PR into draft. You can convert it back when it's done.

Redesigned the index page with logo in ASCII

Personally speaking, I don't think we need to add logos in documentations. My taste is to make them simple, clear and informative. But still thanks for your art!

By the way, I would suggest to use an email linked to GitHub (or the users.noreply.github.com address) to commit these changes. Otherwise, I'm afraid GitHub cannot correctly credit your contribution. You can edit the previous commit and force-push them.

anoduck commented 2 months ago

@XOR-op I will look into why

Still WIP.

I have converted this PR into draft. You can convert it back when it's done.

Redesigned the index page with logo in ASCII

Personally speaking, I don't think we need to add logos in documentations. My taste is to make them simple, clear and informative. But still thanks for your art!

I just used rsvg-convert to convert the SVG to PNG, and then used ascii-image-converter to convert your logo from PNG to ascii. Creative investment was nil. It turned out better than many logos do, and for some reason I am encountering difficulty attempting to recreate it. The intent was for the index page of the docs to replicate the appearance of the README.md.

By the way, I would suggest to use an email linked to GitHub (or the users.noreply.github.com address) to commit these changes. Otherwise, I'm afraid GitHub cannot correctly credit your contribution. You can edit the previous commit and force-push them.

Is this what you are referring to? git_email_settings It says it is set to private.

Regardless, I was going to do a write-up in my git wiki about BoltConn anyway, I just figured I could kill two birds with one stone.

XOR-op commented 2 months ago

I just used rsvg-convert to convert the SVG to PNG, and then used ascii-image-converter to convert your logo from PNG to ascii. Creative investment was nil. It turned out better than many logos do, and for some reason I am encountering difficulty attempting to recreate it. The intent was for the index page of the docs to replicate the appearance of the README.md.

That makes sense to me. Thanks.

Is this what you are referring to?

Yes. And keeping your email private means you don't need to use your real email address for git config user.email. However, a users.noreply.github.com address is needed for GitHub to attribute contributions correctly. Your current configured email is ended with users.noreply.gitgud.io.

Regardless, I was going to do a write-up in my git wiki about BoltConn anyway, I just figured I could kill two birds with one stone.

I will also check that and thanks again for your help.

anoduck commented 2 months ago

Light bulb.

anoduck commented 1 month ago

@XOR-op Been working on other stuff. I did a cleanup job on docs and condensed it down significantly. Removed a lot of fluff.

I have no idea how rules are supposed to work. I have a base idea, but you kinda lost me there. Intercepts was the other section I completely became lost in.

XOR-op commented 1 month ago

@anoduck Thanks for your work! From a high level perspective, the traffic dispatcher compare the connection info with each rule sequentially. The criterion can be the domain name of the servers, the process initiating the connection, where BoltConn gets the connection or other specific cases. As for the interception, the rule matching process is identical expect the fallback matching in interception is skipping. Then the interception part will execute all of the rewrite functions. I may also write some documentations for these parts if I find time next month.