Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
github.com/nic-at/rc0go
rc0go is a Go client library for accessing the RcodeZero Anycast DNS API.
import "github.com/nic-at/rc0go"
Using your API token construct a new rcode0 client, then use the various services on the client to access different parts of the rcode0 Anycast DNS API. For example:
rc0client := rcode0.NewClient("myapitoken")
// List all your zone entries which are managed by rcode0
zones, _, err := rc0client.Zones.List()
// Add a new zone to rcode0
statusResponse, err := rc0client.Zones.Create("rcodezero.at", "master", []string{})
// Get a single zone
zone, err := rc0client.Zones.Get("rcodezero.at")
// Add an "A" DNS resource record to the
rrsetCreate := []*rc0go.RRSetEdit{{
Type: "A",
Name: "www.rcodezero.at.",
ChangeType: rc0go.ChangeTypeADD,
Records: []*rc0go.Record{{
Content: "10.10.0.1",
}},
}}
statusResponse, err = rc0client.RRSet.Create("rcodezero.at", rrsetCreate)
Some code snippets are provided within the https://github.com/nic-at/rc0go/tree/master/example directory.
As defined in rcode0 docs the API is structured in different groups. These are:
Zone Management
Zone Statistics
Account Statistics
Message Queue
Account Settings
Reports
Each of the groups is aimed to be implemented by a Go service object (f.e. rc0go.ZoneManagementService
) which in turn
provides the corresponding methods of the group.
DNSSEC (rc0go.DNSSECService
), however, is defined as separate service object.
Each method contains the reference to original docs to maintain a consistent content.
The API is rate limited. Additional client support will be added soon.
Some endpoints (like adding a new zone to rcode0) return a 201 Created
status code with a status response.
Status response is defined in rc0go.StatusResponse
struct and contains only two fields - status and message.
statusResponse, err := rc0client.Zones.Create("rcodezero.at", "master", []string{})
if eq := strings.Compare("ok", statusResponse.Status); eq != 0 {
log.Println("Error: " + statusResponse.Message)
}
Some requests (like listing managed zones or rrsets) support pagination. Pagination is defined in the
rc0go.Page
struct (with original data returned within rc0go.Page.Data field). Pagination options will be supported soon.
Contributions are most welcome!
Any changes without tests are not accepted!
rc0go released under MIT license, refer LICENSE file.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.