Git Product home page Git Product logo

portal's Introduction

Banner

A lightweight transfer proxy written in Go for Minecraft: Bedrock Edition.

Installation

  1. Download the latest release for your platform from the GitHub releases page
  2. Move it to a directory of your choice, and run from the command line.

Note for Linux/macOS users: run chmod +x on the binary to make it executable.

Configuration

After running portal for the first time, a default configuration file called config.json will be created in the same directory as the program.

Overview of the configuration file

  • network
    • address: The address on which the proxy should listen. Players may connect to this address in order to join. It should be in the format of "ip:port"
    • communication
      • address: Address is the address on which the communication service should listen. External connections can use this address in order to communicate with the proxy. It should be in the format of "ip:port"
      • secret: Secret is the authentication secret required by external connections in order to authenticate to the proxy and start communicating
  • logger
    • file: File is the path to the file in which logs should be stored. If the path is empty then logs will not be written to a file
    • level: Level is the required level logs should have to be shown in console or in the file above
  • player_latency
    • report: Determines if the proxy should send the proxy of a player to their server at a regular interval
    • update_interval: The interval to report a player's ping if report is true
  • whitelist
    • enabled: Determines if the whitelist is enabled
    • players: A list of whitelisted players' usernames
  • resource_packs
    • required: Determines if players are required to download the resource packs before connecting
    • directory: The directory to load resource packs from. They can be directories, .zip files or .mcpack files
    • encryption_keys: A map of resource pack UUIDs to their encryption key

portal's People

Contributors

dapigguy avatar dependabot-preview[bot] avatar dependabot[bot] avatar endermanbugzjfc avatar flonja avatar ifera avatar neutronicmc avatar t14raptor avatar twistedasylummc avatar unickorn avatar vixikhd 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

portal's Issues

Incompatible movement modes

Different server softwares can use different modes for accepting player movement. The mode is sent by the server in the StartGame packet which means the first server tells the client which mode to use for the rest of their session, so transferring to another server which uses a different movement mode will cause the server to not parse the movement as it is not receiving the expected packets.

The easiest fix would be to modify the StartGame data and always set the movement mode to server authoritative and then translate the movement packets as needed to the connected servers.

will you add proxy-protocol support?

in order to be able to get normal IP addresses to the minecraft server.
in order for the server to be able to receive external IP addresses of players.
by the way, nginx supports proxy_protocol (https://imgbb.com/FnpFhPk), will you introduce such functionality in portal?

Instruct Portal to print setup log and a 'readiness message'

Right now Portal does not print anything during the setup. A 'readiness message' is missing too. It should definitely print something so that users don't think the program is stuck or has crashed. (I'd also recommend using a structured logger, such as Logrus or Zap, so Portal can give more context to something that is happening)

Client crash on transfer

Hello,

  • I'm on PocketMine-MP 4 | Minecraft version: 1.17.11

When use /transfer player group server my client crash
Before Minecraft crash:

INFO[17:04:48] Transferring Steellg0ld to server islands01 in group SkyBlock 
INFO[17:04:49] Steellg0ld finished transferring

Proxy logs:

2021/09/01 17:00:18 read packet minecraft [::]:19132->**PLAYERIP:PLAYERPORT**: use of closed network connection
2021/09/01 17:00:18 read packet minecraft 127.0.0.1:33120->127.0.0.1:19134: use of closed network connection
Minecraft.2021-09-01.19-04-33.mp4

Error when transferring

I got this error when transferring to another server

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x73fad1]

goroutine 597 [running]:
github.com/sandertv/gophertunnel/minecraft.(*Conn).GameData(...)
	/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:213
github.com/paroxity/portal/session.handlePackets.func1()
	/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:33 +0x151
created by github.com/paroxity/portal/session.handlePackets
	/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:16 +0x5a

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/paroxity/portal/config: cannot find module providing package github.com/paroxity/portal/config
	github.com/paroxity/portal/logger: cannot find module providing package github.com/paroxity/portal/logger
	github.com/paroxity/portal/query: cannot find module providing package github.com/paroxity/portal/query
	github.com/paroxity/portal/session: cannot find module providing package github.com/paroxity/portal/session
	github.com/paroxity/portal/socket: cannot find module providing package github.com/paroxity/portal/socket

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/paroxity/portal/config: cannot find module providing package github.com/paroxity/portal/config
	github.com/paroxity/portal/logger: cannot find module providing package github.com/paroxity/portal/logger
	github.com/paroxity/portal/query: cannot find module providing package github.com/paroxity/portal/query
	github.com/paroxity/portal/session: cannot find module providing package github.com/paroxity/portal/session
	github.com/paroxity/portal/socket: cannot find module providing package github.com/paroxity/portal/socket

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Quick questions

Hello I have some questions, I would like to make a "network", composed of a lobby and 4 servers under pocketmine (pm4)
I was suggested to use to be able to navigate between the servers more easily

So I would like to know these little things:

  • Is it possible to connect to the proxy on any server from the display of the servers on minecraft and see the connected of the 4 servers counted?
  • If I connect to a server with the xbox live account MaXoooZ in the lobby and I go to server 2, if I use another device with the same account xbox live I can go to server 4?

I think I would have other questions, but I don't have them in mind, I will ask you in the course of this issue
Have a good day to you and thank you in advance.

crash

created by github.com/paroxity/portal/session.handlePackets
C:/Users/k/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:100 +0x97

goroutine 5277147 [chan receive]:
runtime.gopark(0xc00f1d1ed8?, 0x7b5d46?, 0x30?, 0x0?, 0xc00f1d1f68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00f1d1ec0 sp=0xc00f1d1ea0 pc=0x437d56
runtime.chanrecv(0xc02ba8ec60, 0xc00f1d1fb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc00f1d1f50 sp=0xc00f1d1ec0 pc=0x40665b
runtime.chanrecv2(0xc000528000?, 0xc010ac9600?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc00f1d1f78 sp=0xc00f1d1f50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc00f1d1fe0 sp=0xc00f1d1f78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00f1d1fe8 sp=0xc00f1d1fe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511

goroutine 5276693 [chan receive]:
runtime.gopark(0xc01425ded8?, 0x7b5d46?, 0x50?, 0x1?, 0xc01425df68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc01425dec0 sp=0xc01425dea0 pc=0x437d56
runtime.chanrecv(0xc021a97320, 0xc01425dfb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc01425df50 sp=0xc01425dec0 pc=0x40665b
runtime.chanrecv2(0xc002704b00?, 0xc009464f00?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc01425df78 sp=0xc01425df50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc01425dfe0 sp=0xc01425df78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc01425dfe8 sp=0xc01425dfe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511

goroutine 5277827 [chan receive]:
runtime.gopark(0xc004699ed8?, 0x7b5d46?, 0x30?, 0x0?, 0xc004699f68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc004699ec0 sp=0xc004699ea0 pc=0x437d56
runtime.chanrecv(0xc02b99c600, 0xc004699fb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc004699f50 sp=0xc004699ec0 pc=0x40665b
runtime.chanrecv2(0xc002705080?, 0xc009464200?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc004699f78 sp=0xc004699f50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc004699fe0 sp=0xc004699f78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc004699fe8 sp=0xc004699fe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511

goroutine 5278303 [select]:
runtime.gopark(0xc01f6afa70?, 0x3?, 0x10?, 0xf9?, 0xc01f6afa22?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc01f6af898 sp=0xc01f6af878 pc=0x437d56
runtime.selectgo(0xc01f6afa70, 0xc01f6afa1c, 0xc015d09570?, 0x0, 0x0?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc01f6af9d8 sp=0xc01f6af898 pc=0x4470dc
github.com/sandertv/gophertunnel/minecraft.(*Conn).ReadPacket(0xc02fc2f180)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:367 +0x1e9 fp=0xc01f6afab0 sp=0xc01f6af9d8 pc=0x7b52a9
github.com/paroxity/portal/session.handlePackets.func2()
C:/Users/k/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:103 +0x52 fp=0xc01f6affe0 sp=0xc01f6afab0 pc=0x7c5192
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc01f6affe8 sp=0xc01f6affe0 pc=0x464d21
created by github.com/paroxity/portal/session.handlePackets
C:/Users/k/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:100 +0x97

goroutine 5276924 [select]:
runtime.gopark(0xc0119a3f90?, 0x2?, 0x30?, 0x4f?, 0xc0119a3f44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc0119a3d88 sp=0xc0119a3d68 pc=0x437d56
runtime.selectgo(0xc0119a3f90, 0xc0119a3f40, 0xefd620?, 0x0, 0x474beb5af0d6?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc0119a3ec8 sp=0xc0119a3d88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc010ac8200)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc0119a3fc8 sp=0xc0119a3ec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc0119a3fe0 sp=0xc0119a3fc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0119a3fe8 sp=0xc0119a3fe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5277946 [select]:
runtime.gopark(0xc01027adf0?, 0x3?, 0x8?, 0x0?, 0xc01027ade2?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc01027ac68 sp=0xc01027ac48 pc=0x437d56
runtime.selectgo(0xc01027adf0, 0xc01027addc, 0x7c1cb8?, 0x0, 0x9c4200?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc01027ada8 sp=0xc01027ac68 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).ReadPacket(0xc010ac8c00)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:301 +0x85 fp=0xc01027ae30 sp=0xc01027ada8 pc=0x69dd65
github.com/sandertv/gophertunnel/minecraft/protocol/packet.(*Decoder).Decode(0xc02658e2a0)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/protocol/packet/decoder.go:86 +0x44 fp=0xc01027af00 sp=0xc01027ae30 pc=0x62e9c4
github.com/sandertv/gophertunnel/minecraft.listenConn(0xc004a7db80, 0xc015619d80?, 0x8187a0?, 0xc8b420?)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:287 +0x89 fp=0xc01027afb0 sp=0xc01027af00 pc=0x7bf0e9
github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0x32 fp=0xc01027afe0 sp=0xc01027afb0 pc=0x7bed92
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc01027afe8 sp=0xc01027afe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0xabb

goroutine 5277221 [chan receive]:
runtime.gopark(0xc003af9ed8?, 0x7b5d46?, 0x30?, 0x0?, 0xc003af9f68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc003af9ec0 sp=0xc003af9ea0 pc=0x437d56
runtime.chanrecv(0xc02af8d980, 0xc003af9fb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc003af9f50 sp=0xc003af9ec0 pc=0x40665b
runtime.chanrecv2(0xc02fc2c000?, 0xc0155be600?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc003af9f78 sp=0xc003af9f50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc003af9fe0 sp=0xc003af9f78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc003af9fe8 sp=0xc003af9fe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511

goroutine 5338134 [select]:
runtime.gopark(0xc0028addf0?, 0x3?, 0xa0?, 0xdc?, 0xc0028adde2?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc0028adc68 sp=0xc0028adc48 pc=0x437d56
runtime.selectgo(0xc0028addf0, 0xc0028adddc, 0x7c1cb8?, 0x0, 0x9c4200?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc0028adda8 sp=0xc0028adc68 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).ReadPacket(0xc009464700)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:301 +0x85 fp=0xc0028ade30 sp=0xc0028adda8 pc=0x69dd65
github.com/sandertv/gophertunnel/minecraft/protocol/packet.(*Decoder).Decode(0xc02738dc80)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/protocol/packet/decoder.go:86 +0x44 fp=0xc0028adf00 sp=0xc0028ade30 pc=0x62e9c4
github.com/sandertv/gophertunnel/minecraft.listenConn(0xc010b82100, 0xc015ae0400?, 0x8187a0?, 0xc8b420?)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:287 +0x89 fp=0xc0028adfb0 sp=0xc0028adf00 pc=0x7bf0e9
github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0x32 fp=0xc0028adfe0 sp=0xc0028adfb0 pc=0x7bed92
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0028adfe8 sp=0xc0028adfe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0xabb

goroutine 5277012 [select]:
runtime.gopark(0xc00714df90?, 0x2?, 0x20?, 0x7c?, 0xc00714df44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00714dd88 sp=0xc00714dd68 pc=0x437d56
runtime.selectgo(0xc00714df90, 0xc00714df40, 0xefd620?, 0x0, 0x474bf73d4115?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc00714dec8 sp=0xc00714dd88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc0053e4500)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc00714dfc8 sp=0xc00714dec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc00714dfe0 sp=0xc00714dfc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00714dfe8 sp=0xc00714dfe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5369282 [select]:
runtime.gopark(0xc013154de0?, 0x3?, 0x90?, 0x4c?, 0xc013154dd2?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc013154c58 sp=0xc013154c38 pc=0x437d56
runtime.selectgo(0xc013154de0, 0xc013154dcc, 0x7c1cb8?, 0x0, 0x9c4200?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc013154d98 sp=0xc013154c58 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).ReadPacket(0xc009465800)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:301 +0x85 fp=0xc013154e20 sp=0xc013154d98 pc=0x69dd65
github.com/sandertv/gophertunnel/minecraft/protocol/packet.(*Decoder).Decode(0xc027ffc4e0)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/protocol/packet/decoder.go:86 +0x44 fp=0xc013154ef0 sp=0xc013154e20 pc=0x62e9c4
github.com/sandertv/gophertunnel/minecraft.(*Listener).handleConn(0xc00017c240, 0xc01444f700)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:276 +0xa5 fp=0xc013154fc0 sp=0xc013154ef0 pc=0x7c17c5
github.com/sandertv/gophertunnel/minecraft.(*Listener).createConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:253 +0x2a fp=0xc013154fe0 sp=0xc013154fc0 pc=0x7c168a
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc013154fe8 sp=0xc013154fe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.(*Listener).createConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:253 +0x33a

goroutine 5377634 [chan receive]:
runtime.gopark(0xc00b1bced8?, 0x7b5d46?, 0x18?, 0x0?, 0xc00b1bcf68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00b1bcec0 sp=0xc00b1bcea0 pc=0x437d56
runtime.chanrecv(0xc05eb47500, 0xc00b1bcfb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc00b1bcf50 sp=0xc00b1bcec0 pc=0x40665b
runtime.chanrecv2(0xc005bfb700?, 0xc0132857d0?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc00b1bcf78 sp=0xc00b1bcf50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc00b1bcfe0 sp=0xc00b1bcf78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00b1bcfe8 sp=0xc00b1bcfe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511
goroutine 5338134 [select]:
runtime.gopark(0xc0028addf0?, 0x3?, 0xa0?, 0xdc?, 0xc0028adde2?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc0028adc68 sp=0xc0028adc48 pc=0x437d56
runtime.selectgo(0xc0028addf0, 0xc0028adddc, 0x7c1cb8?, 0x0, 0x9c4200?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc0028adda8 sp=0xc0028adc68 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).ReadPacket(0xc009464700)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:301 +0x85 fp=0xc0028ade30 sp=0xc0028adda8 pc=0x69dd65
github.com/sandertv/gophertunnel/minecraft/protocol/packet.(*Decoder).Decode(0xc02738dc80)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/protocol/packet/decoder.go:86 +0x44 fp=0xc0028adf00 sp=0xc0028ade30 pc=0x62e9c4
github.com/sandertv/gophertunnel/minecraft.listenConn(0xc010b82100, 0xc015ae0400?, 0x8187a0?, 0xc8b420?)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:287 +0x89 fp=0xc0028adfb0 sp=0xc0028adf00 pc=0x7bf0e9
github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0x32 fp=0xc0028adfe0 sp=0xc0028adfb0 pc=0x7bed92
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0028adfe8 sp=0xc0028adfe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.Dialer.DialContext
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/dial.go:221 +0xabb

goroutine 5277012 [select]:
runtime.gopark(0xc00714df90?, 0x2?, 0x20?, 0x7c?, 0xc00714df44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00714dd88 sp=0xc00714dd68 pc=0x437d56
runtime.selectgo(0xc00714df90, 0xc00714df40, 0xefd620?, 0x0, 0x474bf73d4115?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc00714dec8 sp=0xc00714dd88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc0053e4500)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc00714dfc8 sp=0xc00714dec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc00714dfe0 sp=0xc00714dfc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00714dfe8 sp=0xc00714dfe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5369282 [select]:
runtime.gopark(0xc013154de0?, 0x3?, 0x90?, 0x4c?, 0xc013154dd2?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc013154c58 sp=0xc013154c38 pc=0x437d56
runtime.selectgo(0xc013154de0, 0xc013154dcc, 0x7c1cb8?, 0x0, 0x9c4200?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc013154d98 sp=0xc013154c58 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).ReadPacket(0xc009465800)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:301 +0x85 fp=0xc013154e20 sp=0xc013154d98 pc=0x69dd65
github.com/sandertv/gophertunnel/minecraft/protocol/packet.(*Decoder).Decode(0xc027ffc4e0)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/protocol/packet/decoder.go:86 +0x44 fp=0xc013154ef0 sp=0xc013154e20 pc=0x62e9c4
github.com/sandertv/gophertunnel/minecraft.(*Listener).handleConn(0xc00017c240, 0xc01444f700)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:276 +0xa5 fp=0xc013154fc0 sp=0xc013154ef0 pc=0x7c17c5
github.com/sandertv/gophertunnel/minecraft.(*Listener).createConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:253 +0x2a fp=0xc013154fe0 sp=0xc013154fc0 pc=0x7c168a
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc013154fe8 sp=0xc013154fe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.(*Listener).createConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/listener.go:253 +0x33a

goroutine 5377634 [chan receive]:
runtime.gopark(0xc00b1bced8?, 0x7b5d46?, 0x18?, 0x0?, 0xc00b1bcf68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00b1bcec0 sp=0xc00b1bcea0 pc=0x437d56
runtime.chanrecv(0xc05eb47500, 0xc00b1bcfb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc00b1bcf50 sp=0xc00b1bcec0 pc=0x40665b
runtime.chanrecv2(0xc005bfb700?, 0xc0132857d0?)
C:/Program Files/Go/src/runtime/chan.go:447 +0x18 fp=0xc00b1bcf78 sp=0xc00b1bcf50 pc=0x406198
github.com/sandertv/gophertunnel/minecraft.newConn.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:181 +0x89 fp=0xc00b1bcfe0 sp=0xc00b1bcf78 pc=0x7b4289
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00b1bcfe8 sp=0xc00b1bcfe0 pc=0x464d21
created by github.com/sandertv/gophertunnel/minecraft.newConn
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:178 +0x511

goroutine 5388418 [sleep]:
runtime.gopark(0xb7c63abb265c?, 0xc01f74c000?, 0xc0?, 0xae?, 0xc0194d9da0?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc007fdb750 sp=0xc007fdb730 pc=0x437d56
time.Sleep(0x3b9aca00)
C:/Program Files/Go/src/runtime/time.go:195 +0x135 fp=0xc007fdb790 sp=0xc007fdb750 pc=0x461cd5
stcraftnet.com/m/player.(*Player).AddCPS.func1()
C:/Users/k/Desktop/work/Proxy/player/player.go:114 +0xdf fp=0xc007fdb7e0 sp=0xc007fdb790 pc=0x7d473f
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc007fdb7e8 sp=0xc007fdb7e0 pc=0x464d21
created by stcraftnet.com/m/player.(*Player).AddCPS
C:/Users/k/Desktop/work/Proxy/player/player.go:106 +0x56

goroutine 5306197 [select]:
runtime.gopark(0xc016fa8f90?, 0x2?, 0x60?, 0x8?, 0xc016fa8f44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc016fa8d88 sp=0xc016fa8d68 pc=0x437d56
runtime.selectgo(0xc016fa8f90, 0xc016fa8f40, 0xefd620?, 0x0, 0x474bf32cdd6e?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc016fa8ec8 sp=0xc016fa8d88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc026571900)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc016fa8fc8 sp=0xc016fa8ec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc016fa8fe0 sp=0xc016fa8fc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc016fa8fe8 sp=0xc016fa8fe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5277109 [select]:
runtime.gopark(0xc02d22bb70?, 0x3?, 0x0?, 0xc0?, 0xc02d22bb22?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc02d22b998 sp=0xc02d22b978 pc=0x437d56
runtime.selectgo(0xc02d22bb70, 0xc02d22bb1c, 0xc02d22bb38?, 0x0, 0x8?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc02d22bad8 sp=0xc02d22b998 pc=0x4470dc
github.com/sandertv/gophertunnel/minecraft.(*Conn).ReadPacket(0xc01444c000)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/minecraft/conn.go:367 +0x1e9 fp=0xc02d22bbb0 sp=0xc02d22bad8 pc=0x7b52a9
github.com/paroxity/portal/session.handlePackets.func1()
C:/Users/k/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:19 +0x93 fp=0xc02d22bfe0 sp=0xc02d22bbb0 pc=0x7c5f33
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc02d22bfe8 sp=0xc02d22bfe0 pc=0x464d21
created by github.com/paroxity/portal/session.handlePackets
C:/Users/k/go/pkg/mod/github.com/paroxity/[email protected]/session/packet_handler.go:16 +0x5a

goroutine 5388408 [sleep]:
runtime.gopark(0xb7c64798b20a?, 0xc01f74c000?, 0xc0?, 0xae?, 0xc02727b620?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00d634f50 sp=0xc00d634f30 pc=0x437d56
time.Sleep(0x3b9aca00)
C:/Program Files/Go/src/runtime/time.go:195 +0x135 fp=0xc00d634f90 sp=0xc00d634f50 pc=0x461cd5
stcraftnet.com/m/player.(*Player).AddCPS.func1()
C:/Users/k/Desktop/work/Proxy/player/player.go:114 +0xdf fp=0xc00d634fe0 sp=0xc00d634f90 pc=0x7d473f
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00d634fe8 sp=0xc00d634fe0 pc=0x464d21
created by stcraftnet.com/m/player.(*Player).AddCPS
C:/Users/k/Desktop/work/Proxy/player/player.go:106 +0x56

goroutine 5276761 [select]:
runtime.gopark(0xc00d781f90?, 0x2?, 0x0?, 0x0?, 0xc00d781f44?)
runtime.gopark(0xc00d781f90?, 0x2?, 0x0?, 0x0?, 0xc00d781f44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00d781d88 sp=0xc00d781d68 pc=0x437d56
runtime.selectgo(0xc00d781f90, 0xc00d781f40, 0xefd620?, 0x0, 0x474be7840c4f?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc00d781ec8 sp=0xc00d781d88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc012c98200)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc00d781fc8 sp=0xc00d781ec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc00d781fe0 sp=0xc00d781fc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00d781fe8 sp=0xc00d781fe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5322341 [select]:
runtime.gopark(0xc00736df90?, 0x2?, 0x0?, 0x0?, 0xc00736df44?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00736dd88 sp=0xc00736dd68 pc=0x437d56
runtime.selectgo(0xc00736df90, 0xc00736df40, 0xefd620?, 0x0, 0x474bf5875969?, 0x1)
C:/Program Files/Go/src/runtime/select.go:328 +0x7bc fp=0xc00736dec8 sp=0xc00736dd88 pc=0x4470dc
github.com/sandertv/go-raknet.(*Conn).startTicking(0xc013182f00)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:127 +0x11e fp=0xc00736dfc8 sp=0xc00736dec8 pc=0x69cb7e
github.com/sandertv/go-raknet.newConnWithLimits.func1()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x26 fp=0xc00736dfe0 sp=0xc00736dfc8 pc=0x69ca26
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00736dfe8 sp=0xc00736dfe0 pc=0x464d21
created by github.com/sandertv/go-raknet.newConnWithLimits
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/conn.go:112 +0x558

goroutine 5377499 [IO wait]:
runtime.gopark(0xc0083dae08?, 0xb?, 0x0?, 0x0?, 0x40?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc0083dada0 sp=0xc0083dad80 pc=0x437d56
runtime.netpollblock(0x4a1825?, 0x83dae58?, 0xc0?)
C:/Program Files/Go/src/runtime/netpoll.go:526 +0xf7 fp=0xc0083dadd8 sp=0xc0083dada0 pc=0x430737
internal/poll.runtime_pollWait(0x7fa53f8d7770, 0x72)
C:/Program Files/Go/src/runtime/netpoll.go:305 +0x89 fp=0xc0083dadf8 sp=0xc0083dadd8 pc=0x45fbe9
internal/poll.(*pollDesc).wait(0xc00d208d80?, 0xc0051d7200?, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0083dae20 sp=0xc0083dadf8 pc=0x4b62b2
internal/poll.(*pollDesc).waitRead(...)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00d208d80, {0xc0051d7200, 0x5dc, 0x5dc})
C:/Program Files/Go/src/internal/poll/fd_unix.go:167 +0x25a fp=0xc0083daea0 sp=0xc0083dae20 pc=0x4b6dda
net.(*netFD).Read(0xc00d208d80, {0xc0051d7200?, 0xc010807f20?, 0xefd620?})
C:/Program Files/Go/src/net/fd_posix.go:55 +0x29 fp=0xc0083daee8 sp=0xc0083daea0 pc=0x518469
net.(*conn).Read(0xc01d78d448, {0xc0051d7200?, 0xc010807f80?, 0x461cd5?})
C:/Program Files/Go/src/net/net.go:183 +0x45 fp=0xc0083daf30 sp=0xc0083daee8 pc=0x5248c5
github.com/sandertv/go-raknet.clientListen(0xc02197aae0?, {0x9d58e8, 0xc01d78d448}, 0xc8b3c0?)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:283 +0xc9 fp=0xc0083dafb0 sp=0xc0083daf30 pc=0x6a26a9
github.com/sandertv/go-raknet.Dialer.DialContext.func3()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:252 +0x32 fp=0xc0083dafe0 sp=0xc0083dafb0 pc=0x6a24b2
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0083dafe8 sp=0xc0083dafe0 pc=0x464d21
created by github.com/sandertv/go-raknet.Dialer.DialContext
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:252 +0x6b2

goroutine 5277458 [IO wait]:
runtime.gopark(0x837c20?, 0xb?, 0x0?, 0x0?, 0x23?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc0017dfda0 sp=0xc0017dfd80 pc=0x437d56
runtime.netpollblock(0x4a1825?, 0x46bfbe?, 0x0?)
C:/Program Files/Go/src/runtime/netpoll.go:526 +0xf7 fp=0xc0017dfdd8 sp=0xc0017dfda0 pc=0x430737
internal/poll.runtime_pollWait(0x7fa53cc1dbd8, 0x72)
internal/poll.runtime_pollWait(0x7fa53cc1dbd8, 0x72)
C:/Program Files/Go/src/runtime/netpoll.go:305 +0x89 fp=0xc0017dfdf8 sp=0xc0017dfdd8 pc=0x45
fbe9
internal/poll.(*pollDesc).wait(0xc015316500?, 0xc00293d800?, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0017dfe20 sp=0xc0017
dfdf8 pc=0x4b62b2
internal/poll.(*pollDesc).waitRead(...)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc015316500, {0xc00293d800, 0x5dc, 0x5dc})
C:/Program Files/Go/src/internal/poll/fd_unix.go:167 +0x25a fp=0xc0017dfea0 sp=0xc0017dfe20
pc=0x4b6dda
net.(*netFD).Read(0xc015316500, {0xc00293d800?, 0xc0129a4f20?, 0xefd620?})
C:/Program Files/Go/src/net/fd_posix.go:55 +0x29 fp=0xc0017dfee8 sp=0xc0017dfea0 pc=0x518469
net.(*conn).Read(0xc01cf065b0, {0xc00293d800?, 0xc014cbb510?, 0xc0129a4f38?})
C:/Program Files/Go/src/net/net.go:183 +0x45 fp=0xc0017dff30 sp=0xc0017dfee8 pc=0x5248c5
github.com/sandertv/go-raknet.clientListen(0xc0221ec3c0?, {0x9d58e8, 0xc01cf065b0}, 0x0?)
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:283 +0xc9 fp=0xc0017dffb
0 sp=0xc0017dff30 pc=0x6a26a9
github.com/sandertv/go-raknet.Dialer.DialContext.func3()
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:252 +0x32 fp=0xc0017dffe
0 sp=0xc0017dffb0 pc=0x6a24b2
runtime.goexit()
C:/Program Files/Go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0017dffe8 sp=0xc0017dffe0 pc=0x4
64d21
created by github.com/sandertv/go-raknet.Dialer.DialContext
C:/Users/k/go/pkg/mod/github.com/sandertv/[email protected]/dial.go:252 +0x6b2

goroutine 5280299 [chan receive]:
runtime.gopark(0xc00736eed8?, 0x7b5d46?, 0x30?, 0x0?, 0xc00736ef68?)
C:/Program Files/Go/src/runtime/proc.go:363 +0xd6 fp=0xc00736eec0 sp=0xc00736eea0 pc=0x437d56
runtime.chanrecv(0xc02b594fc0, 0xc00736efb0, 0x1)
C:/Program Files/Go/src/runtime/chan.go:583 +0x49b fp=0xc00736ef50 sp=0xc00736eec0 pc=0x40665b

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/paroxity/portal/config: cannot find module providing package github.com/paroxity/portal/config
github.com/paroxity/portal imports
	github.com/paroxity/portal/logger: cannot find module providing package github.com/paroxity/portal/logger
github.com/paroxity/portal imports
	github.com/paroxity/portal/query: cannot find module providing package github.com/paroxity/portal/query
github.com/paroxity/portal imports
	github.com/paroxity/portal/session: cannot find module providing package github.com/paroxity/portal/session
github.com/paroxity/portal imports
	github.com/paroxity/portal/socket: cannot find module providing package github.com/paroxity/portal/socket

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

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.