#💽Programming Chat v2

1 messages · Page 44 of 1

timid quartz
#

so if I made an sstp client

#

would i also have to reimplement tcp

spare quartz
#

depends

#

if you'd want to rely on pppd in the linux kernel which does most of the work for you no

#

otherwise yes

timid quartz
#

pppppppppppd

#

idk if rust has an interface to pppd

spare quartz
#

it doesnt implement ip though

#

The Rust programming language is blazingly fast and memory-efficient, with no runtime, garbage collector or OS. It catches a wide variety of bugs at compile time, thanks to its full memory- and thread-safety, and expressive type system.

flint belfry
#

@unfunnylad rust virus

#

oh right he left

spare quartz
#

no i still hate rust

flint belfry
#

also how am i going to run this btw

#

like

#

is it gonna be an executable sh program???

#

or

spare quartz
#

you just run the executable

flint belfry
#

a single program that dosent need any dependencies

spare quartz
flint belfry
#

everything is in one thing

#

right

spare quartz
#

yes

flint belfry
#

ok cool

spare quartz
#

there is also no configuration files to deal with

flint belfry
#

cuz i dont wanna run it and then it screams it wants libc6 or some shit

flint belfry
#

could you add at least one so i can customize the authentication and port bindings

spare quartz
#

... you can already do that

spare quartz
flint belfry
#

wait

#

via commands right

spare quartz
#

yes

flint belfry
#

oh lmfao then thats fine

spare quartz
#

-ip=0.0.0.0 -port=443 -keystore=keystore.p12 -keystore_passphrase=CENSORED -pap_username=testuser -pap_passphrase=passwordmeow

#

this is what teh servers curerntly running with

#

the ip/port part is optional

flint belfry
#

also you probably dont need to know this but i plan to have this be ran by crontab at startup

#

like when i install this i intend not to ever login again to touch it

spare quartz
#

well then i'll probably need to do a lot of tweaking to the error logic

#

but the server itself (under normal circumstances) should never crash

#

just single connections

flint belfry
#

yeah i just wanna run it unattended and thats all

#

i tried to automate the ssh thing at startup and it sucked ass because crontab wont run screen for some reason

#

also systemd dosent exist for some reason

#

so i cant make it a service

spare quartz
#

oh yeah btw dont run this program in airplanes, nuclear facilities, or banks

flint belfry
#

let me guess because it has 10000000 sec vulnrabilites

spare quartz
#

no

flint belfry
#

oh

spare quartz
#

there isn't any remote execution vulns or even authetnication (aside from anything the jdk might have)

#

you just can't cause

#

that requires certification

flint belfry
spare quartz
#

... yes

flint belfry
#

a

#

fucking airplane

#

😭

spare quartz
#

you REALLY think some random developer is just

#

gonna run this on an airplane

flint belfry
#

well im sure as hell not lmfao

#

why would you in hte first place

#

unless you have a 3d printer on a plane for some reason

spare quartz
flint belfry
#

@spare quartz DIE

#

DIE

#

DIE

timid quartz
spare quartz
#

will never make it

timid quartz
#

good lang

#

has already made it

#

whereas yours hasnt

spare quartz
#

never made it

#

horrible hang

#

lagmn

timid quartz
#

true ada never did make it

#

it is a horrible lang

spare quartz
#

die

timid quartz
#

📌

spare quartz
#

エアレーションタンク

timid quartz
#

aeration tank?

spare quartz
#

aeration tak

flint belfry
#

is that the thing from aajimal crossing

timid quartz
#

why u apologizing

#

For your bad lang choice?

#

it’s ok

#

We all make mistakes

spare quartz
#

i cant send the video its frrom :Sob:

spare quartz
flint belfry
#

nevrmind

spare quartz
#

fatas s

timid quartz
flint belfry
spare quartz
#

I WISH i could send bayachaos latest video here... unforuntately...

#

unnnnforuntately... unfortunaetlyr..

timid quartz
#

bad atp

spare quartz
#

ITS NOT MY FAULT THEY'RE JAPANESE AND JUSUT LIKE THAT OKAY

timid quartz
#

keep your horny furry out of here

spare quartz
#

ITS NOT MY FAULT

#

??

timid quartz
#

ちゅるちょお

#

ちゃおちゅる

spare quartz
#

STOP IT

timid quartz
#

:3

spare quartz
timid quartz
#

拷問

spare quartz
#

いいえ!!!!!!!!!!!!!!

timid quartz
#

Bayachao plush

spare quartz
#

thats a puppet

#

its actually blocking a few mercrh items i'd get banned if they were sent here 😭

timid quartz
#

so we should ban you anyways ok!

spare quartz
#

WHAST

timid quartz
spare quartz
#

NOW WITH CAST COMMENTARY??

timid quartz
#

Anyways I’m watching Berserk and then sleeping

spare quartz
#

watch bayachao streams instead

spare quartz
#

currently writing a NAT

flint belfry
#

quick make it november

spare quartz
flint belfry
spare quartz
#

🤓

flint belfry
spare quartz
#

this nat stuff ist ough

#

i bneed to wire sharl

#

bleleghe

#

@flint belfry can you set up a udp echo server

flint belfry
#

excuse me a what

#

i can try ig

#

do you have one in mind

spare quartz
#

no

flint belfry
spare quartz
#

uhhh

#

run

coproc cat
nc -l <port> <&${COPROC[0]} >&${COPROC[1]}
flint belfry
#

linux?

spare quartz
#

yeah

flint belfry
#

do i need to port forward this

spare quartz
#

probably

flint belfry
#

ok hold on

#

is this fine

spare quartz
#

suer

#

what ip is that

flint belfry
#

resolve localnet

#

i need to forward it hold on

#

is it just udp or both udp and tcp

spare quartz
#

udp

flint belfry
#

ok try

#

3001

spare quartz
flint belfry
#

108.218.55.35 right

spare quartz
flint belfry
#

well idk what to tell you i ran the command you provided 😭

spare quartz
#

ummm hgold on

flint belfry
#

atp please don't tell me your coding a udp echo server for a single thing

spare quartz
#

no its cause my ide froze

flint belfry
#

oh

spare quartz
#

okay here try this

flint belfry
#

please don't tell me you made that

spare quartz
#

i did

flint belfry
#

god 😭

#

also this is a bat file

#

are you sure it's gonna run on linux

spare quartz
#

there is a shell file right next to it

flint belfry
#

oh

#

uhhh im on mobile can you right click the download button and press copy link and send it

#

i need to wget it

flint belfry
#

udpecho udpecho.bat
kade@ubuntu-desktop-1:~/udpecho-1.0-SNAPSHOT/bin$ ./udpecho
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
kade@ubuntu-desktop-1:~/udpecho-1.0-SNAPSHOT/bin$

#

which java do i install

spare quartz
flint belfry
#

8?

spare quartz
#

anytyhing above 8

flint belfry
#

what's the package name for 21

spare quartz
#

uhhh

#

does ubuntu supporrt RPM files?

flint belfry
#

no idea

spare quartz
#

try the DEB

flint belfry
#

oh ok

spare quartz
#

this is for JDK 24 (the latest)

#

JDK 24 will receive updates under these terms, until September 2025, when it will be superseded by JDK 25.

flint belfry
#

oh my god half a gig

spare quartz
#

yeah

flint belfry
#

fuckin java

#

this might take a bit

spare quartz
#

god the output is so gay to scroll through

flint belfry
spare quartz
#

okay what ip do i use

#

localnet again ?

flint belfry
#

yes

spare quartz
#

it works

flint belfry
#

very nice

spare quartz
#

what does the server output

flint belfry
#

ill leave this running

flint belfry
#

ade@ubuntu-desktop-1:~/udpecho-1.0-SNAPSHOT/bin$ ./udpecho
UDP Socket Addr : /0:0:0:0:0:0:0:0 : 3001
listening ...
RX UDP : /107.132.83.172 : 48424 ; [5]
TX UDP : /107.132.83.172 : 48424 ; [5]

spare quartz
#

oh okay neat

#

48424 is the port im using for UDP proxy

#

this is what the vpn sees

lavish dove
#

lol

spare quartz
spare quartz
#

NAT test #1

#

(this creates a kinda-routing table over the OS)

#

if the server responds with a UDP packet on the port we sent them one in 30 seconds, then it'll send that UDP packet to the sender

#

(otherwise discard)

pallid loom
#

btw darkmode dependant on the system

#

so you don't get flashbanged at night

#

I don't know why sites have a default like that

spare quartz
#

okay i think thats UDP done

#

back to TCP emulatiobn..

#

eeeeeeehhh

#

okay it looks like i need to finish working on TCP cause

#

ive broken apt

flint belfry
# pallid loom btw darkmode dependant on the system

darkmode needs to be standardized on the system theme settings
ive seen very very few sites that actually see if your using dark mode or light mode on your system and only then use whatever based on what your systems on

#

or they could just have darkmode always on

#

which is the lazy way

timid quartz
#

🤓

flint belfry
#

cant comprehend stuff

spare quartz
#

pushed ,,

#

oh oops

#

i pushed my keystore

rustic vine
#

😨

spare quartz
#

thats just the actual protocol name

rustic vine
#

you forgot Factory at the end

rustic vine
#

yw

spare quartz
#
  • Point-To-Point
    • Network Control Protocols
      • Internet Protocol Control Protocol
        • Configure-Nak
spare quartz
#

rustic vine
rustic vine
#

Oh yea these things are so cool

#

I had the chance to see one in person

spare quartz
#

hmm

#

am not sure if netcat is working right

#

wireshark is saying its working..

#

thats probably why

#

a bit weird but it works

#

@flint belfry hey .....

#

do you wanna run another echo server for me.. ..

flint belfry
#

is mine not working anymore

spare quartz
#

this time for TCP

flint belfry
#

ah

#

sure ill run it on 3002

spare quartz
#

let me just write another server

#

and commit this one tot he repo

flint belfry
#

k ill do it when i

#

atp did you seriously

#

make a fucking git repository for this

#

simple ass server

spare quartz
#

for what

flint belfry
#

echo server

spare quartz
#

yeah

flint belfry
#

also who is the vpn server licensed under again

#

i forgot

spare quartz
#

you said i could put it under breadexpertsgroup

flint belfry
#

whats the difference between me having it under myself or having it under breadexperts

spare quartz
#

well if its under you then you decide how the code is privatized or whatever

#

and copyrights go to you

flint belfry
#

ic

#

can the licensing be transferred to me if i ever change my mind which i probably wont

spare quartz
#

eeemmmmm

flint belfry
spare quartz
#

i dont know the answer to that

#

but if you want maintainer access to the repo we'll give it to you

flint belfry
#

keep it under breadexperts then

#

anyways ping me when the udp echo server is done

#

i mean tcp

#

whatever

spare quartz
#

stupid

flint belfry
#

die

spare quartz
#

:3

#

hold on its analyzing my code

spare quartz
#

well it has 4 warnings immediately cause

#

im using println

#

and we usually never do that

#

okay time to write tcp

flint belfry
#

ok ill open it on 3002 give me a second

spare quartz
flint belfry
#

ok should be up

spare quartz
#

i need to write a lot more

flint belfry
#

did it work or not

#

i dont see any outpit

spare quartz
#

the TCP end of the vpn doesnt create a socket yet

flint belfry
#

oh

#

ok well ill leave it running anyways

spare quartz
spare quartz
#

like did any ips try to scan it

spare quartz
#

that's just me ,.......

flint belfry
#

i cant scroll up

#

for some reason

flint belfry
spare quartz
#

okay so

#

it actually did get a SYN ACK

flint belfry
#

i wonder what would happen if i opened a damn vulnerable linux vm with the lowest specs possible

spare quartz
#

@flint belfry okay so

#

i made a mistake with the TCP server

#

and its not acutally sending any data back

flint belfry
#

girl 💀

#

ok

spare quartz
#

let me just fix it

flint belfry
#

givemme the new one

#

ok

spare quartz
flint belfry
#

wouldnt it technically be 1.1

flint belfry
#

alos its up

#

yay

spare quartz
#

aera type post

proud creek
#

fr

spare quartz
#

koay back to tcp development

spare quartz
#
let packet_bytes: [u8; _] = [
  0x74, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73,
  0x73, 0x61, 0x67, 0x65, 0x20, 0x2e, 0x2e, 0x2e,
  0x20, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65,
  0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x2e, 0x2e,
  0x2e, 0x20, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
  0x37, 0x38, 0x39, 0x31, 0x30, 0x20, 0x2e, 0x2e,
  0x2e, 0x20, 0x21, 0x40, 0x23, 0x24, 0x25, 0x5e,
  0x26, 0x2a, 0x28, 0x29, 0x20, 0x2e, 0x2e, 0x2e,
  0x20, 0x77, 0x69, 0x72, 0x65, 0x73, 0x68, 0x61,
  0x72, 0x6b, 0x20, 0x68, 0x65, 0x6c, 0x6c, 0x6f,
  0x0a
];
#

OK so

#

tcp echo KINDA works

#

but the peer doesn't like my responses rn

timid quartz
#

🤓

spare quartz
#

go my tcp

spare quartz
#

@flint belfry i ahve bad news

flint belfry
#

what

spare quartz
#

so it turns out

#

my TCP is actually functional, however

#

the echo server i sent you is broken again

#

:grrin:

flint belfry
#

oh my god i was expecting you to say the server actually needs dev net tun to work

#

thank god

#

ok just send me another echo server

spare quartz
#

i have to fake all of these packets

spare quartz
#

here

#

okay now i just gotta add FIN support

#

just ping me when the servs up

flint belfry
flint belfry
spare quartz
#

hooray it works

spare quartz
#

hhoollyyy crap

#

our stack is actually good enough for http now

#

ooo interesting

#

it supports NTP too

#

thats why ive been getting those packets

spare quartz
#

bbbbbuttt i noticed the udp server is now throwing a port unreachable exception whcih means

#

i had to add another ICMP handler

#

and it works

#

whoops thats cause i was using the wrong port

#

corrected

spare quartz
#

hmm

#

idea for a router..

flint belfry
#

I FELL ASLEEP 😭

spare quartz
#

im this close to making tcp perfect

#

so /....

flint belfry
#

ok lemme do it rn

spare quartz
#
logTCP(PALE_PINKISH_RED, ppp.frame)
                                            val connection = tcp[ppp.frame.sourcePort]
                                            if (connection == null) {
                                                if (ppp.frame.flags.size == 1 && ppp.frame.tcpFlags[0] == TCPFlag.SYN) {
                                                    try {
                                                        val socket = Socket(ppp.frame.destination, ppp.frame.destPort)
                                                        val newConnection = TCPConnection(socket)
                                                        tcp[ppp.frame.sourcePort] = newConnection
                                                        newConnection.ack = ppp.frame.sequence + 1
                                                        newConnection.lastAck = newConnection.ack
                                                        newConnection.seq = secureRandom.nextInt()
                                                        sendFrame(newConnection, TCPFlag.SYN, TCPFlag.ACK)
                                                        newConnection.seq++
                                                    } catch (_: SocketException) {
                                                        sendICMPUnreachable(1, ppp.frame)
                                                    }
                                                } else sendReset()
                                            } else {
                                                val flags = mutableListOf<TCPFlag>()
                                                if (ppp.frame.tcpFlags.contains(TCPFlag.ACK)) {
                                                    if (ppp.frame.data.isNotEmpty()) {
                                                        connection.ack += ppp.frame.data.size
                                                        connection.buffer.add(ppp.frame.data)
                                                        flags.add(TCPFlag.ACK)
                                                    }
                                                    if (connection.removeEntry) tcp.remove(ppp.frame.sourcePort)
                                                } else sendReset()
                                                if (ppp.frame.tcpFlags.contains(TCPFlag.PSH)) {
                                                    connection.buffer.removeIf {
                                                        connection.socket.outputStream.write(it)
                                                        true
                                                    }
                                                }
                                                if (ppp.frame.tcpFlags.contains(TCPFlag.FIN)) {
                                                    connection.ack += 1
                                                    flags.add(TCPFlag.ACK)
                                                    flags.add(TCPFlag.FIN)
                                                    connection.close()
                                                }
                                                if (flags.isNotEmpty()) sendFrame(connection, *flags.toTypedArray())
                                            }
flint belfry
#

@spare quartz it's up

spare quartz
#

OHHHHHHHHHHHHHHHHHHHHHHH

#

OHHHH

#

THATS WHY ITS GIVING ME TRASH

#

for the longest time i thought i was using your server

#

i was ruunning netcat on googles HTTPS 😭

flint belfry
spare quartz
#

because i dont remember your ip

#

😭

flint belfry
#

sorry keyboard turned chinese

flint belfry
spare quartz
#

okay well

flint belfry
#

its always gonna resolve to my ip

spare quartz
#

i didnt rember

flint belfry
spare quartz
#

you're stuipd and dumb

flint belfry
spare quartz
#

why arent you transmitting

#

OH IT WORKED

#

@flint belfry YAYY

#

I GOT TLS WORKING :3

flint belfry
spare quartz
#

okay umm

#

do you wanna try the server for yourself

#

and make some requests

#

hold on lemme try and downloaoding an image

flint belfry
#

also does this mean if i like

#

run discord through the vpn its gonna work

spare quartz
#

probably

flint belfry
#

for example

#

ok cool

#

I'll let you know when im ready and we should try running the server on the printer to make sure it even runs

spare quartz
flint belfry
#

did you ever fix the oplock error

spare quartz
#

idk call microsoft

flint belfry
#

what 😭

spare quartz
#

i dunno how to fixt hat!!

#

oh yeah but uh

#

since this project relies on zero native libraries....

#

it can run perfectly on any platform with a JVM and netwokrking

#

hmm i wonder

#

can i download apt packages..

#

holy shit it worrkkkeeedd

#

im such a good coder

#

ehehe :3

#

this project (where we had to do A LOT MORE THAN JUST VPN, such as virtualizing ip/tcp/udp/icmp to get around not having raw sockets) fits in just over 4,000 loc

#

maybe ill support that protocol next ...

#

the main server file that ties all the protocols together is about 681 lines

#

(or 24.8 kb)

spare quartz
#

might maek a windows vpn client for this

#

if i can figure out how

flint belfry
#

@spare quartz ok send me the server

#

the vpn server

#

im going to try to run it on the pritner

spare quartz
#

this'll require jdk 21

#

gonna do something scary

flint belfry
#

um

spare quartz
#

do you need help

flint belfry
#

yes

#

i dont have a package manager as a rmeinder

spare quartz
#

oh thats fine

flint belfry
#

and unless you have the source code for 21

#

idk how to install it

spare quartz
#

uhh this is an arm cpu right?

flint belfry
#

arml7 i think

#

its def arm

#

i think its l7

spare quartz
#

heres the ARM 64 build for 21

#

it should contain binaries

flint belfry
#

this thing really dosent like wget

#

time to upload it via sftp

#

ok while thats uploading at a splendid fucking 200 kbps @spare quartz how do i compile jdk

#

is it just

#

a makefile or

spare quartz
#

id suggest not

flint belfry
#

what

#

ok then im confused how do i install it

#

is that the source code or??

spare quartz
flint belfry
#

oh

spare quartz
#

it MIGHT have its source in there too

#

i didnt check

flint belfry
#

if its compiled idgaf about compiling then

spare quartz
#

i hope your cpu is 64-bit btw

flint belfry
#

i usually have to compile source codes to install rpograms like this

flint belfry
#

it isnt

#

😭

spare quartz
#

what

flint belfry
#

i told you it was arm

spare quartz
#

you should've said something when you say the -aarch64_bin.tar.gz

flint belfry
#

I SAID IT WAS ARM

spare quartz
#

THAT IS ARM

flint belfry
spare quartz
#

ARM HAS 64-BIT CPUS IDIOT

flint belfry
#

DIE IM NOT GOOD WITH PROCESSORS

#

😭

spare quartz
#

o-kgiodfkgdf

flint belfry
#

I MAKE COMPUTERS YELL THINGS AT EACHOTHER

#

NOT MAKE ROCKS THINK

#

AND SHT

spare quartz
#

lemme try and find a 32-bit build

#

try running that one anyways to see if it somehow works

flint belfry
#

the upload speeds are actually abysmal

#

idk why sftp is being so slow

#

if only wget actually worked like it should ca35atomizer

flint belfry
#

i think my wget is outdated or some shit since it just makes servers respond with 400 or something else

flint belfry
spare quartz
#

heres a 32-bit ARM JDK 21 for you if that ver doesn't work

#

Don't make me write you a JVM.

#

theres no way this works

#

but its actually possible and thats so funny

#

(this is the VPN rurnning in a VPN)

flint belfry
#

ca35atomizer \

spare quartz
#

i mean a REAL one

flint belfry
#

actually a lua jvm would probably be more preformant than what th efuck this printer is running

spare quartz
#

not true at all

flint belfry
#

oh holy shit ifnally

#

the tar is done uploading

#

let me extract it

spare quartz
#

hold on im gonna fix up the ip allocation for this to see if i can run the vpn in itself infinitely

flint belfry
#

the program is in bin right

spare quartz
#

the java program yeah

flint belfry
#

which one

#

is it just java

spare quartz
#

just run one file and see if it works

flint belfry
#

@spare quartz what do i do

#

do i just run ./java

#

or

spare quartz
#

yes!! you!!! idiot!!!

flint belfry
#

die

spare quartz
#

just run anything in that folder

spare quartz
#

they'll all be the same executable type

spare quartz
flint belfry
#

ok

spare quartz
#

im gonna choke on my soda before you run it

flint belfry
#

time to wait another 5000 years before it uploads

flint belfry
spare quartz
#

no

#

mountain dew

#

idi ot.

#

send me aerocats or my game or ill put

#

idk

#

a virus in it thatll print... aerocats... 24/7

#

(idk how 3d printers work)

flint belfry
#

WHERE DO I FIND AEROCATS

spare quartz
flint belfry
flint belfry
spare quartz
flint belfry
#

WHAT MAKES YOU THINK IM GONNA FIND KNOCKOFF PLANE DRAGON CAT THINGS

flint belfry
#

if i knew how to find plane dragons i wouldnt be asking you all the time

#

😭

spare quartz
#

fatass

flint belfry
spare quartz
#

??

flint belfry
#

so what

spare quartz
#

im not talking to you/?

#

go away

flint belfry
#

0h

spare quartz
#

Fatass

flint belfry
#

die

#

ok

spare quartz
#

thsi is me

flint belfry
spare quartz
flint belfry
#

also did you make the package yet

spare quartz
#

WHAT PACKAGE

flint belfry
#

THE FUCKING

#

SERVER

#

ATP

spare quartz
#

oh

#

just use hte one i sent you

#

iiot

flint belfry
#

oh

spare quartz
#

its java it works everywhere

flint belfry
#

you said you had to change tcp

#

or something

spare quartz
#

oh no thtas just for me

flint belfry
spare quartz
#

so i can run vpns in vpns in vpns

flint belfry
#

the jdk is still downloading

#

well uploading

spare quartz
#

ohhh yeahh

#

i need to add proper SSTP terminating logic

flint belfry
#

OH MY GOD

#

@spare quartz

#

WHY IS IT CHINESE

spare quartz
#

???

flint belfry
#

CHINESE JAVA

spare quartz
#

lol 😭

flint belfry
#

IS THERE A ENGLISH VERSION 😭

spare quartz
#

idk!! hold on

#

im wiritng an emial

flint belfry
#

its probably to ur school with like 5 billion gazillion somebig number here missing assignments

spare quartz
#

okay wrote that email

spare quartz
#

read any of these

#

maybe your lang is set to that

flint belfry
#

uhh

#

wharts the command to check a variable again

#

im kinda multitasking rna nd i cant be bothered to find it

spare quartz
#

echo $<VAR>

flint belfry
#

also this thing is from china so i wouldnt be suprised if the os is on a china lang

spare quartz
#

yeah just chnage it to en_US

#

where possible

#

and try again

#

keep the encoding in there

flint belfry
#

oh its english thank fuclk

#

ok send me the server when ur ready

spare quartz
#

YO HAHVE IT

#

USE THE ZXIP I SENT YUO!!!

flint belfry
#

java just gave me the help output so im assuming its working

flint belfry
spare quartz
#

ばか

flint belfry
#

OK JUST

#

SEND IT AGAIN

spare quartz
#

omg

flint belfry
#

ILL DO IT IN A BIT

flint belfry
spare quartz
#

do you want it in tar or zip

flint belfry
#

IM WORKING ON A MACHINE THAT SPITS OUT PLASTICS INTO SHAPES

flint belfry
#

tar preferred

#

zip takes a long time for some reason

spare quartz
flint belfry
#

ok cool

#

@spare quartz

#

am i stupidor

#

how do i run this

#

😭

flint belfry
#

uhh

#

ok

spare quartz
#

it'll probably give you an error about keystore though

flint belfry
#

whats the command to set the path

#

discord please

#

oh

spare quartz
#

or

#

export JAVA_HOME="<apth>"

flint belfry
#

im going to put the java folder in /usr/bin/java for my sanity

spare quartz
#

What

flint belfry
flint belfry
#

OK WHERE ELSE

#

DO YOU WNAT ME TO PUT IT

#

THERES NO GOOD PLACE ON THE SYSTEM 😭

spare quartz
#

idk /home or something 😭

flint belfry
#

no /home has all the gcode files

#

for some reason

spare quartz
#

homeless

#

ughh fine whatever

flint belfry
#

no it sjust all the gcode gangsters overan it

#

whatever

#

export JAVA_HOME="/usr/bin/java/bin/"

#

will this work

spare quartz
#

sure

flint belfry
#

ok

#

is it supposed to be the entire folder

#

or just bin??

#

i set it to bin

spare quartz
#

remove the ending /

spare quartz
#

okay just

#

drop the /bin part

flint belfry
#

just the entire folder then

#

ok

spare quartz
#

last

spare quartz
#

you must specify the keystore's password

#

... you have a keystore, right?

flint belfry
#

um

spare quartz
#

just follow this i guess

flint belfry
#

oh god i have to do tls and ssl shit???

#

😭

spare quartz
#

yes

flint belfry
#

ok give me a bit then

spare quartz
#

the sstp client will complain about the cert but you can add a flag to ignore it

spare quartz
#

can you run it with -ni_list?

spare quartz
#

neat

#

wlan0... it has wifi??

flint belfry
#

yes but we dont use it because it crapped out when we tried

#

so we just hardwired it

spare quartz
#

aww

flint belfry
#

HOWEVER

#

if you want

#

i could turn on wifi

timid quartz
spare quartz
#

its fine

flint belfry
#

but idk why you would wanrt me to

spare quartz
#

keep going

flint belfry
#

since hardwire faster

flint belfry
spare quartz
flint belfry
#

ill do the ssl and tls shit later since ik thats going to be really fun and im working on my printer but ill do it in like 20 mins

spare quartz
#

also i restricted TCP packets to 200 bytes on the receiving end so

#

not needed

flint belfry
#

ok well

#

me and my teacher

#

but thats it

#

it depends if she wants to use it or not

timid quartz
flint belfry
#

idk if she cares that much about remote monitoring

spare quartz
#

200 bytes per packet isn't particularly great but it still handles thousands a second

#

it's fine

#

i dunno what the speed will look like on the printer thouogh

spare quartz
#

but take your time

#

and make sure you remember the passphrase you put on it

#

additionally the server WILL NOT run with authentication by default

#

add -pap_username=<name> -pap_passphrase=<passphrase> entries for user/pass auth

flint belfry
#

lemme try

spare quartz
#

it doesnt matter

flint belfry
#

ok

#

lets see if it has openssl

#

if it dosent i need to gen on my side

spare quartz
#

iirc JDK comes with its own tls/ssl, idk about keygen though

flint belfry
#

oh my god it has it

spare quartz
#

the keytool is used for making the .p12 files

flint belfry
#

what a shock

#

do i give it a fqdn

#

or just leave blank

spare quartz
#

yeah

#

your domain if its under one

flint belfry
spare quartz
#

if not, use your name iirc

flint belfry
#

idk if my schools fqdn is Bre#########.org

#

or if thats just what appears for the internet adapter on the windows pcs

flint belfry
spare quartz
#

i think you can

flint belfry
#

ill just leave it blank since i dont want that to fuck up anything

#

i can change it if it does

#

export password is the keystore password right

spare quartz
#

yeah

flint belfry
#

k

#

fuck you mean???

spare quartz
#

oh wait is that the certificate

#

i dont think you need a password there

#

just the keystore

flint belfry
#

ummmmmmmmmmmmmmmmmmmmmmmmmmmm

#

i already put it in ca35atomizer

#

do i start over

spare quartz
#

it doesnt matter

#

keep going

flint belfry
#

ok

#

keytool not found

#

do i need to do this on my side

spare quartz
#

check the JDK you installed

#

its probably in bin

flint belfry
#

uhhh

#

yes

#

whats the destination keystore password

#

is it the one i used for export password

spare quartz
#

sure

flint belfry
#

ok

#

im assuming that worked

spare quartz
#

wait

#

you just imported the keystore

#

you didnt need to do that

#

whatever just run the server with the p12 file

flint belfry
#

umm

#

im on step 5 of the overflow thing

#

do i stop??

spare quartz
#

do you have a p12 file

flint belfry
#

let me see

spare quartz
#

yaeh you can stop

flint belfry
#

ok

#

how do i run it with the server

spare quartz
#

./sstp -keystore=<keystore file> -keystore_passphrase=<passphrase you used for it>

flint belfry
#

k

#

is it working??

spare quartz
#

is that the entire output

flint belfry
#

yess

#

it just

#

printed those 3

spare quartz
#

well thats not normal

#

restart it

flint belfry
#

uhoh

#

pk

#

smae thing

#

those 3 lines then it stops

spare quartz
#

hm

#

i guess just give it a few moments?

#

or check its status with top?

flint belfry
#

uhhh

#

let me open another ssh session then

#

does any of this look intresting

spare quartz
#

search for java

flint belfry
#

how 💀

#

ive only used htop

#

and top a few times

spare quartz
#

idk just use your eyes and scroll

flint belfry
#

oh

#

java is like

#

in the abyss

#

all the way at the bottom

spare quartz
#

thats weird

#

i think its sleeping

#

can you try specifying like

#

no argumetns

flint belfry
#

its prob gonna give a keystore error but sure

spare quartz
#

try specifying JUST keystore passphrase

spare quartz
#

hm

#

can you send the passphrase in my dms rq

flint belfry
#

hold on

flint belfry
#

ok it worked

#

WOAH

#

WAIT HOLD ON

spare quartz
#

?

flint belfry
#

IS IT UP??

spare quartz
#

oh, try connecting to it with sstpc

#

sudo sstpc --log-level 400 --log-stderr <ADDRESS> --cert-warn noauth noccp noipv6 novj ipcp-max-configure 1 ipcp-restart 1 defaultroute

flint belfry
#

not that easy since i need to reverse ssh it

#

what port is it on

spare quartz
#

443

flint belfry
#

ummmmmmmmmmmmmmmmmmmmmmmmmmm

#

hold on

#

let me kill it and curl 443

#

i want to make sure whatever this printer is doing isnt using 443 already

#

ill reverse ssh it rq and see if i can connect

#

might take a sec

#

tcp correct

spare quartz
#

yes

flint belfry
#

cool

#

ok it should be being advertised by my reverse proxy on my localnet now

#

lets see if it works

#

for address what do i put

#

192.168.10.123:443 or just 192.168.10.123

spare quartz
#

the address of the printer

#

dont include the port

flint belfry
#

ok

#

actually

#

can i specify the port somehow because the port on my localnet is different than 443

spare quartz
#

sure

flint belfry
#

how to

spare quartz
#

idk

#

ty adding a :<number>

flint belfry
#

N0 WHAT IT WAS DOING SO WELL

spare quartz
#

?

flint belfry
spare quartz
#

tell me what the server status i

flint belfry
#

uh

#

fucking dead

#

lol

spare quartz
#

uhhh yeah so

#

your printers local address is kinda

#

fucked up

flint belfry
#

elab

spare quartz
#

it means i need to come up with a better way of getting the ip

#

hold on

flint belfry
#

also idk if this matters but both sides have different ip classes

#

printer has the 10.0.0.0 business class ip

#

my localnet is 192.168.

spare quartz
#

that's not relevant here, since each side negociates a unique ip

#

i just gotta choose an ip you're hopefully not using

#

uhhhhhhmmm

flint belfry
#

fym jar

spare quartz
#

update this file within <sstp folder>/lib/

flint belfry
#

oh

#

ok

spare quartz
#
IPAddressProtocolOption(
                                    inet4(192, 168, secureRandom.nextInt(), secureRandom.nextInt())
                                )
#

this'll cause confusion when referring to the printers self assigned ip rn

#

but it should let it boot

flint belfry
#

ok

#

its up

#

lets try to connect again

#

connected

spare quartz
#

try doing something thru ppp0

flint belfry
#

no error???

spare quartz
#

like pinging google

flint belfry
#

whats the command to specify net adapter on ping again

#

-i?

spare quartz
flint belfry
#

i

#

o

#

k

#

ummm

#

OH

spare quartz
#

check server console

flint belfry
#

oooooh uhh

#

it spits out an error every ping

spare quartz
#

thats not an error

#

thats the ping reply

flint belfry
#

oh

#

its red so i thought

#

💀

#

ok

#

uhhh

#

is -I the same thing for curl

#

i want to see if its the right ip

spare quartz
#

now try pinging something local to the printer but not accessible to you rq

#

i wanna see if that works

flint belfry
#

k

#

ITS DOING IT

spare quartz
#

very nice

#

now i dont know how to set up curl to use a specific interface, but you can set up routing tables

flint belfry
#

uhhh

spare quartz
flint belfry
#

well all i wanted to use for curl was just to curl ifconfig.me

#

to see what my ip was

#

if it returned 108... it was my home ip

#

204 is the schools

#

seeing that i can touch shit on the other network from my side though i think its working

spare quartz
flint belfry
#

uhhh

#

if i set my thing to use ppp0 will it still use eth0 for WAN

#

since if i use exclusively ppp0 i wont have internet

spare quartz
#

depends

flint belfry
#

well i will

spare quartz
#

you can configure which ips correspond to which interface

flint belfry
#

but the sstp thing needs to go through a diff adaptr

flint belfry
#

i have an openwrt vm that i have connected to a physical ethernet port

#

i wonder if i can tell it to use ppp0 as a wan

#

and then i have a rj45 port to the sstbp server

#

actually i think im gonna try that

#

whats the pakcage name of the sstp client again

spare quartz
spare quartz
flint belfry
# spare quartz

im rdped into my vm right now so i hope this dosent kill it

#

uhhh

#

what do i put for 192.168.1.2