Giter VIP home page Giter VIP logo

setupsimplesyncthingrelay's Introduction

Setup Simple Syncthing Relay

Got too much idling bandwidth on your servers? Why waste it! Run a Syncthing relay, instead of risking getting your servers suspended on some hosting providers when trying to run Tor relays! You're still doing good, anyway.

From the Syncthing documentation:

Syncthing can bounce traffic via a relay when it’s not possible to establish a direct connection between two devices. There are a number of public relays available for this purpose. The advantage is that it makes a connection possible where it would otherwise not be; the downside is that the transfer rate is much lower than a direct connection would allow.

If you have not checked out Syncthing, go take a look, it's a great project.

By default, this script will join the default pool.

Installation

Tested on Ubuntu 16.04 LTS:

git clone https://github.com/theroyalstudent/setupSimpleSyncthingRelay.git
cd setupSimpleSyncthingRelay/
bash setup.sh

Questions & Answers (Q&As)

How much bandwidth can I use up to?

It would actually depends on how well your server is connected, and many other factors :)

Check out the recommended specifications here!

Personally, I have ran this on some 128MB RAM VPSes and they seem to work fine. Just not on 64MB RAM though, they crash within minutes after picking up connections. :P I have managed to reach about ~50GB/day at one point of time on a node.

According to the docuemntation, I could host my relay on port 443 to prevent getting blocked by corporate filters, but why aren't you doing so in your script?

This script sticks to port 22067 because of the fact that a webserver (e.g: Nginx, Apache, Caddy, etc) might be already running on port 443, so to not cause conflicts, that is not done.

You're free to modify the script to your liking, though! However, because of the fact that a new user is created to isolate things, the user would be unable to listen on that port, so I recommend installing rinetd to forward traffic, which is extremely easy to configure compared to using IPTables.

Am I compromising the security of the nodes I relay traffic from/to?

No. Everything is end-to-end encrypted :)

The connection between two devices is still end to end encrypted, the relay only retransmits the encrypted data much like a router. However, a device must register with a relay in order to be reachable over that relay, so the relay knows your IP and device ID. In that respect it is similar to a discovery server. The relay operator can see the amount of traffic flowing between devices.

Hey, me want in!!! Where can I pick up a dirt cheap VPS for this?

I would highly encourage you to pick up a NAT VPS that costs a price of a meal per year, or maybe check out any one of my favourite hosting providers that have really affordable VPSes:

You can find cheap VPS deals on LowEndBox, but please make sure you do enough research on the hosts you intend to buy from!

Can I contribute, too?

Yes! Contributions are always welcome - if you have any code to contribute, simply fork this and submit a pull request! Otherwise, if you find any bugs or issues, please open an issue!

Copyright

Copyright (C) 2016 Edwin A. [email protected].

Credits to @sayem314 for CentOS/yum compatibility and other hotfixes.

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Unported License: http://creativecommons.org/licenses/by-sa/3.0/

setupsimplesyncthingrelay's People

Contributors

kyl191 avatar runbiscuit avatar sayem314 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.