Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ideas #503

Open
klzgrad opened this issue May 6, 2023 · 4 comments
Open

Ideas #503

klzgrad opened this issue May 6, 2023 · 4 comments

Comments

@klzgrad
Copy link
Owner

klzgrad commented May 6, 2023

net4people/bbs#136 (comment)

  • Per connection preamble: Perform a real or realistic http request as the tunnel preamble to confuse traffic analysis systems that handles the starting part of a traffic flow (i.e. most of them). Issues: this adds connection latency, but can be amortized with multiplexing. Large scale blocking of TLS-based censorship circumvention tools in China net4people/bbs#129 (comment)
  • Per stream cover traffic: Add background covering traffic if there is no other activities in the current multiplexed connection.
  • Connection rotation: Limit the lifetime of each connection, helps CGNAT, Iran.
  • Backup connection with preamble warmup to reduce latency.
  • Coalesces consecutive small writes into single larger messages when there are multiple pending writes (see https://pkg.go.dev/github.com/getlantern/lampshade), with small amount of corking
  • Implicit padding lengths generated from a seed: Saves padding layering overhead
  • Realistic traffic profile
  • A traffic collection tool
    • chrome://net-export with script
    • Wireshark with script
    • Tool built in stats
  • Traffic flow visualizer
  • Packet length distribution visualizer
  • Chromium net API Stripping down browser forwarding with external Chrome stack v2fly/v2ray-core#2092
@Lingxi-Li
Copy link

Thought the artificial traffic could be generated against the camouflage site. E.g., if the camo site is a file server, the traffic could be generated by browsing within the file server.

@univerioiln233
Copy link

univerioiln233 commented May 27, 2023

blocking few mtr echo-request:
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
gfw maybe blocking the /24
can navie-client be mtr-ed?
disable-tcp-timestamp https://learn.microsoft.com/en-us/answers/questions/204356/disable-tcp-timestamp
Is there tcp-timestamp-locally?for server to disconnect the tcp.

@ghost
Copy link

ghost commented Jan 20, 2024

Dear @klzgrad

I'm an end-user and don't have technical network knowledge, but I thought you may find this project helpful.

I realized you use similar literature regarding "characteristics of network traffic" as Dust v1 and v2 which was presented in DEF CON.
I thought Dust project was abandoned and its original author didn't maintain it. However, I found out that there is a successor project maintained by the original author.

So far, they have released Replicant (go, swift), Starbridge (go, swift), Shadow (go, swift), and Optimizer (go) as Shapeshifter Dispatchers and Transports.

Also, they have developed Flower protocol with its server-side Persona implementation and client-side Moonbounce implementation for macOS only, emphasizing on its built-in shapeshifting technology.

I don't know why there is no technical discussion about this project in bbs and other censorship circumvention communities and whether it works in China and Russia, and Iran, but I hope these can be facilitate what you are trying to achieve.

@klzgrad
Copy link
Owner Author

klzgrad commented Jan 20, 2024

I'm aware of the literature you referenced.

It's fine to not have discussion about this project. This is focused on usability and performance, not research novelty and research-wise it's actually quite naive (can trace the root to meek, but with less resource requirement). It was by accident that it became useful for some, and it does not need unwanted attention.

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

No branches or pull requests

3 participants