InterPhyr.net - Microsoft Internet Explorer
FileEditViewGoFavoritesToolsHelp
Address

Welcome to InterPhyr.net!

This is the official website of the Phyrrian Astral Federation.

InterPhyr provides a common place for member nations to access information, coordinate projects, communicate and cooperate.

Last updated: 199X

Information

InterPhyr is the official information service of the Phyrrian Astral Federation.

This website provides information about the federation and its participating member nations.

NOTICE: This website is currently under construction.

Goals

  • Encourage cooperation between member nations.
  • Coordinate common projects.
  • Maintain diplomatic relations.
  • Promote mutual development.

Member Nations

Nation Status Member Since
Astralyia Republic Member of the Phyrrian Astral Federation. 199X
Zapadiya People's Republic Member of the Phyrrian Astral Federation. 199X
Kingdom of Rendale Member of the Phyrrian Astral Federation. 199X

Astralyia Republic

Member of the Phyrrian Astral Federation.

Political Ideology: Democracy

Economic Ideology: Mixed-Market Economy

Alignment: Socialist Democracy

Zapadiya People's Republic

Member of the Phyrrian Astral Federation.

Political Ideology: Popular Socialism

Economic Ideology: Collectivism

Kingdom of Rendale

Member of the Phyrrian Astral Federation.

Political Ideology: Council-Type Monarchy

Economic Ideology: Peaceful Democracy

Political & Economic Profiles

The following information provides a brief overview of the political and economic systems of Phyrrian Astral Federation member nations.

Contact

For inquiries concerning InterPhyr, please contact the appropriate representative.

InterPhyr Information Service: interphyr@zapadtelecom.net

Electronic mail is available through the InterPhyr network.


InterPhyr.net © 199X–199X  |  Hosted by ZapadTelecom©

Done
Internet
< function resetDialup(){ stopConnectionTimer(); stopAudioOnly(); stopBlocks(); busy=false; finished=false; started=false; connect.classList.remove("pressed"); connect.disabled=false; connect.textContent="Connect"; connect.style.display="inline-block"; retry.style.display="none"; progress.classList.remove("error"); setProgress(0); line1.textContent="Modem ready."; line2.textContent="Ready to connect to InterPhyr.net."; line3.textContent="Click Connect to begin."; } function finishRegistration(nation){ /* * This is the ONLY thing stored between sessions. * * Cookie duration: 1 year. */ document.cookie= "interphyr_registered_nation="+ encodeURIComponent(nation)+ "; max-age=31536000; path=/"; registrationScreen.style.display="none"; registrationErrorScreen.style.display="none"; /* * Continue with the ORIGINAL dial-up. */ screen.style.display="flex"; resetDialup(); } nationRegister.addEventListener("click",function(){ const nation=nationInput.value.trim(); if(!nation){ nationInput.focus(); return; } if(isBlockedNation(nation)){ showBlockedRegion(); return; } finishRegistration(nation); }); nationInput.addEventListener("keydown",function(event){ if(event.key==="Enter"){ event.preventDefault(); nationRegister.click(); } }); /* * Registration cannot be bypassed by closing * the registration window. */ registrationClose.addEventListener("click",function(){ nationInput.focus(); }); /* * The blocked screen also cannot be bypassed * by closing its window. */ registrationErrorClose.addEventListener("click",function(){ showBlockedRegion(); }); const screen=document.getElementById("dialup-screen"); const audio=document.getElementById("dialup-audio"); const errorAudio=document.getElementById("dialup-error-audio"); const welcomeAudio=document.getElementById("dialup-welcome-audio"); const line1=document.getElementById("dialup-line-1"); const line2=document.getElementById("dialup-line-2"); const line3=document.getElementById("dialup-line-3"); const progress=document.getElementById("dialup-progress"); const percent=document.getElementById("dialup-percent"); const blocksContainer=document.querySelector(".dialup-blocks"); const connect=document.getElementById("dialup-connect"); const retry=document.getElementById("dialup-retry"); const webpage=document.querySelector(".webpage"); const statusText=document.getElementById("ie-status-text"); const goButton=document.getElementById("ie-go"); let dialupNumber=""; let assignedIP=""; let busy=false; let finished=false; let started=false; let connectionTimer=null; let connectionStartedAt=0; let shouldFail=false; function generateConnectionDetails(){ const serviceNumber=Math.floor(Math.random()*100) .toString() .padStart(2,"0"); dialupNumber="3615 "+serviceNumber; assignedIP= "10."+ Math.floor(Math.random()*256)+"."+ Math.floor(Math.random()*256)+"."+ (Math.floor(Math.random()*254)+1); } function setProgress(value){ value=Math.max(0,Math.min(100,value)); const segments=progress.querySelectorAll("span"); const filledCount=Math.floor((value/100)*segments.length); segments.forEach(function(segment,index){ segment.classList.toggle("filled",indexERROR 680:

'+ 'The telephone line is currently in use.
'+ 'InterPhyr.net could not establish a connection.'+ ''; progress.classList.add("error"); setProgress(100); percent.textContent="BUSY"; connect.classList.remove("pressed"); connect.disabled=true; connect.textContent="Connect"; connect.style.display="inline-block"; retry.style.display="inline-block"; } function updateConnection(elapsed){ if(!started||busy||finished)return; setProgress((elapsed/29)*100); if(elapsed<2){ line1.textContent="Initializing modem..."; line2.textContent="Modem ready."; line3.textContent="Dialing InterPhyr.net..."; }else if(elapsed<5){ line1.textContent="Dialing InterPhyr.net..."; line2.textContent="ATDT "+dialupNumber; line3.textContent="Waiting for carrier..."; }else if(elapsed<8){ line1.textContent="Dialing InterPhyr.net..."; line2.textContent="RING"; line3.textContent="RING"; }else if(elapsed<11){ line1.textContent="CONNECT 56000"; line2.textContent="Carrier detected."; line3.textContent="V.90 negotiation..."; }else if(elapsed<14){ line1.textContent="CONNECT 56000"; line2.textContent="V.90"; line3.textContent="Negotiating PPP..."; }else if(elapsed<18){ line1.textContent="PPP connection established."; line2.textContent="Authenticating user..."; line3.textContent="Username: INTERPHYR"; }else if(elapsed<21){ line1.textContent="Authentication accepted."; line2.textContent="Verifying account..."; line3.textContent="Access granted."; }else if(elapsed<24){ line1.textContent="Assigning network address..."; line2.textContent="IP address: "+assignedIP; line3.textContent="DNS server: ZapadTelecom"; }else if(elapsed<27){ line1.textContent="Resolving www.interphyr.net..."; line2.textContent="DNS lookup successful."; line3.textContent="Connecting to web server..."; }else{ line1.textContent="HTTP/1.0 connection established."; line2.textContent="GET / HTTP/1.0"; line3.textContent="Loading InterPhyr.net..."; } } function connectionTick(){ if(!started||busy||finished)return; const elapsed=(performance.now()-connectionStartedAt)/1000; /* * One in ten connections fails at 4.3 seconds. */ if(shouldFail&&elapsed>=4.3){ busyLine(); return; } updateConnection(elapsed); if(elapsed>=29){ finishConnection(); } } function startAudio(){ try{ audio.currentTime=0; audio.volume=1; const promise=audio.play(); /* * IMPORTANT: * * The MP3 is completely optional. * If it fails to load, the simulated * connection continues normally. */ if(promise&&typeof promise.catch==="function"){ promise.catch(function(){}); } }catch(e){} } function beginConnection(){ stopConnectionTimer(); stopAudioOnly(); busy=false; finished=false; started=true; generateConnectionDetails(); /* * One in ten attempts receives * the simulated NO CARRIER error. */ shouldFail=Math.floor(Math.random()*10)===0; audio.dataset.shouldFail=shouldFail?"1":"0"; connect.style.display="inline-block"; connect.classList.add("pressed"); connect.disabled=true; connect.textContent="Connecting..."; retry.style.display="none"; progress.classList.remove("error"); setProgress(0); line1.textContent="Initializing modem..."; line2.textContent="Modem ready."; line3.textContent="Dialing InterPhyr.net..."; startBlocks(); /* * Start the simulation immediately. * * It does NOT wait for the external * dial-up MP3 to load or play. */ connectionStartedAt=performance.now(); updateConnection(0); connectionTimer=setInterval(connectionTick,100); /* * Audio is attempted separately. */ startAudio(); } audio.addEventListener("error",function(){ /* * Intentionally empty. * * Audio failure must never stop * the connection simulation. */ }); /* * The MP3 "ended" event is intentionally * not used. The fake connection always * lasts 29 seconds. */ connect.addEventListener("click",function(event){ event.preventDefault(); event.stopPropagation(); if(busy||finished||started)return; beginConnection(); }); retry.addEventListener("click",function(event){ event.preventDefault(); event.stopPropagation(); stopConnectionTimer(); stopAudioOnly(); busy=false; finished=false; started=false; connect.classList.remove("pressed"); connect.disabled=false; connect.textContent="Connect"; connect.style.display="inline-block"; retry.style.display="none"; progress.classList.remove("error"); setProgress(0); line1.textContent="Modem ready."; line2.textContent="Ready to connect to InterPhyr.net."; line3.textContent="Click Connect to begin."; beginConnection(); }); goButton.addEventListener("click",function(event){ event.preventDefault(); event.stopPropagation(); /* * Intentionally does nothing. */ }); document.querySelectorAll("a").forEach(function(link){ link.addEventListener("click",function(){ this.classList.add("clicked"); }); }); /* ========================================================= INITIAL STARTUP ========================================================= */ /* * The registration check happens BEFORE * the dial-up is allowed to appear. * * Only the registered nation is persisted. */ const registeredNation=getRegisteredNation(); screen.style.display="none"; registrationErrorScreen.style.display="none"; if(registeredNation){ if(isBlockedNation(registeredNation)){ showBlockedRegion(); }else{ /* * Existing valid registration: * go directly to the ORIGINAL dial-up. */ screen.style.display="flex"; resetDialup(); } }else{ /* * First visit: * registration is shown BEFORE dial-up. */ screen.style.display="none"; showRegistration(); } });