Running a Snowflake on Debian 11

Running a Snowflake

1. Install golang

bash 复制代码
wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
go version
bash 复制代码
ed2k://|file|go1.21.4.linux-amd64.tar.gz|66615271|E68373CE54C547E2D9BEF41297231176|/ 
  1. Install Snowflake
bash 复制代码
git clone https://git.torproject.org/pluggable-transports/snowflake.git
git branch -a
git checkout remotes/origin/renovate/github.com-aws-aws-sdk-go-v2-config-1.x
cd snowflake/proxy
go build
  1. Run

./proxy --verbose

You should see output indicating that the pr0xy is running and communicating with the broker.

  1. create a systemd service.

sudo vim /etc/systemd/system/snowflake-proxy.service

bash 复制代码
[Unit]
Description=Snowflake Network
After=network.target

[Service]
ExecStart=/home/linuxuser/snowflake/proxy/proxy
Restart=always
User=linuxuser
WorkingDirectory=/home/linuxuser/snowflake/proxy

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload

sudo systemctl enable snowflake-proxy

sudo systemctl start snowflake-proxy

sudo systemctl status snowflake-proxy

  1. Set firewall
bash 复制代码
sudo ufw allow 3478/udp
sudo ufw allow 443/udp
sudo ufw allow 10000:60000/udp
sudo ufw reload
bash 复制代码
sudo iptables -I INPUT 7 -p udp --dport 10000:65535 -j ACCEPT
sudo iptables -I OUTPUT 10 -p udp --sport 10000:65535-j ACCEPT
sudo /sbin/iptables -L OUTPUT -v --line-numbers
sudo /sbin/iptables -L INPUT -v --line-numbers
sudo apt-get install netfilter-persistent
sudo netfilter-persistent save
# sudo iptables-save | sudo tee /etc/iptables/rules.v4
  1. Verify

journalctl -u snowflake-proxy -f

curl -4 ifconfig.me

webrtc test page

sudo iftop -i enp1s0 -P

  1. Troubleshooting
  • Verify the process is running (ps aux | grep proxy)
  • Check logs for errors (journalctl -u snowflake-proxy)
  • Run it manually for debugging (./proxy -verbose)
  • Confirm UDP port binding (ss -lunp | grep proxy)
  • Allow UDP traffic through firewall
  • Try running it with -relay to see the assigned port

$ netstat -tulnp

an entry looked like:

udp 0 0 0.0.0.0:41730 0.0.0.0:* 50767/proxy

"Config Bridge" -> "snowflake" -> "Provide a Bridge I know"

snowflake x.x.x.x:41730

x.x.x.x is your VPS IP address

$ sudo iftop -i enp1s0 -P # Adjust "enp1s0" based on your network interface

sudo iptables -t nat -L PREROUTING --line-numbers -v -n

sudo iptables -A OUTPUT -p udp --sport 34672 -j ACCEPT

sudo iptables -A INPUT -p udp --dport 34672 -j ACCEPT

sudo iptables -A OUTPUT -p tcp --sport 34662 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 34662 -j ACCEPT

sudo /sbin/iptables -L OUTPUT -v --line-numbers

sudo /sbin/iptables -L INPUT -v --line-numbers

sudo apt-get install netfilter-persistent

sudo netfilter-persistent save

相关推荐
Johny_Zhao2 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
落羽的落羽3 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生3 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹3 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker3 小时前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦3 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
编程的一拳超人3 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
醉颜凉4 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
时凌云.4 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
不懂的浪漫4 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库