Hacker News new | past | comments | ask | show | jobs | submit | Multrex's comments login

Why there is not MySQL integration? Will you plan to add it? MySQL is very popular.

while MySQL is very popular, it is very rare to see it in analytical/ML usecases, that's why we haven't added it yet. There's nothing from a technical POV that prevents us from adding, it just hasn't been a priority, I am happy to pull it up if that would help your usecases.

Yes please. A self hosted version would be great for companies that have strict security rules about data.


Seems awesome. Can you please tell us how to use gzip or lz4 to do the imaging?


If you search for “dd gzip” or “dd lz4” you can find several ways to do this. In general, interpose a gzip compression command between the sending dd and netcat, and a corresponding decompression command between the receiving netcat and dd.

For example: https://unix.stackexchange.com/questions/632267


Check also Lowcoder at lowcoder.cloud. Self-hosted many integrations, open-source, free.


This is the default behavior. There is an env variable to store the data to disk.

https://docs.n8n.io/hosting/scaling/binary-data/

https://docs.n8n.io/hosting/environment-variables/environmen...

N8N_DEFAULT_BINARY_DATA_MODE: filesystem


Can someone ELI5 how they identify VPN at the protocol level?


For the case in China, they use statistics, entropy of packets (may not an accurate term) and other DPI-like methods[1],

also HN discussions of it[2]:

[1] https://gfw.report/publications/usenixsecurity23/en/

[2] https://news.ycombinator.com/item?id=36531485


DPI. Popular VPN protocols are easily identified by first connection packet signature.


Wasn't Wireguard explicitly designed to avoid that? (IIRC it took lots of inspiration from state of the art data exfiltration methods used by malware)


No. https://www.wireguard.com/known-limitations/

>Deep Packet Inspection

>WireGuard does not focus on obfuscation. Obfuscation, rather, should happen at a layer above WireGuard, with WireGuard focused on providing solid crypto with a simple implementation. It is quite possible to plug in various forms of obfuscation, however.

>TCP Mode

>WireGuard explicitly does not support tunneling over TCP, due to the classically terrible network performance of tunneling TCP-over-TCP. Rather, transforming WireGuard's UDP packets into TCP is the job of an upper layer of obfuscation (see previous point), and can be accomplished by projects like udptunnel and udp2raw.


https://www.wireguard.com/protocol/

The initiator sends this message:

  msg = handshake_initiation {
    u8 message_type
    u8 reserved_zero[3]
    u32 sender_index
    u8 unencrypted_ephemeral[32]
    u8 encrypted_static[AEAD_LEN(32)]
    u8 encrypted_timestamp[AEAD_LEN(12)]
    u8 mac1[16]
    u8 mac2[16]
  }

  msg.message_type = 1
  msg.reserved_zero = { 0, 0, 0 }
Seems like this is trivially detected. Just watch for first UDP packet with 01-00-00-00 bytes in the payload.


Not at all, WireGuard is secure, but very easily identifiable.


IDK but Wireshark has no problem identifying it so there must be something that gives it away


They even have a nice comment explaining the heuristic: https://github.com/wireshark/wireshark/blob/ef9c79ae81b00a63...

     * Heuristics to detect the WireGuard protocol:
     * - The first byte must be one of the valid four messages.
     * - The total packet length depends on the message type, and is fixed for
     *   three of them. The Data type has a minimum length however.
     * - The next three bytes are reserved and zero in the official protocol.
     *   Cloudflare's implementation however uses this field for load balancing
     *   purposes, so this condition is not checked here for most messages.
     *   It is checked for data messages to avoid false positives.


INAE, but I think they sniff the initial handshake the protocols have and then drop subsequent packets.


Oracle has MINUS clause. Saved me many times.


Hope in the future you introduce more Source and Target dbs just like ReplicaDB open-source software


Thanks for the comment! As we work with customers we will add more source and target dbs. A couple of things, our scope as of now is data-movement in/out Postgres. And as we add more data-stores as sources/targets to Postgres, providing a high quality experience will be the primary focus than expanding coverage.


Congrats! I’m curious where PeerDB positions itself relative to ReplicaDB? Also wrt sources, I’m curious whether CSV will ever be on the roadmap? Although it’s antiquated it’s ubiquitous, so I was surprised it’s not supported with launch. That said, I’ve encountered ridiculous challenges with data movement from CSV to Postgres and I’m curious if that alone was the blocker?


Thank you. Our goal is to focus on postgres and provide a fast (by native optimizations, see above post for a few examples), simple and a feature-rich data-movement experience in/out of Postgres. So adding more connectors based on customer feedback will be a part of this journey!

In regards to CSV as a connector, postgres’s COPY command should do it right? Am I missing something? Is it CSV files in cold storage (like s3 etc)? OR periodic streaming of CSV files into Postgres?


That’s right! If it’s easy then it should be easy for your team to add —- but if it’s not easy then it’d be even more useful for your team to add! Win win


You bring up a great point. Periodically streaming CSV files to Postgres from storage through a single SQL command (CREATE MIRROR) is indeed very helpful for customers. We will add this to our product prioritization. With the infra we have, this shouldn't be too hard to support!


Try OpenBlocks. I think is the most promising and fast developing low code tool. Better than appsmith, tooljet.

https://openblocks.dev/


Is this related to Illa somehow? The UI builder looks very familiar.


Not related with Illa. Entire different software. I believe it would be the next big thing because of the rapid features they add in compare with other tools.


Thanks, someone definitely was 'inspired' by the other. But yes, it looks impressive so far.


In my job i was searching for a simple yet powerful tool to migrate data between different Databases.

Everything i searched for was either expensive, total overkill, hard to configure or too invasive. Tools like CDC etc.

I stumble upon this open-source tool ReplicaDB on GitHub.

I have never imagined that there would be someone to create such an awesome tool that can do these things.

Written in JAVA and uses JDBC drivers. It can connect to every popular databases and migrate data, for example from a PostgreSQL table to a MSSQL or MongoDB etc.

It can query TABLES, VIEWS and the best of all, you can write free SQL SELECT queries from source and move the data to a destination table. It does not have to match the source to the destination table.

The developer is awesome and keeps the project updated, also he helps a lot of troubleshooting or giving you a solution if you stuck somewhere.

The documentation is simple, yet excellent.

I think this tool is a little hidden gem that can run on all systems (OS's) that have JAVA installed, and helps a lot of people who create scripts for migrating, syncing data between heterogeneous environments.

I just want people to know that this software exists and personally i believe the developer truly deserves some help for his incredible work.

I support him.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: