If you want to have absolutely no exposure to the iternet, this should be easy to accomplish by sabotaging the tools your computer uses to access the internet. If you’re on Ubuntu, you can do this easily by going into /sbin and removing dhclient, and possibly if and iw. To get those back you’d need a liveCD, and to get a liveCD you’d need an internet connection.
I used that solution for a couple months and it worked well. But I often do have legitimate uses for the internet. So you could use something like LeechBlock to block unproductive websites but retain internet access. Unfortunately, LeechBlock and similar solutions are easy to circumvent.
So I built a system to flexibly manage internet access restrictions in a way that is very difficult to circumvent. The code is here, but it’s hard to use without a tutorial, and I haven’t written a tutorial yet—I’m planning to, but it might take me another month or two. Essentially, you have two user accounts on your computer. The one is a “controller” administrator account, while the other is a “requester” non-administrator account. Most of the time, you are in the requester account, and you do not have access to the controller account; the controller account’s password is randomized and hidden from you by the system. You can issue requests to the controller account; an example of a request is “give me access to the controller account”. These requests take some time to be enacted, which prevents precommitment-breaking. The controller account restricts the requester account’s internet use by filtering packets and blocking certain domains. Again, this code will be hard to use until I write a tutorial/readme, which I’ll probably do in a month or two.
If you want to have absolutely no exposure to the iternet, this should be easy to accomplish by sabotaging the tools your computer uses to access the internet. If you’re on Ubuntu, you can do this easily by going into /sbin and removing dhclient, and possibly if and iw. To get those back you’d need a liveCD, and to get a liveCD you’d need an internet connection.
I used that solution for a couple months and it worked well. But I often do have legitimate uses for the internet. So you could use something like LeechBlock to block unproductive websites but retain internet access. Unfortunately, LeechBlock and similar solutions are easy to circumvent.
So I built a system to flexibly manage internet access restrictions in a way that is very difficult to circumvent. The code is here, but it’s hard to use without a tutorial, and I haven’t written a tutorial yet—I’m planning to, but it might take me another month or two. Essentially, you have two user accounts on your computer. The one is a “controller” administrator account, while the other is a “requester” non-administrator account. Most of the time, you are in the requester account, and you do not have access to the controller account; the controller account’s password is randomized and hidden from you by the system. You can issue requests to the controller account; an example of a request is “give me access to the controller account”. These requests take some time to be enacted, which prevents precommitment-breaking. The controller account restricts the requester account’s internet use by filtering packets and blocking certain domains. Again, this code will be hard to use until I write a tutorial/readme, which I’ll probably do in a month or two.