NUT GUI USB and Network installer for Tinfoil and SX Installer

Easiest way is to just download nut.exe to the directory where your NSP's are, and start it. Will install NSP's from your PC to the switch via USB or network connection. The games will show up on the switch (in the "new games" section) to install, the PC client is just a dumb server. Default username and password is guest/guest for network install.



# USB Install

Run server.py or Windows users can use the precompiled nut.exe in the release section.

Follow the directions found in the release page to install the USB driver.

After you run the server, ensure NSP's are visible in the list. If they are not, change the path and click the "scan" button.

Connect your USB cable from your switch to your PC.

Start Tinfoil or SX Installer, and all of the NSP's listed in nut server should now be available to install in Tinfoil or SX Installer.


# Network Install

Run server.py or Windows users can use the precompiled nut.exe in the release section.

After you run the server, ensure NSP's are visible in the list. If they are not, change the path and click the "scan" button.

Start Tinfoil or SX Installer, then go to locations, then select "Add New" location. Enter the ip, port, username, and password that is displayed in the nut server application, then press save.

All of the NSP's listed in nut server should now be available to install in Tinfoil or SX Installer.

https://tinfoil.io/Download#download

changelog:

- Scan path is now saved and remembered.
- Web GUI is now works with the windows release.
- Web gui optionally launches at application launch.
- Various bugfixes / enhancements to web gui.
- Fixed display bug where username did not display in gui.
- conf/users.conf is created, and users can edit their username and password there.
- fixed random error when initializing.
 
Last edited by blawar,

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
U
Im talking about usb/nut install , none split nsp original size , should i split it and install ?

USB Nut install definitely supports files over 4GB.

--------------------- MERGED ---------------------------

@blawar Did u had some thime to check the switch crash with google filestream?

I have not checked yet, been busy. I will get to it.
 

KuranKu

I am KranK
Developer
Joined
Jan 13, 2019
Messages
367
Trophies
0
Age
34
Location
Israel
XP
1,181
Country
Israel
I have not checked yet, been busy. I will get to it.[/QUOTE]
U

USB Nut install definitely supports files over 4GB.
Well i found where was the issue i have DLC directory within the game directory on my pc using nut the tinfiol gets confuced and wont read the main game and read the dlc file instead therefore game wont install using tinfoil , is there a fix or a workaround this ?!
 

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
Well i found where was the issue i have DLC directory within the game directory on my pc using nut the tinfiol gets confuced and wont read the main game and read the dlc file instead therefore game wont install using tinfoil , is there a fix or a workaround this ?!

Sounds like you have the wrong title id in the DLC's file name. What is the exact DLC's file name?
 

x0x0

Well-Known Member
Member
Joined
Nov 15, 2017
Messages
300
Trophies
0
Age
32
Location
Inside the code
XP
1,101
Country
Poland
im confused
 

Attachments

  • gqq.png
    gqq.png
    22.4 KB · Views: 183

linuxares

The inadequate, autocratic beast!
Global Moderator
Joined
Aug 5, 2007
Messages
13,272
Trophies
2
XP
18,086
Country
Sweden
I've got to ask. Is it with the blockchain that StargateNX will work? It connects to a central server (the neighbour) and distributes the verified keys? Or do they just work as a big torrent between all the users? Will it also steal people personal game keys then?

Code:
# Generate a globally unique address for this node
node_identifier = str(uuid4()).replace('-', '')

Code:
@app.route('/nodes/register', methods=['POST'])
def register_nodes():
    values = request.get_json()

    nodes = values.get('nodes')
    if nodes is None:
        return "Error: Please supply a valid list of nodes", 400

    for node in nodes:
        blockchain.register_node(node)

    response = {
        'message': 'New nodes have been added',
        'total_nodes': list(blockchain.nodes),
    }
    return jsonify(response), 201

Code:
@app.route('/nodes/resolve', methods=['GET'])
def consensus():
    replaced = blockchain.resolve_conflicts()

    if replaced:
        response = {
            'message': 'Our chain was replaced',
            'new_chain': blockchain.chain
        }
    else:
        response = {
            'message': 'Our chain is authoritative',
            'chain': blockchain.chain
        }

    return jsonify(response), 200


def run(host='0.0.0.0', port=5000):
    app.run(host, port)

Code:
neighbours = self.nodes
        new_chain = None

        max_length = len(self.chain)

        for node in neighbours:
            response = requests.get(f'http://{node}/chain')

            if response.status_code == 200:
                length = response.json()['length']
                chain = response.json()['chain']

                if length > max_length and self.valid_chain(chain):
                    max_length = length
                    new_chain = chain

        if new_chain:
            self.chain = new_chain
            return True

        return False
Code:
def register_node(self, address):
        """
        Add a new node to the list of nodes

        :param address: Address of node. Eg. 'http://192.168.0.5:5000'
        """

        parsed_url = urlparse(address)
        if parsed_url.netloc:
            self.nodes.add(parsed_url.netloc)
        elif parsed_url.path:
            # Accepts an URL without scheme like '192.168.0.5:5000'.
            self.nodes.add(parsed_url.path)
        else:
            raise ValueError('Invalid URL')


    def valid_chain(self, chain):
        """
        Determine if a given blockchain is valid

        :param chain: A blockchain
        :return: True if valid, False if not
        """

        last_block = chain[0]
        current_index = 1

        while current_index < len(chain):
            block = chain[current_index]
            print(f'{last_block}')
            print(f'{block}')
            print("\n-----------\n")
            # Check that the hash of the block is correct
            last_block_hash = self.hash(last_block)
            if block['previous_hash'] != last_block_hash:
                return False

            # Check that the title key is correct
            #if not self.valid_proof(last_block['proof'], block['proof'], last_block_hash):
            #    return False

            last_block = block
            current_index += 1

        return True

    def resolve_conflicts(self):
        """
        This is our consensus algorithm, it resolves conflicts
        by replacing our chain with the longest one in the network.

        :return: True if our chain was replaced, False if not
        """


Just some examples from the source code
 
Last edited by linuxares,
  • Like
Reactions: Don Jon

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
I've got to ask. Is it with the blockchain that StargateNX will work? It connects to a central server (the neighbour) and distributes the verified keys? Or do they just work as a big torrent between all the users? Will it also steal people personal game keys then?
Just some examples from the source code

This is not Stargate , this is Nut, and Nut a) runs on your pc so its not even possible to steal switch keys and b) it is open source. being that it is open source, please kindly point to any line of code you feel is malicious or deceptive. I know that you did not technically accuse Nut of doing anything malicious, but your comments could be erroneously construed by a layman to infer that Nut is doing something malicious.
 

x0x0

Well-Known Member
Member
Joined
Nov 15, 2017
Messages
300
Trophies
0
Age
32
Location
Inside the code
XP
1,101
Country
Poland
I try everything @KuranKu
Could not find a version that satisfies the requirement pyqt5 / pyqt5-installer / pyqt5-tools

One thing i can do is
apt-get install python3-pyqt5 but it will install with python3.5
 

bluedart

Well-Known Member
Member
Joined
Nov 13, 2016
Messages
270
Trophies
0
XP
2,221
Country
United States
I'd love to try this, but when I updated tinfoil I now can no longer boot tinfoil up without getting a restart error. Lame. Anyone have a link to a version before this error started occurring so I can have tinfoil back? The version in question is the latest one here.

Also, quick question, the zadig "driver" that I apparently need is not going to replace the one that lets me flash a bin to make my switch work, is it?

I just found out Goldleaf has a usb install option, since that still runs is it stable?
 

tiliarou

Well-Known Member
Member
Joined
Feb 4, 2018
Messages
163
Trophies
0
XP
592
Country
France
I'd love to try this, but when I updated tinfoil I now can no longer boot tinfoil up without getting a restart error. Lame. Anyone have a link to a version before this error started occurring so I can have tinfoil back? The version in question is the latest one here.

Also, quick question, the zadig "driver" that I apparently need is not going to replace the one that lets me flash a bin to make my switch work, is it?

I just found out Goldleaf has a usb install option, since that still runs is it stable?
This is not the Tinfoil mentionned in this thread.
Refer to this one: https://github.com/digableinc/tinfoil
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: It's mostly the ones that are just pictures and no instructions at all