Code Monkey home page Code Monkey logo

server-go's Introduction

Server for OpenIoTHub

Build Status

Get it from the Snap Store

OpenIoTHub 物联网服务器

如果你有自建转发服务端的需求则可以自建此服务端,服务器需要同时开启指定的TCP,UDP端口

建好此服务器之后,网关就可以连接自建的服务器了!

如果使用redis持久化保存Http代理配置请将配置文件中的redis的使能打开enabled: true
如果使用redis后OpenIoTHub App无法添加http代理成功请尝试在redis-cli中执行config set stop-writes-on-bgsave-error no
参考:https://www.baidu.com/s?ie=UTF-8&wd=MISCONF Redis is configured to save RDB snapshots
127.0.0.1:6379> config set stop-writes-on-bgsave-error no
如果配置redis后正常使用请忽略本条问题
my_public_ip_or_domian: "" #你运行本软件的服务器的域名或者ip地址,用来使用命令生成token时有用
logconfig:
  enablestdout: true #是否输出日志到控制台
  logfilepath: "./mylog.log" #配置日志输出文件的位置,空则不输出到文件
common:
  bind_addr: 0.0.0.0 #服务器监听的IP地址,默认监听所有
  tcp_port: 34320 #服务器使用的tcp端口
  kcp_port: 34320 #服务器使用的kcp(实际上是udp)端口
  udp_p2p_port: 34321 #服务器使用的UDP端口,用于辅助p2p
  kcp_p2p_port: 34322 #服务器使用的kcp(UDP)端口,用于辅助p2p
  tls_port: 34321 #服务器使用的tls(实际上是tcp)端口,用于安全通信
  grpc_port: 34322 #服务器使用的grpc(实际上是tcp)端口,用于grpc通信
  http_port: 80 #服务器监听的http(tcp)端口,用于提供http代理功能
  https_port: 443 #服务器监听的https(tcp)端口,用于提供https代理功能
security:
  login_key: HLLdsa544&*S #用户自定义的服务器秘钥,此为默认,用户个人使用服务器请修改
  tls_Cert_file_path: ""
  tls_key_file_path: ""
  https_cert_file_path: ""
  https_key_file_path: ""
redisconfig:
  enabled: false #是否使用redis保存用户http代理配置 <----这里打开redis
  network: tcp  #redis使用tcp连接,默认即可
  address: 127.0.0.1:6379 #redis的地址,默认本机,redis默认端口6379,请根据自己的redis配置
  database: 0 #redis的默认服务器0,如果你不懂请保持0
  needAuth: false #redis是否需要密码验证,默认不需要false,如果你的redis需要密码请将false改为true并配置下面password为redis密码
  password: "" #redis的密码,needAuth:true时有效

You can install the pre-compiled binary (in several different ways), use Docker.

Here are the steps for each of them:

Install the pre-compiled binary

homebrew tap (only on macOS for now):

$ brew install OpenIoTHub/tap/server-go

homebrew (may not be the latest version):

$ brew install server-go

homebrew pr server-go

*** config file : 
/usr/local/etc/server-go/server-go.yaml

snapcraft:

$ sudo snap install server-go
*** config file : 
/root/snap/server-go/current/server-go.yaml

scoop:

$ scoop bucket add OpenIoTHub https://github.com/OpenIoTHub/scoop-bucket.git
$ scoop install server-go

deb/rpm:

Download the .deb or .rpm from the releases page and install with dpkg -i and rpm -i respectively.

*** config file : 
/etc/server-go/server-go.yaml

Shell script:

$ curl -sfL https://install.goreleaser.com/github.com/OpenIoTHub/server-go.sh | sh

manually:

Download the pre-compiled binaries from the releases page and copy to the desired location.

Running with Docker

You can also use it within a Docker container. To do that, you'll need to execute something more-or-less like the following:

$ docker run openiothub/server:latest

Note that the image will almost always have the last stable Go version.

server-go's People

Contributors

dependabot[bot] avatar iotserv avatar matteriot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

server-go's Issues

Upgrade github.com/klauspost/cpuid

Homebrew provides server-go on arm64. CI is showing runtime panics in cpuid. Current version is 2.0.5. Panics might be fixed by upgrading module to a current version and making a release.

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.